dirent: Fix compilation error in C++ mode on OS/2 kLIBC.
[gnulib.git] / ChangeLog
blob94a6b5f52c59ee3c365314664892235eb4efe957
1 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
3         dirent: Fix compilation error in C++ mode on OS/2 kLIBC.
4         * lib/dirent.in.h (dirfd): Redefine dirfd macro as a rpl function
5         always.
7 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
9         zerosize-ptr: Fix compilation on OS/2 kLIBC.
10         * tests/zerosize-ptr.h [OS/2 kLIBC]: Don't use mmap().
12 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
14         stddef: Fix compilation for max_align_t on OS/2 kLIBC.
15         * lib/stddef.in.h [OS/2 kLIBC]: Include <cstddef> in C++ mode.
17 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
19         yield: Implement for OS/2 kLIBC.
20         * modules/yield (Depends-on): Add sched_yield.
22         sched_yield: Implement for OS/2 kLIBC.
23         * lib/sched_yield.c (sched_yield) [OS/2 kLIBC]: New implementation.
25 2021-01-19  KO Myung-Hun  <komh78@gmail.com>
27         spawn: Use special invocation for <spawn.h> on OS/2 kLIBC.
28         * lib/spawn.in.h: Use special invocation to include <spawn.h> properly
29         on OS/2 kLIBC.
31 2021-01-18  Bruno Haible  <bruno@clisp.org>
33         noreturn tests: Avoid test failure on Solaris 10/x86 with cc.
34         * tests/test-noreturn.c (main): Return 0.
36 2021-01-18  Bruno Haible  <bruno@clisp.org>
38         uninorm tests: Fix compilation error on Cygwin.
39         * tests/uninorm/test-nfc.c (n): Don't define when using a preinstalled
40         libunistring on Windows.
41         * tests/uninorm/test-nfd.c (n): Likewise.
42         * tests/uninorm/test-nfkc.c (n): Likewise.
43         * tests/uninorm/test-nfkd.c (n): Likewise.
45 2021-01-17  Bruno Haible  <bruno@clisp.org>
47         immutable: Implement on native Windows.
48         * lib/immutable.h (IMMUTABLE_EFFECTIVE): Set to 1 on native Windows.
49         * lib/immutable.c: Include <windows.h>.
50         (CreateFileMapping): New macro.
51         (init_pagesize, init_mmap_file, alloc_pages, free_pages): Add
52         implementation for native Windows.
54 2021-01-17  Bruno Haible  <bruno@clisp.org>
56         canonicalize-lgpl tests: Fix link error.
57         * modules/canonicalize-lgpl-tests (Makefile.am): Link
58         test-canonicalize-lgpl with $(LIBINTL).
60 2021-01-17  Bruno Haible  <bruno@clisp.org>
62         canonicalize-lgpl: Work around // handling in realpath() of musl 1.2.2.
63         Reported by Natanael Copa <ncopa@alpinelinux.org> in
64         <https://lists.gnu.org/archive/html/bug-gettext/2021-01/msg00021.html>.
65         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add a test whether // is
66         the same as /, on Linux only.
67         * lib/canonicalize-lgpl.c: Correct indentation of preprocessor
68         directives.
69         * doc/posix-functions/realpath.texi: Mention the musl 1.2.2 bug.
71 2021-01-17  Bruno Haible  <bruno@clisp.org>
73         canonicalize[-lgpl] tests: Add more tests.
74         * tests/test-canonicalize.c (main): Add detailed tests for // handling.
75         * tests/test-canonicalize-lgpl.c (main): Likewise.
77 2021-01-17  Bruno Haible  <bruno@clisp.org>
79         argp tests: Avoid test failures on Alpine Linux.
80         * tests/test-argp-2.sh: Use the test framework (init.sh). Use the
81         'compare' function instead of 'diff -c'.
82         * tests/test-argp-version-etc-1.sh: Likewise.
84 2021-01-17  Bruno Haible  <bruno@clisp.org>
86         get-rusage-data tests: Avoid test failure on musl libc.
87         * modules/get-rusage-data-tests (Files): Add m4/musl.m4.
88         (configure.ac): Invoke gl_MUSL_LIBC.
89         * tests/test-get-rusage-data.c (main): Treat musl libc like glibc.
91 2021-01-17  Bruno Haible  <bruno@clisp.org>
93         immutable, get-rusage-data: Fix autoconf warning.
94         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Define through AC_DEFUN_ONCE.
96 2021-01-16  Bruno Haible  <bruno@clisp.org>
98         vma-iter: Port to 64-bit Haiku.
99         * lib/vma-iter.c (vma_iterate): Adapt to changed signature of
100         get_next_area_info.
102 2021-01-15  Bruno Haible  <bruno@clisp.org>
104         doc: Update doc about realpath.
105         * doc/posix-functions/realpath.texi: Update info about macOS.
107 2021-01-13  Paul Eggert  <eggert@cs.ucla.edu>
109         verify: simplify static_assert configuration
110         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1):
111         Do not define for C++.  This should be good enough nowadays,
112         since recent-enough C++ compilers have static_assert.
113         (_GL_HAVE_STATIC_ASSERT_CXX11, _GL_HAVE_STATIC_ASSERT_CXX17):
114         Remove.  All uses replaced by simply checking __cpp_static_assert.
116 2021-01-13  Simon Josefsson  <simon@josefsson.org>
118         lib-msvc-compat: Update libtool usage recommendation.
119         * doc/ld-output-def.texi (Visual Studio Compatibility): Install
120         .def files into libdir, not bindir.  Have libfoo-*.def file depend
121         on libfoo.la to fix parallell builds.
123 2021-01-12  Bruno Haible  <bruno@clisp.org>
125         verify: Use C++11 static_assert when available.
126         Reported by Alexandre Duret-Lutz <adl@lrde.epita.fr> in
127         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00177.html>.
128         * lib/verify.h (_GL_HAVE_STATIC_ASSERT_CXX11): New macro.
129         (_GL_HAVE_STATIC_ASSERT_CXX17): Renamed from _GL_HAVE_STATIC_ASSERT1.
130         (_GL_VERIFY): Use static_assert when available with C++11 syntax.
132 2021-01-11  Paul Eggert  <eggert@cs.ucla.edu>
134         tempname: consume less entropy
135         Derived from a glibc patch proposed by Adhemerval Zanella in:
136         https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
137         * lib/tempname.c: Include stdbool.h.
138         (random_bits): New arg use_getrandom.
139         (try_tempname_len): Skip getrandom on the first try,
140         unless __GT_NOCREATE.
141         * modules/tempname (Depends-on): Add stdbool.
143 2021-01-10  Bruno Haible  <bruno@clisp.org>
145         lchmod-tests: Fix link error.
146         * modules/lchmod-tests (Makefile.am): Don't assume that LIBINTL is set.
148 2021-01-10  Simon Josefsson  <simon@josefsson.org>
150         Correct preceeding change.
151         * top/gitsub.sh: Update link.
153 2021-01-09  Bruno Haible  <bruno@clisp.org>
155         immutable: Add tests.
156         * tests/test-immutable.sh: New file.
157         * tests/test-immutable.c: New file.
158         * modules/immutable-tests: New file.
160         immutable: New module.
161         * lib/immutable.h: New file.
162         * lib/immutable.c: New file.
163         * m4/immutable.m4: New file.
164         * m4/mprotect.m4: New file, based on libffcall/m4/codeexec.m4.
165         * modules/immutable: New file.
167 2021-01-10  Simon Josefsson  <simon@josefsson.org>
169         Use https:// instead of git://.
170         * build-aux/bootstrap (default_gnulib_url): Ditto.
171         * config/srclistvars.sh: Ditto.
172         * doc/gnulib-readme.texi (Git Checkout): Ditto.
173         * doc/gnulib-tool.texi (VCS Issues): Ditto.
174         * top/gitsub.sh: Update link.
176 2021-01-09  Paul Eggert  <eggert@cs.ucla.edu>
178         snippet/_Noreturn: port to pedantic clang
179         Problem reported by Joe Nelson in:
180         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00152.html
181         * doc/noreturn.texi: Improve.
182         * lib/_Noreturn.h (_Noreturn):
183         * m4/gnulib-common.m4 (gl_COMMON_BODY):
184         Do not assume _Noreturn works as-is when __STRICT_ANSI__ is
185         defined, unless __STDC_VERSION__ indicates C11 or later.
186         * lib/_Noreturn.h (_Noreturn): Fall back on __attribute__
187         ((__noreturn__)) if Clang; this merges the
188         2020-08-10T23:53:13Zbruno@clisp.org patch to m4/gnulib-common.m4.
190 2021-01-09  Darshit Shah  <darnir@gnu.org>
192         Allow setting CVS username for gnu-web-doc-update.
193         * build-aux/gnu-web-doc-update: Introduce new option --user to set the
194         name of the user on Savannah, when it doesn't match $USER.
196 2021-01-09  Bruno Haible  <bruno@clisp.org>
198         exp* tests: Work around clang 6.0.1 optimization bugs on x86.
199         * tests/test-exp-ieee.h (test_function): Mark some variable as
200         'volatile'.
201         * tests/test-exp2-ieee.h (test_function): Likewise.
203 2021-01-09  Bruno Haible  <bruno@clisp.org>
205         fchmodat: Work around trailing slash bug in fchmodat() on AIX 7.2.
206         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): In the test whether fchmodat works,
207         also test for the trailing slashes behaviour. Define
208         HAVE_NEARLY_WORKING_FCHMODAT if this is the only missing feature.
209         * lib/fchmodat.c (fchmodat): If HAVE_NEARLY_WORKING_FCHMODAT, handle
210         trailing slashes here.
211         * modules/fchmodat (Depends-on): Sort by condition, not alphabetically.
212         * doc/posix-functions/fchmodat.texi: Document the AIX bug.
214 2021-01-09  Bruno Haible  <bruno@clisp.org>
216         fchmod-tests, fchmodat tests, lchmod tests: Add more tests.
217         * tests/test-fchmod.c: Include <fcntl.h>.
218         (BASE): New macro.
219         (main): Add more tests.
220         * tests/test-fchmodat.c (main): Add more tests.
221         * tests/test-lchmod.c (main): Likewise.
223 2021-01-09  Bruno Haible  <bruno@clisp.org>
225         utimensat: Fix typo in last commit.
226         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Fix typo in macro explanation.
228 2021-01-09  Bruno Haible  <bruno@clisp.org>
230         truncate: Document last workaround.
231         * doc/posix-functions/truncate.texi: Document the AIX bug.
233 2021-01-08  Paul Eggert  <eggert@cs.ucla.edu>
235         dynarray: work even if ‘free’ is replaced
236         Problem reported by Darshit Shah in:
237         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00140.html
238         * lib/malloc/dynarray-skeleton.c (DYNARRAY_FREE): New macro.
239         Use it everywhere instead of DYNARRAY_NAME (free).
241         tempname: don’t block for minutes
242         Derived from a patch proposed by Adhemerval Zanella in:
243         https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
244         * lib/tempname.c (random_bits): Use GRND_NONBLOCK.
246         tempname: sync with proposed glibc patch
247         This is from Adhemerval Zanella in:
248         https://sourceware.org/pipermail/libc-alpha/2021-January/121301.html
249         * lib/tempname.c (__lxstat64): Remove.
250         (__lstat64, __stat64): New replacement macros.  All uses changed.
252         regex: stop using alloca
253         * lib/regex_internal.h: Do not include <alloca.h> or define
254         __libc_use_alloca or alloca.  Patch written by Adhemerval Zanella:
255         https://sourceware.org/pipermail/libc-alpha/2021-January/121374.html
256         * modules/regex (Depends-on): Remove alloca-opt.
258         regexec: remove alloca usage in build_trtable
259         Prompted by this different change proposed by Adhemerval Zanella:
260         https://sourceware.org/pipermail/libc-alpha/2021-January/121373.html
261         * lib/regexec.c (build_trtable): Prevent inlining,
262         so that it doesn’t bloat the caller’s stack.
263         Use auto variables instead of alloca/malloc.
264         After these changes, build_trtable’s total stack allocation is
265         only 20 KiB on a 64-bit machine, and this is less than glibc’s 64
266         KiB cutoff so there’s little point to using alloca to shrink it.
267         Although Gnulib traditionally has used a 4 KiB cutoff, going to 20
268         KiB here should not be a significant problem in practice;
269         Gnulib-using packages concerned about overflow of tiny stacks can
270         compile with something like gcc -fstack-clash-protection.
272         scratch_buffer: add scratch_buffer_dupfree macro
273         * lib/scratch_buffer.h (__libc_scratch_buffer_dupfree):
274         New macro, needed to support recent changes in this module.
276         regex: remove alloca usage on regex set_regs
277         Derived from this patch by Adhemerval Zanella:
278         https://sourceware.org/pipermail/libc-alpha/2021-January/121372.html
279         * lib/regex_internal.h: Include dynarray.h, for Gnulib.
280         * lib/regexec.c (DYNARRAY_STRUCT, DYNARRAY_ELEMENT)
281         (DYNARRAY_PREFIX): New macros.
282         Include malloc/dynarray-skeleton.c.
283         (set_regs): Use dynarray rather than alloca.
284         * modules/regex (Depends-on): Add dynarray.
286         dynarray: new module
287         * config/srclist.txt: Mention the new files.
288         * lib/cdefs.h (__attribute_maybe_unused__): New macro,
289         like Gnulib’s _GL_ATTRIBUTE_MAYBE_UNUSED but with glibc
290         naming conventions.
291         * lib/libc-config.h: Use it instead of __glibc_likely.
292         * lib/dynarray.h, modules/dynarray: New files.
293         * lib/malloc/dynarray-skeleton.c, lib/malloc/dynarray.h:
294         * lib/malloc/dynarray_at_failure.c:
295         * lib/malloc/dynarray_emplace_enlarge.c:
296         * lib/malloc/dynarray_finalize.c, lib/malloc/dynarray_resize.c:
297         * lib/malloc/dynarray_resize_clear.c, modules/dynarray:
298         New files, from glibc with the following changes needed for
299         portability to compilers that are not recent-enough GCC.
300         * lib/malloc/dynarray_at_failure.c: Include stdlib.h, for abort.
301         (__libc_dynarray_at_failure) [!_LIBC]: Simply abort.
302         * lib/malloc/dynarray_emplace_enlarge.c:
303         * lib/malloc/dynarray_resize.c:
304         Include intprops.h, and use INT_MULTIPLY_WRAPV instead
305         of __builtin_mul_overflow.
306         * lib/malloc/dynarray.h (__libc_dynarray_at_failure):
307         Use _Noreturn instead of __attribute__ ((noreturn)).
308         * lib/malloc/dynarray_resize_clear.c: Do not include stdlib.h;
309         it’s not needed.
310         (__libc_dynarray_resize_clear): Do not do arithmetic on void *.
311         * lib/malloc/dynarray-skeleton.c (struct DYNARRAY_STRUCT):
312         Do not use anonymous unions, as they are not in C99. All uses changed.
313         Use __nonnull (X) instead of __attribute__ ((nonnull X)),
314         and __attribute_maybe_unused__ instead of __attribute__ ((unused)).
316 2021-01-06  Simon Josefsson  <simon@josefsson.org>
318         bootstrap: Fix parsing of package name.
319         * build-aux/bootstrap (package): Attempt to use autoconf --trace
320         to parse AC_INIT before falling back to sed expression.
322 2021-01-07  Bruno Haible  <bruno@clisp.org>
324         localename: Fix link error with duplocale on AIX 7.2 (regr. 2019-12-18).
325         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
326         LOCALENAME_ENHANCE_LOCALE_FUNCS.
327         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE):
328         Set gt_working_uselocale.
329         (gt_INTL_THREAD_LOCALE_NAME): Set gt_fake_locales, gt_good_uselocale,
330         gt_localename_enhances_locale_funcs, LOCALENAME_ENHANCE_LOCALE_FUNCS.
331         Define HAVE_GOOD_USELOCALE, LOCALENAME_ENHANCE_LOCALE_FUNCS.
332         * m4/localename.m4 (gl_LOCALENAME): Test
333         gt_localename_enhances_locale_funcs instead of gt_nameless_locales.
334         * modules/locale (Makefile.am): Substitute
335         LOCALENAME_ENHANCE_LOCALE_FUNCS.
336         * lib/locale.in.h (newlocale, duplocale, freelocale): Don't override if
337         module 'localename' is in use but LOCALENAME_ENHANCE_LOCALE_FUNCS is 0.
338         * lib/localename.c (HAVE_GOOD_USELOCALE): Don't define here.
339         (get_locale_t_name, newlocale, duplocale, freelocale): Define if
340         LOCALENAME_ENHANCE_LOCALE_FUNCS.
342 2021-01-06  Bruno Haible  <bruno@clisp.org>
344         logb: Fix test failure on glibc/powerpc.
345         * doc/posix-functions/logb.texi: Update platform info.
346         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Test against bug with negative
347         subnormal numbers.
349 2021-01-06  Paul Eggert  <eggert@cs.ucla.edu>
351         libc-config: simplify clang __has_* macros
352         cdefs.h sometimes used names like __glibc_clang_has_attribute and
353         sometimes __glibc_has_attribute.  There is no need in glibc or
354         Gnulib to distinguish clang from other compilers here, so be
355         consistent and use the simpler names.
356         * lib/cdefs.h (__glibc_has_builtin, __glibc_has_extension):
357         Rename from __glibc_clang_has_builtin, __glibc_clang_has_extension.
358         All uses changed.
359         (__glibc_clang_has_attribute): Remove. All uses replaced
360         by __glibc_has_attribute.
361         * lib/libc-config.h [!__glibc_likely]: Undef them here too.
362         This fixes a problem where __glibc_has_attribute was not undeffed.
364 2021-01-06  Bruno Haible  <bruno@clisp.org>
366         flock: Update documentation.
367         * doc/glibc-functions/flock.texi: Document what to expect on AIX and
368         Solaris.
370 2021-01-06  Bruno Haible  <bruno@clisp.org>
372         ilogbl: Fix compilation error with xlclang on AIX 7.2.
373         * lib/math.in.h (ilogbl): Undefine macro before declaration.
375 2021-01-06  Bruno Haible  <bruno@clisp.org>
377         ilogbl: Fix test failures on AIX 7.1 in 64-bit mode.
378         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test also some denormalized
379         argument.
380         * doc/posix-functions/ilogbl.texi: Mention the AIX bug.
382 2021-01-06  Bruno Haible  <bruno@clisp.org>
384         ilogb: Fix test failures on AIX 7.1 in 64-bit mode.
385         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Test also some denormalized
386         argument.
387         * doc/posix-functions/ilogb.texi: Mention the AIX bug.
389 2021-01-05  Bruno Haible  <bruno@clisp.org>
391         fclose: Fix test failure on AIX 7.2.
392         * m4/fclose.m4 (gl_FUNC_FCLOSE_STDIN): New macro.
393         (gl_FUNC_FCLOSE): Invoke it. Set REPLACE_FCLOSE accordingly.
394         * doc/posix-functions/fclose.texi: Update platform information.
395         * doc/posix-functions/fflush.texi: Likewise.
397 2021-01-05  Bruno Haible  <bruno@clisp.org>
399         pipe-filter-gi: Fix test failure on AIX 7.2.
400         * lib/pipe-filter-aux.h (SSIZE_MAX) [AIX]: Set to 4096.
402 2021-01-05  Bruno Haible  <bruno@clisp.org>
404         utimens, utimensat, fdutimensat: Avoid test failures on AIX 7.2.
405         * lib/utimecmp.c (utimecmpat): On AIX, declare equality when the two
406         times differ by less than 0.01 seconds.
407         * tests/test-futimens.h (test_futimens): Pass UTIMECMP_TRUNCATE_SOURCE
408         flag.
410 2021-01-05  Bruno Haible  <bruno@clisp.org>
412         utimensat: Work around trailing slash bug in utimensat() on AIX 7.2.
413         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Require AC_CANONICAL_HOST. Add a
414         test for trailing slash handling. Improve cross-compilation guesses.
415         Conditionally define HAVE_NEARLY_WORKING_UTIMENSAT.
416         * lib/utimensat.c (rpl_utimensat): Add alternative implementation when
417         HAVE_NEARLY_WORKING_UTIMENSAT is defined.
418         * lib/utimens.c: Use the overridden utimensat when
419         HAVE_NEARLY_WORKING_UTIMENSAT is defined.
420         * doc/posix-functions/utimensat.texi: Mention the AIX bug.
422 2021-01-05  Bruno Haible  <bruno@clisp.org>
424         ptsname_r, ptsname: Avoid test failures on AIX 7.2.
425         * tests/test-ptsname_r.c (main): On AIX, set a 20-seconds timer.
426         * tests/test-ptsname.c (main): Likewise. On AIX, open a pty through
427         /dev/ptc and don't test the BSD ptys.
429 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
431         libc-config: merge from glibc
432         Use a better way of keeping glibc <sys/cdefs.h> and gnulib
433         lib/cdefs.h mostly in sync, by using lib/cdefs.h only on platforms
434         where <sys/cdefs.h> does not work well enough for Gnulib.
435         * lib/cdefs.h: Go back to using _SYS_CDEFS_H rather than
436         _GL_DEFS_H as an include guard.
437         (__THROW, __THROWNL, __NTH, __NTHNL):
438         Define to noexcept for C++11 and later.
439         (__glibc_objsize, __glibc_objsize0): New, for _FORTIFY_SOURCE=3.
440         (__warndecl): Remove.
441         (__attribute_copy__): New macro, for GCC 9 support.
442         (__LDBL_REDIR, __LDBL_REDIR_DECL, __LDBL_REDIR1)
443         (__LDBL_REDIR1_DECL, __LDBL_REDIR1_NTH, __REDIRECT_NTH_LDBL)
444         (__REDIRECT_LDBL, __LDBL_REDIR_NTH):
445         Redirections for IEEE long double on powerpc64le.
446         (__LDBL_REDIR2_DECL): New macro.
447         (__attr_access): New macro, for GCC 10 bounds checking.
448         (__attribute_returns_twice__): New macro, for setjmp etc.
449         * lib/libc-config.h: Include <cdefs.h> only if __glibc_likely is
450         undefined.  The following changes apply only if __glibc_likely
451         is not defined.
452         (__LDBL_REDIR2_DECL, __attr_access, __attribute_returns_twice__)
453         (__glibc_clang_has_attribute, __glibc_clang_has_extension)
454         (__glibc_objsize, __glibc_objsize0):
455         Undef these new (or newer) <cdefs.h> macros.
456         (__P, __PMT, __always_inline): Do not undef, since cdefs.h does that.
457         (__glibc_likely): Do not undef, since this is inside
458         ifndef __glibc_likely.
459         (__warndecl): Do not undef; no longer defined.
461 2021-01-05  Jim Meyering  <meyering@fb.com>
463         maintainer-makefile: correct preceding change
464         * top/maint.mk (syntax-check-rules): Use LC_ALL=C, not LANG=C.
466 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
468         maint: note syncs to glibc
469         * config/srclist.txt: filename.h, idx.h, scratch_buffer.h and
470         scratch_buffer_dupfree.c are now identical to glibc.  Add
471         commentary about some other syncs we’d like.
472         * modules/filename, modules/idx (Maintainer): Add glibc.
474 2021-01-05  Bruno Haible  <bruno@clisp.org>
476         truncate: Work around trailing slash bug in truncate() on AIX 7.2.
477         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Add a test whether truncate
478         rejects trailing slashes. Set REPLACE_TRUNCATE and define
479         TRUNCATE_TRAILING_SLASH_BUG if not.
480         * lib/truncate.c (orig_truncate): New function.
481         (truncate): Add alternative implementation when
482         TRUNCATE_TRAILING_SLASH_BUG is defined.
483         * modules/truncate (Depends-on): Add sys_stat, stat.
485 2021-01-05  Bruno Haible  <bruno@clisp.org>
487         mkfifoat: Fix cross-compilation guess (regression from 2021-01-04).
488         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Fix copy-and-paste mistake.
490 2021-01-05  Bruno Haible  <bruno@clisp.org>
492         ffsll: Override completely broken implementation on AIX in 32-bit mode.
493         * m4/ffsll.m4 (gl_FUNC_FFSLL): Test whether ffsll minimally works. If
494         not, set REPLACE_FFSLL.
495         * lib/string.in.h (ffsll): Consider REPLACE_FFSLL.
496         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
497         REPLACE_FFSLL.
498         * modules/string (Makefile.am): Substitute REPLACE_FFSLL.
499         * modules/ffsll (Depends-on, configure.ac): Consider REPLACE_FFSLL.
500         * doc/glibc-functions/ffsll.texi: Mention the AIX 7.2 bug.
502 2021-01-04  Bruno Haible  <bruno@clisp.org>
504         symlinkat: Fix trailing slash handling.
505         * lib/symlinkat.c (rpl_symlinkat): Don't follow symlinks during the
506         trailing slash handling.
507         * modules/symlinkat (Depends-on): Update conditions.
509 2021-01-04  Bruno Haible  <bruno@clisp.org>
511         mkfifoat: Update module description.
512         * modules/mkfifoat (Depends-on): Update conditions after last commits.
514 2021-01-04  Bruno Haible  <bruno@clisp.org>
516         link: Improve trailing slash handling on native Windows.
517         * lib/link.c (link): If stat() fails, provide a better errno.
519 2021-01-04  Bruno Haible  <bruno@clisp.org>
521         mkfifoat: Work around trailing slash bug in mknodat() on AIX 7.2.
522         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Set also REPLACE_MKNODAT.
523         * lib/sys_stat.in.h (mknodat): Consider REPLACE_MKNODAT.
524         * lib/mknodat.c: Add an overriding implementation of mknodat().
525         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_MKNODAT.
526         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKNODAT.
527         * modules/mkfifoat (Depends-on, configure.ac): Consider REPLACE_MKNODAT.
528         * doc/posix-functions/mknodat.texi: Mention the AIX bug.
530         mkfifoat: Work around trailing slash bug in mkfifoat() on AIX 7.2.
531         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Add a test whether mkfifoat rejects
532         trailing slashes. Set REPLACE_MKFIFOAT if not.
533         * lib/sys_stat.in.h (mkfifoat): Consider REPLACE_MKFIFOAT.
534         * lib/mkfifoat.c: Add an overriding implementation of mkfifoat().
535         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
536         REPLACE_MKFIFOAT.
537         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKFIFOAT.
538         * modules/mkfifoat (Depends-on): Add fstatat.
539         (configure.ac): Consider REPLACE_MKFIFOAT.
540         * doc/posix-functions/mkfifoat.texi: Mention the AIX bug.
542 2021-01-04  Bruno Haible  <bruno@clisp.org>
544         libc-config: Avoid overriding the headers from an installed newer glibc.
545         Reported by Paul E Murphy <murphyp@linux.ibm.com> in
546         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00106.html>.
547         * lib/cdefs.h: Use a different include guard than glibc's <sys/cdefs.h>.
548         * lib/libc-config.h: Update accordingly.
550 2021-01-04  Simon Josefsson  <simon@josefsson.org>
552         maintainer-makefile: Invoke syntax-checks regardless of locale.
553         * top/maint.mk (syntax-check-rules): Invoke sed with LANG=C
554         environment because [a-z] may not include 'w' in all locales.
556 2021-01-04  Bruno Haible  <bruno@clisp.org>
558         nstrftime, time_rz: Avoid using an obsolete Autoconf macro.
559         Reported by Mike Gran <spk121@yahoo.com> in
560         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00067.html>.
561         * lib/time-internal.h: Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
562         * lib/time_rz.c: Likewise.
563         * lib/nstrftime.c: Set and test HAVE_STRUCT_TM_TM_ZONE, not
564         HAVE_TM_ZONE.
565         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Update comments.
567 2021-01-04  Bruno Haible  <bruno@clisp.org>
569         expm1f-ieee: Work around AIX 7.2 bug.
570         * m4/expm1f.m4 (gl_FUNC_EXPM1F): Initialize gl_expm1f_required. If
571         module 'expm1f-ieee' is in use, check whether expm1f works according to
572         IEEE.
573         * m4/expm1f-ieee.m4: New file.
574         * modules/expm1f-ieee (Files): Add it.
575         (Depends-on): Update conditions.
576         (configure.ac): Invoke gl_FUNC_EXPM1F_IEEE.
577         * doc/posix-functions/expm1f.texi: Mention the AIX bug.
579 2021-01-04  Bruno Haible  <bruno@clisp.org>
581         ffsl, ffsll: Work around AIX 7.2 problem.
582         * lib/string.in.h: On AIX, include <strings.h> for the declarations of
583         ffsl and ffsll.
584         * doc/glibc-functions/ffsl.texi: Document the AIX 7.2 problem.
585         * doc/glibc-functions/ffsll.texi: Likewise.
587 2021-01-04  Bruno Haible  <bruno@clisp.org>
589         ssfmalloc: Fix includes.
590         * lib/ssfmalloc.h: Include <strings.h>, for ffs().
591         * tests/test-ssfmalloc.c: Include <string.h>, for memset().
593 2021-01-03  Bruno Haible  <bruno@clisp.org>
595         quotearg tests: Avoid test failures on Solaris 11.3.
596         * tests/test-quotearg.sh: Copy the fr/ directory using 'cp -R', not
597         'cp -a'.
599 2021-01-03  Bruno Haible  <bruno@clisp.org>
601         tests: Fix link errors on Solaris, when libunistring-optional is in use.
602         * modules/wcwidth (Link): New section.
603         * modules/wcswidth (Link): New section.
604         * modules/mbchar (Link): New section.
605         * modules/mbfile (Link): Link against libunistring.
606         * modules/mbiter (Link): Likewise.
607         * modules/mbuiter (Link): Likewise.
608         * modules/mbmemcasecmp (Link): Likewise.
609         * modules/mbscasecmp (Link): Likewise.
610         * modules/mbscasestr (Link): Likewise.
611         * modules/mbschr (Link): Likewise.
612         * modules/mbscspn (Link): Likewise.
613         * modules/mbslen (Link): Likewise.
614         * modules/mbsncasecmp (Link): Likewise.
615         * modules/mbsnlen (Link): Likewise.
616         * modules/mbspbrk (Link): Likewise.
617         * modules/mbspcasecmp (Link): Likewise.
618         * modules/mbsrchr (Link): Likewise.
619         * modules/mbssep (Link): Likewise.
620         * modules/mbsspn (Link): Likewise.
621         * modules/mbsstr (Link): Likewise.
622         * modules/mbstok_r (Link): Likewise.
623         * modules/mbswidth (Link): Likewise.
624         * modules/exclude (Link): Likewise.
625         * modules/propername (Link): Likewise.
626         * modules/regex-quote (Link): Likewise.
627         * modules/trim (Link): Likewise.
628         * modules/mbmemcasecmp-tests (Makefile.am): Link the test program
629         against libunistring.
630         * modules/mbscasecmp-tests (Makefile.am): Likewise.
631         * modules/mbscasestr-tests (Makefile.am): Likewise.
632         * modules/mbschr-tests (Makefile.am): Likewise.
633         * modules/mbscspn-tests (Makefile.am): Likewise.
634         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
635         * modules/mbspbrk-tests (Makefile.am): Likewise.
636         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
637         * modules/mbsrchr-tests (Makefile.am): Likewise.
638         * modules/mbsspn-tests (Makefile.am): Likewise.
639         * modules/mbsstr-tests (Makefile.am): Likewise.
640         * modules/exclude-tests (Makefile.am): Likewise.
641         * modules/regex-quote-tests (Makefile.am): Likewise.
643 2021-01-03  Bruno Haible  <bruno@clisp.org>
645         c32ispunct tests: Avoid test failures on FreeBSD.
646         * tests/test-c32ispunct.c (main): On FreeBSD, disable tests that fail on
647         FreeBSD 12.1.1.
649 2021-01-04  Simon Josefsson  <simon@josefsson.org>
651         doc: Repeat warning that --with-tests cannot be used twice.
652         * doc/gnulib-tool.texi (Multiple instances): Remind reader of
653         --with-tests limitation.
655 2021-01-03  Bruno Haible  <bruno@clisp.org>
657         iconv, iconv_open: Improve documentation.
658         Reported by Noah Misch <noah@leadboat.com> in
659         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00172.html>.
660         * doc/posix-functions/iconv_open.texi: Add new paragraph "Portability
661         problems handled by Gnulib".
662         * doc/posix-functions/iconv.texi: Likewise. Update info about AIX.
663         * m4/iconv.m4 (AM_ICONV_LINK): Improve comments.
665 2021-01-03  Bruno Haible  <bruno@clisp.org>
667         iconv-h: Fix module description.
668         * modules/iconv-h (Include): Check HAVE_ICONV_H.
670 2021-01-03  Noah Misch  <noah@leadboat.com>
672         iconv_open: Fix module description.
673         * modules/iconv_open (Include): Check HAVE_ICONV, like modules/iconv.
675 2021-01-03  Bruno Haible  <bruno@clisp.org>
677         stddef: Override wrong max_align_t on AIX 7 with xlc in 64-bit mode.
678         * m4/stddef_h.m4 (gl_STDDEF_H): Make check for good max_align_t
679         stricter: Add tests for offsetof-based alignof.
680         * lib/stddef.in.h (max_align_t): Override on AIX in 64-bit mode.
681         * doc/posix-headers/stddef.texi: Document the AIX max_align_t bug.
683 2021-01-03  Bruno Haible  <bruno@clisp.org>
685         free-posix: Work around GCC mis-optimization bug.
686         Code by Bernhard Voelker <mail@bernhard-voelker.de>.
687         * lib/free.c (rpl_free): Add alternative complicated code for GCC.
689 2021-01-02  Bruno Haible  <bruno@clisp.org>
691         valgrind-tests: Disable valgrind if it would cause all tests to fail.
692         Suggested by Simon Josefsson <simon@josefsson.org> in
693         <https://lists.gnu.org/archive/html/help-gsasl/2021-01/msg00004.html>.
694         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Test $VALGRIND on an
695         executable produced by the current compiler. Set VALGRIND to empty if it
696         does not work. Don't set VALGRIND to empty if it merely does not accept
697         the --error-exitcode=1 --leak-check=full options.
699 2021-01-02  Bruno Haible  <bruno@clisp.org>
701         valgrind-tests: Really enable the valgrind options test.
702         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Don't assume that the
703         valgrind options --error-exitcode=1 --leak-check=full always work.
705 2021-01-02  Bruno Haible  <bruno@clisp.org>
707         utimensat: Fix test failures on macOS 10.13.
708         * lib/utimensat.c: Include <string.h>, <sys/stat.h>.
709         (rpl_utimensat): Check against invalid tv_nsec values. Before calling
710         utimensat, recognize a filename ending in a slash that does not point
711         to a directory.
713 2021-01-02  Bruno Haible  <bruno@clisp.org>
715         utimens: Fix test failure on macOS 10.13.
716         * lib/utimens.c: Include <string.h>.
718         utimens: Fix test failure on macOS 10.13.
719         * lib/utimens.c (fdutimens): Before calling utimensat, recognize a
720         filename ending in a slash that does not point to a directory.
722 2021-01-02  Bruno Haible  <bruno@clisp.org>
724         utimens: Avoid test failures on macOS 10.13.
725         Reported by Martin Storsjö <martin@martin.st> in
726         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
727         * tests/test-utimens-common.h (check_ctime): Define to -1 on macOS.
728         * tests/test-utimens.h (test_utimens): Don't expect a ctime change when
729         only the atime is requested to change.
730         * tests/test-futimens.h (test_futimens): Likewise.
731         * tests/test-lutimens.h (test_lutimens): Likewise.
733 2021-01-02  Bruno Haible  <bruno@clisp.org>
735         renameatu: Fix test failures on macOS.
736         Reported by Martin Storsjö <martin@martin.st> in
737         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
738         * lib/renameatu.c (renameatu): Don't call renameatx_np right away.
739         Instead, treat it as a variant of renameat, with all possible bugs that
740         renameat might have.
742 2021-01-02  Bruno Haible  <bruno@clisp.org>
744         getgroups test: Avoid warning with glibc >= 2.32 and gcc >= 10.
745         Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
746         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>.
747         * tests/test-getgroups.c: Silence gcc warnings of type
748         -Wstringop-overflow.
750 2021-01-02  Bruno Haible  <bruno@clisp.org>
752         timespec_get: Add tests.
753         * tests/test-timespec_get.c: New file.
754         * modules/timespec_get-tests: New file.
756         timespec_get: New module.
757         * lib/time.in.h (timespec_get): New declaration.
758         * lib/timespec_get.c: New file.
759         * m4/timespec_get.m4: New file.
760         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
761         GNULIB_TIMESPEC_GET, HAVE_TIMESPEC_GET.
762         * modules/time (Makefile.am): Substitute GNULIB_TIMESPEC_GET,
763         HAVE_TIMESPEC_GET.
764         * modules/timespec_get: New file.
765         * tests/test-time-c++.cc (timespec_get): Check signature.
766         * doc/glibc-functions/timespec_get.texi: Mention the new module.
768 2021-01-01  Bruno Haible  <bruno@clisp.org>
770         time: Define TIME_UTC.
771         * lib/time.in.h (TIME_UTC, GNULIB_defined_TIME_UTC): New macros.
772         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Set TIME_H_DEFINES_TIME_UTC.
773         * modules/time (Makefile.am): Substitute TIME_H_DEFINES_TIME_UTC.
774         * tests/test-time.c: Check that TIME_UTC is defined and a positive
775         integer.
776         * doc/posix-headers/time.texi: Mention TIME_UTC.
778 2021-01-01  Bruno Haible  <bruno@clisp.org>
780         stddef: Try harder to get max_align_t defined on OpenBSD, part 2.
781         * modules/stddef (Depends-on): Add extensions.
783 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
785         canonicalize: remove NARROW_ADDRESSES optimization
786         * lib/canonicalize-lgpl.c, lib/canonicalize.c (NARROW_ADDRESSES):
787         Remove, and remove all uses, as the optimization is arguably not
788         worth the extra complexity.  Suggested by Adhemerval Zanella in:
789         https://sourceware.org/pipermail/libc-alpha/2020-December/121203.html
791 2021-01-01  Bruno Haible  <bruno@clisp.org>
793         stddef: Try harder to get max_align_t defined on OpenBSD.
794         * m4/stddef_h.m4 (gl_STDDEF_H): Require gl_USE_SYSTEM_EXTENSIONS.
796 2021-01-01  Bruno Haible  <bruno@clisp.org>
798         aligned_alloc: Fix test failure on OpenBSD 6.8.
799         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): On OpenBSD, define
800         _ISOC11_SOURCE.
801         * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Require it. Update
802         comment.
804 2021-01-01  Bruno Haible  <bruno@clisp.org>
806         posixtm tests: Disable part of the test on plaforms where it fails.
807         * tests/test-posixtm.c (T): Disable two tests on macOS as well.
809 2021-01-01  Bruno Haible  <bruno@clisp.org>
811         c32isgraph/c32isprint/c32ispunct tests: Avoid test failures on OmniOS.
812         * tests/test-c32isgraph.c (main): On Solaris, disable tests that fail on
813         Solaris 11 OmniOS.
814         * tests/test-c32isprint.c (main): Likewise.
815         * tests/test-c32ispunct.c (main): Likewise.
817 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
819         libc-config: port to Sun C 5.9
820         * lib/libc-config.h (libc_hidden_proto): Omit ", ..." in macro
821         definition.  It’s not needed for Gnulib and elicits a diagnostic
822         from Sun C 5.9 Patch 124867-12 2009/11/22.
824 2021-01-01  Bruno Haible  <bruno@clisp.org>
826         quotearg tests: Avoid test failures on Solaris 11.
827         * modules/quotearg-tests (Makefile.am): Set host_os in
828         TESTS_ENVIRONMENT.
829         * tests/test-quotearg.sh: On Solaris 11 systems, make a copy of the fr/
830         directory that contains the .mo file.
832 2021-01-01  Bruno Haible  <bruno@clisp.org>
834         maint: Update copyright notices in --version output.
835         List the most recent year in which changes were made, per
836         <https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html>.
837         * build-aux/declared.sh (func_version): Say 2019.
838         * build-aux/libtool-next-version (func_version): Likewise.
839         * build-aux/run-test (func_version): Likewise.
840         * check-module (COPYRIGHT_NOTICE): Say 2012.
841         * lib/git-merge-changelog.c (main): Say 2020.
843 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
845         filename: change filename.h comment to LGPLv2.1+
846         * lib/filename.h: Change license notice to match what should be in
847         glibc, and what modules/filename specifies.  This is to simplify
848         syncing with glibc.
850         doc: mention year-0 bugs in Solaris etc.
851         * doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi:
852         * doc/posix-functions/localtime.texi:
853         * doc/posix-functions/localtime_r.texi:
854         * doc/posix-functions/mktime.texi:
855         Mention year-0 bugs in localtime etc.
857 2020-12-31  Bruno Haible  <bruno@clisp.org>
859         ptsname_r: Fix test failure on Solaris.
860         * lib/ptsname_r.c (__ptsname_r) [__sun]: Don't test the major number of
861         the device.
863 2020-12-31  Bruno Haible  <bruno@clisp.org>
865         posixtm tests: Disable part of the test on plaforms where it fails.
866         * tests/test-posixtm.c (T): Disable two tests on Solaris.
868 2020-12-31  Bruno Haible  <bruno@clisp.org>
870         poll tests: Avoid test failure on AIX.
871         * tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after
872         shutdown" test on AIX.
873         * doc/posix-functions/poll.texi: Mention the AIX bug.
875 2020-12-31  Bruno Haible  <bruno@clisp.org>
877         poll tests: Avoid test failure on BSD and Solaris systems.
878         * tests/test-poll.c (test_accept_first, test_socket_pair): Disable the
879         "expecting POLLHUP after shutdown" test on all platforms except Linux.
881 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
883         fnmatch: merge from glibc + proposal
884         This merges the change proposed by Adhemerval Zanella in:
885         https://sourceware.org/pipermail/libc-alpha/2020-December/121212.html
886         which fixes a Gnulib bug that led to a failed assert.
887         * lib/fnmatch_loop.c (EXT): Use signed level, not unsigned, and
888         check that it stays nonnegative.  Use __flexarr instead of
889         FLEXIBLE_ARRAY_MEMBER, to port better to glibc.
890         * tests/test-fnmatch.c (main): New test cases, taken from glibc.
892         glob: merge proposed glibc changes
893         This merges the change proposed by Adhemerval Zanella in:
894         https://sourceware.org/pipermail/libc-alpha/2020-December/121211.html
895         * lib/glob.c (__lstat64, __stat64) [_LIBC]: Remove.
897 2020-12-31  Bruno Haible  <bruno@clisp.org>
899         memalign: Work around Solaris bug.
900         * lib/memalign.c: New file.
901         * m4/memalign.m4: New file.
902         * modules/memalign (Files): Add them.
903         (Depends-on): Add malloc-h.
904         (configure.ac): Invoke gl_FUNC_MEMALIGN. Conditionally compile
905         memalign.c. Set module indicator.
906         (Include): Include <malloc.h> unconditionally.
907         * doc/glibc-functions/memalign.texi: Mention the Solaris issues.
909         malloc-h: Add tests.
910         * tests/test-malloc-h.c: New file.
911         * modules/malloc-h-tests: New file.
912         * tests/test-malloc-h-c++.cc: New file.
913         * modules/malloc-h-c++-tests: New file.
915         malloc-h: New module.
916         * lib/malloc.in.h: New file.
917         * m4/malloc_h.m4: New file.
918         * modules/malloc-h: New file.
919         * doc/glibc-headers/malloc.texi: New file.
920         * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
922 2020-12-31  Bruno Haible  <bruno@clisp.org>
924         unistd: Fix portability warnings.
925         * lib/unistd.in.h (fchownat, unlinkat): Fix module name in warning.
927 2020-12-31  Bruno Haible  <bruno@clisp.org>
929         utime: Fix compilation error on macOS and Solaris 9 (regr. 2020-12-24).
930         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
931         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00295.html>.
932         * lib/utime.c: Include <errno.h>.
934 2020-12-30  Karl Berry  <karl@freefriends.org>
936         config: srclistvars doc.
937         * config/srclistvars.sh: doc a couple of unusual source repo urls.
939 2020-12-30  Bruno Haible  <bruno@clisp.org>
941         getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana.
942         * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL
943         with no errno.
944         * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns
945         EINVAL.
947 2020-12-29  Jim Meyering  <meyering@fb.com>
949         regex-tests: tweak to avoid a clang-10 warning
950         * tests/test-regex.c: Compare with explicit zero, rather than
951         as boolean to avoid this from clang-10:
952         test-regex.c:315:9: error: converting the result of '<<' to a \
953           boolean always evaluates to true \
954           [-Werror,-Wtautological-constant-compare]
955         if (! REG_STARTEND)
957         hash: add casts-to-float to avoid clang-10 warnings
958         * lib/hash.c (compute_bucket_size): Cast SIZE_MAX to float
959         to avoid this warning from clang-10 (for use in grep):
960           hash.c:501:11: error: implicit conversion from 'unsigned long' \
961             to 'float' changes value from 18446744073709551615 to \
962             18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
963           if (SIZE_MAX <= new_candidate)
964         (hash_insert_if_absent): Likewise.
966 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
968         canonicalize: fix size overflow treatment
969         This also has some minor cleanups.
970         * lib/canonicalize-lgpl.c, lib/canonicalize.c: No need to include
971         stddef.h, since the code no longer refers directly to ptrdiff_t.
972         * lib/canonicalize-lgpl.c (realpath_stk):
973         * lib/canonicalize.c (canonicalize_filename_mode_stk):
974         Treat size overflow like other out-of-memory.
975         * lib/canonicalize.c: No need to include stdlib.h, since
976         the code no longer refers to stdlib.h functions (other
977         than those that canonicalize.h must declare).
978         * lib/canonicalize.c (canonicalize_filename_mode_stk):
979         Do not bother terminating the string result on error.
981 2020-12-29  Bruno Haible  <bruno@clisp.org>
983         list-c++, [o]map-c++, [o]set-c++: Fix conflict with 'free-posix' module.
984         * lib/gl_list.hh: Include <stdlib.h>.
985         * lib/gl_map.hh: Likewise.
986         * lib/gl_omap.hh: Likewise.
987         * lib/gl_set.hh: Likewise.
988         * lib/gl_oset.hh: Likewise.
990 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
992         canonicalize: fix ptrdiff_t overflow bug
993         Problem reported by Adhemerval Zanella in:
994         https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html
995         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
996         Include intprops.h.
997         (NARROW_ADDRESSES): New constant.
998         * lib/canonicalize-lgpl.c (realpath_stk):m
999         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1000         Work even if strlen (END) does not fit in idx_t, or if adding
1001         N to it overflows.
1002         * modules/canonicalize, modules/canonicalize-lgpl (Depends-on):
1003         Add intprops.
1005 2020-12-28  Bruno Haible  <bruno@clisp.org>
1007         havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
1008         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): In
1009         acl_is_expected_elfclass, use 'expr', not 'test'.
1011 2020-12-28  Bruno Haible  <bruno@clisp.org>
1013         ptsname_r: Fix a compiler warning on Solaris.
1014         * lib/ptsname_r.c (__ptsname_r): Reduce the scope of variable 'err'.
1016 2020-12-28  Bruno Haible  <bruno@clisp.org>
1018         gnulib-tool: Fix logic whether to add a dummy.c.
1019         * gnulib-tool (func_remove_if_blocks): New function.
1020         (func_modules_add_dummy): Use it to eliminate all conditional statements
1021         from the automake snippet.
1023 2020-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1025         faccessat: revert recent EOVERFLOW change
1026         I misunderstood the glibc source code.  Deduced from
1027         Adhemerval Zanella’s proposed glibc patch in:
1028         https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html
1029         * doc/posix-functions/faccessat.texi: It is not a problem.
1030         * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c:
1031         (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed.
1032         * lib/faccessat.c: Revert to simpler version now that
1033         LSTAT_FOLLOWS_SLASHED_SYMLINK must be false.
1034         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW):
1035         Remove.  All uses removed.
1036         * modules/canonicalize, modules/canonicalize-lgpl (Files):
1037         Remove m4/faccessat.m4.
1039         canonicalize-lgpl: accommodate picky cpp
1040         * lib/canonicalize-lgpl.c: Use "defined FUNC_REALPATH_WORKS" in
1041         case preprocessor is picky.  Reported by Adhemerval Zanella in:
1042         https://sourceware.org/pipermail/libc-alpha/2020-December/121130.html
1044         canonicalize: simplify via scratch_buffer_dupfree
1045         * config/srclist.txt: Adjust accordingly.
1046         * lib/canonicalize-lgpl.c (realpath_stk):
1047         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1048         Simplify by using scratch_buffer_dupfree.
1049         * lib/malloc/scratch_buffer.h (scratch_buffer_dupfree): New function.
1050         * lib/malloc/scratch_buffer_dupfree.c: New file.
1051         * modules/scratch_buffer (Files, Depends-on):
1052         Add malloc/scratch_buffer_dupfree.c.
1054 2020-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1056         regex: remove glibc21.m4
1057         It doesn’t seem to be needed any more; at least, I couldn’t
1058         reproduce the circa-2013 problem.  Perhaps the recent
1059         --conditional-dependencies fixes have removed the need for it.
1060         * m4/glibc21.m4: Remove.  All uses removed.
1062 2020-12-26  Bruno Haible  <bruno@clisp.org>
1064         gnulib-tool: Make --conditional-dependencies work with --with-tests.
1065         Reported by Paul Eggert in
1066         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00236.html>.
1067         * gnulib-tool (func_emit_tests_Makefile_am): Handle conditional
1068         dependencies like func_emit_lib_Makefile_am.
1070 2020-12-26  Bruno Haible  <bruno@clisp.org>
1072         execvpe: Make dependency to stdbool explicit.
1073         * lib/execvpe.c: Include <stdbool.h>.
1074         * modules/execvpe (Depends-on): Add stdbool.
1076         execlp: Add tests.
1077         * tests/test-execlp-main.c: New file.
1078         * tests/test-execlp.sh: New file.
1079         * modules/execlp-tests: New file.
1081         execlp: New module.
1082         * lib/execlp.c: New file.
1083         * m4/execlp.m4: New file.
1084         * modules/execlp: New file.
1085         * doc/posix-functions/execlp.texi: Mention more Windows problems and the
1086         new module.
1088         execle: Add tests.
1089         * tests/test-execle-main.c: New file.
1090         * tests/test-execle.sh: New file.
1091         * modules/execle-tests: New file.
1093         execle: New module.
1094         * lib/execle.c: New file.
1095         * m4/execle.m4: New file.
1096         * modules/execle: New file.
1097         * doc/posix-functions/execle.texi: Mention more Windows problems and the
1098         new module.
1100         execl: Add tests.
1101         * tests/test-execl-main.c: New file.
1102         * tests/test-execl.sh: New file.
1103         * modules/execl-tests: New file.
1105         execl: New module.
1106         * lib/execl.c: New file.
1107         * m4/execl.m4: New file.
1108         * modules/execl: New file.
1109         * doc/posix-functions/execl.texi: Mention more Windows problems and the
1110         new module.
1112         execv: Add tests.
1113         * tests/test-execv-main.c: New file.
1114         * tests/test-execv.sh: New file.
1115         * modules/execv-tests: New file.
1117         execv: New module.
1118         * lib/execv.c: New file.
1119         * m4/execv.m4: New file.
1120         * modules/execv: New file.
1121         * doc/posix-functions/execv.texi: Mention more Windows problems and the
1122         new module.
1124         execvp: Add tests.
1125         * tests/test-execvp-main.c: New file.
1126         * tests/test-execvp.sh: New file.
1127         * modules/execvp-tests: New file.
1129         execvp: New module.
1130         * lib/execvp.c: New file.
1131         * m4/execvp.m4: New file.
1132         * modules/execvp: New file.
1133         * doc/posix-functions/execvp.texi: Mention more Windows problems and the
1134         new module.
1136         execvpe: Add tests.
1137         * tests/test-execvpe-main.c: New file.
1138         * tests/test-execvpe.sh: New file.
1139         * modules/execvpe-tests: New file.
1141         execvpe: New module.
1142         * lib/execvpe.c: New file.
1143         * m4/execvpe.m4: New file.
1144         * modules/execvpe: New file.
1145         * doc/glibc-functions/execvpe.texi: Mention the Windows problems and the
1146         new module.
1148         execve: Add tests.
1149         * tests/test-exec-child.c: New file.
1150         * tests/test-execve-main.c: New file.
1151         * tests/test-execve.sh: New file.
1152         * modules/execve-tests: New file.
1154         execve: New module.
1155         * lib/execve.c: New file.
1156         * m4/execve.m4: New file.
1157         * modules/execve: New file.
1158         * doc/posix-functions/execve.texi: Mention more Windows problems and the
1159         new module.
1161         execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
1162         * lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
1163         execvpe): Add declarations for the new modules.
1164         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
1165         execv, execve, execvp, execvpe are declared.
1166         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
1167         REPLACE_EXEC*.
1168         * modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
1169         REPLACE_EXEC*.
1170         * tests/test-unistd-c++.cc: Check the signature of execl, execle,
1171         execlp, execv, execve, execvp, execvpe.
1173 2020-12-26  Bruno Haible  <bruno@clisp.org>
1175         stack: Fix typo in comments.
1176         * lib/stack.h: Fix typo in comments.
1178 2020-12-26  Bruno Haible  <bruno@clisp.org>
1180         bitset: Fix conflict with 'free-posix' module.
1181         * lib/bitset/base.h: Include <stdlib.h>.
1183 2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1185         idx: change idx.h comment to LGPLv2.1+
1186         * lib/idx.h: Change license notice to match what should be in glibc.
1187         gnulib-tool will change it as appropriate anyway, so this is just
1188         to simplify syncing with glibc.
1190 2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
1192         MODULES.html.sh: Update after 2020-12-19 change.
1193         * MODULES.html.sh (func_all_modules): Do s/free/free-posix/.
1195 2020-12-25  Bruno Haible  <bruno@clisp.org>
1197         Make it possible to turn off the mkdir override on Windows.
1198         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
1199         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
1200         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
1201         GNULIB_MDA_MKDIR.
1202         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
1203         GNULIB_MDA_MKDIR.
1204         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
1205         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
1207         Make it possible to turn off each of the Windows oldnames workarounds.
1208         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
1209         oldnames workarounds through a GNULIB_MDA_<func> symbol.
1210         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1211         * lib/search.in.h (lfind, lsearch): Likewise.
1212         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1213         Likewise.
1214         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1215         * lib/string.in.h (memccpy, strdup): Likewise.
1216         * lib/sys_stat.in.h (chmod, umask): Likewise.
1217         * lib/time.in.h (tzset): Likewise.
1218         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1219         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1220         read, rmdir, swab, unlink, write): Likewise.
1221         * lib/utime.in.h (utime): Likewise.
1222         * lib/wchar.in.h (wcsdup): Likewise.
1223         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
1224         GNULIB_MDA_<func> symbols.
1225         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
1226         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
1227         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
1228         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
1229         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
1230         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
1231         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
1232         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
1233         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
1234         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
1235         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
1236         symbols.
1237         * modules/math (Makefile.am): Likewise.
1238         * modules/search (Makefile.am): Likewise.
1239         * modules/stdio (Makefile.am): Likewise.
1240         * modules/stdlib (Makefile.am): Likewise.
1241         * modules/string (Makefile.am): Likewise.
1242         * modules/sys_stat (Makefile.am): Likewise.
1243         * modules/time (Makefile.am): Likewise.
1244         * modules/unistd (Makefile.am): Likewise.
1245         * modules/utime-h (Makefile.am): Likewise.
1246         * modules/wchar (Makefile.am): Likewise.
1248 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1250         canonicalize, canonicalize-lgpl: remove lint
1251         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
1252         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
1253         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1254         Sort shared include directives, for consistency.
1255         (IF_LINT): New macro.
1256         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
1257         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
1258         New macros.
1259         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
1260         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1261         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
1263 2020-12-24  Bruno Haible  <bruno@clisp.org>
1265         spawn-pipe: Use posix_spawn by default on native Windows.
1266         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
1267         (create_pipe): Use it to decide among the two possible implementations.
1268         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
1270 2020-12-24  Bruno Haible  <bruno@clisp.org>
1272         unistd-safer: Implement pipe_safer on native Windows.
1273         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
1274         * modules/unistd-safer (Depends-on): Add pipe-posix.
1276 2020-12-24  Bruno Haible  <bruno@clisp.org>
1278         execute: Use posix_spawn by default on native Windows.
1279         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
1280         (execute): Use it to decide among the two possible implementations.
1282 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1284         canonicalize-lgpl: merge proposed libc changes
1285         This merges the changes proposed for glibc in:
1286         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
1287         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
1288         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
1289         unconditionally.
1290         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
1291         (ISSLASH) [_LIBC]: Remove.
1293 2020-12-24  Bruno Haible  <bruno@clisp.org>
1295         posix_spawn-internal: Implement for native Windows.
1296         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
1297         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
1298         do_dup2, do_close): New functions.
1299         (__spawni): Implement on native Windows.
1300         * modules/posix_spawn-internal (Depends-on): Add filename,
1301         concat-filename, findprog-in, malloca, windows-spawn.
1302         * doc/posix-functions/posix_spawn.texi: Update.
1303         * doc/posix-functions/posix_spawnp.texi: Likewise.
1305 2020-12-24  Bruno Haible  <bruno@clisp.org>
1307         windows-spawn: Export another auxiliary function.
1308         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
1309         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
1310         extracted from spawnpvech.
1311         (spawnpvech): Use it.
1313 2020-12-24  Bruno Haible  <bruno@clisp.org>
1315         windows-spawn: Export some more auxiliary functions.
1316         * lib/windows-spawn.h: Include <stdbool.h>.
1317         (struct inheritable_handles): New type.
1318         (init_inheritable_handles, compose_handles_block,
1319         free_inheritable_handles): New declarations.
1320         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
1321         New functions, based on spawnvech.
1322         (free_inheritable_handles): New function.
1323         (spawnpvech): Use them.
1325 2020-12-24  Bruno Haible  <bruno@clisp.org>
1327         windows-spawn: Export another auxiliary function.
1328         * lib/windows-spawn.h (compose_envblock): New declaration.
1329         * lib/windows-spawn.c (compose_envblock): New function, extracted from
1330         spawnpvech.
1331         (spawnpvech): Use it.
1333 2020-12-24  Bruno Haible  <bruno@clisp.org>
1335         windows-spawn: Export an auxiliary function.
1336         * lib/windows-spawn.h (compose_command): New declaration.
1337         * lib/windows-spawn.c (compose_command): New function, extracted from
1338         spawnpvech.
1339         (spawnpvech): Use it.
1341 2020-12-24  Bruno Haible  <bruno@clisp.org>
1343         posix_spawn* tests: Add support for native Windows.
1344         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
1345         like Cygwin.
1346         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
1347         SIGHUP and SIGPIPE. On native Windows, don't call
1348         posix_spawnattr_setsigmask.
1349         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
1350         * tests/test-posix_spawn-fchdir.c (main): Likewise.
1351         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
1352         output from Cygwin's 'pwd' program.
1353         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
1354         executable-shell-script part of the test.
1355         * tests/test-posix_spawnp-script.c (main): Likewise.
1356         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
1357         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
1358         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
1359         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
1360         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
1361         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
1362         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
1363         test the POSIX_SPAWN_PORTED conditional.
1364         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
1365         Define the POSIX_SPAWN_PORTED conditional here.
1367 2020-12-24  Bruno Haible  <bruno@clisp.org>
1369         sh-filename: Add support for native Windows.
1370         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
1372 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1374         careadlinkat: improve warning line number
1375         This propagates an idea first used in canonicalize-lgpl.
1376         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
1377         New macro.
1378         (careadlinkat): Use it.
1380         linkat: use eloop-threshold
1381         * lib/linkat.c: Include eloop-threshold.h.
1382         Do not include sys/param.h.
1383         (MAXSYMLINKS): Remove.
1384         (link_follow, linkat_follow): Use __eloop_threshold instead
1385         of MAXSYMLINKS.
1386         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
1387         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
1389         canonicalize-lgpl: use eloop-threshold
1390         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
1391         (MAXSYMLINKS, __eloop_threshold): Remove.
1392         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
1394         eloop-threshold: new module
1395         * config/srclist.txt: Add a comment about it.
1396         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
1398         canonicalize: prefer faccessat to stat
1399         A proper faccessat doesn't have the EOVERFLOW problem, and can be
1400         more efficient as it needn't gather data from the filesystem to
1401         fill in struct stat.  So use stat only if faccessat is absent,
1402         or when checking for symlink loops in canonicalize.c.
1403         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1404         Include fcntl.h, for AT_EACCESS.
1405         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
1406         (file_accessible): New function, based on faccessat but with
1407         a fallback to stat and with an EOVERFLOW workaround.
1408         (dir_check): Use it.
1409         (dir_suffix): New static constant.
1410         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
1411         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
1412         (__faccessat) [!_LIBC]: Define.
1413         (realpath_stk): Use dir_suffix now.
1414         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1415         If logical, don't check each component's existence; just check
1416         at the end, as that's enough.
1417         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
1418         (gl_CANONICALIZE_LGPL_SEPARATE):
1419         Require gl_FUNC_FACCESSAT_EOVERFLOW,
1420         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
1421         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
1422         as the code does not use HAVE_READLINK.
1423         * modules/canonicalize, modules/canonicalize-lgpl (Files):
1424         Add m4/faccessat.m4, m4/lstat.m4.
1425         (Depends-on): Add fcntl-lh.
1427         faccessat: work around F_OK EOVERFLOW bug
1428         * doc/posix-functions/faccessat.texi: Mention the problem.
1429         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
1430         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
1431         for F_OK and EOVERFLOW, which means we can return 0.
1432         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
1433         (gl_FUNC_FACCESSAT): Use it.
1435         stat failing with EOVERFLOW implies existence
1436         * lib/euidaccess.c (euidaccess):
1437         * lib/file-has-acl.c (file_has_acl):
1438         * lib/link.c (link, rpl_link):
1439         * lib/mkdir.c (rpl_mkdir):
1440         * lib/mkfifo.c (rpl_mkfifo):
1441         * lib/mknod.c (rpl_mknod):
1442         * lib/ptsname_r.c (__ptsname_r):
1443         * lib/symlink.c (rpl_symlink):
1444         * lib/symlinkat.c (rpl_symlinkat):
1445         * lib/unlink.c (rpl_unlink):
1446         * lib/unlinkat.c (rpl_unlinkat):
1447         * lib/utime.c (utime):
1448         If stat fails with EOVERFLOW the file exists, so treat it that way
1449         in file-existence tests that do not need struct stat values.
1451         canonicalize-lgpl: remove freea macro
1452         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
1454         canonicalize, canonicalize-lgpl: fix symlink bug
1455         Problem reported by Adhemerval Zanella in:
1456         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
1457         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1458         (suffix_requires_dir_check, dir_check): New functions.
1459         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
1460         closer to the related GCC diagnostics.
1461         * lib/canonicalize-lgpl.c (realpath_stk):
1462         * lib/canonicalize.c (canonicalize_file_mode_stk):
1463         Use them to fix a bug with .../symlink-to-regular-file/ etc.
1464         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
1465         (realpath_stk): New function,
1466         with the contents of the old __realpath and a new scratch buffer arg.
1467         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
1468         (__realpath): Use it.
1469         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
1470         Add test cases for the bugs.
1472 2020-12-24  Bruno Haible  <bruno@clisp.org>
1474         execute: Treat signalled processes like wait-process does.
1475         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
1476         (execute): Recognize the case where the exit code indicates a signalled
1477         child process.
1478         * tests/test-execute-main.c (main): Update expected test result.
1479         * modules/execute (Depends-on): Add sys_wait.
1481 2020-12-24  Bruno Haible  <bruno@clisp.org>
1483         windows-spawn: Improve errno upon failure on native Windows.
1484         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
1485         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
1486         * tests/executable-script.sh: New file.
1487         * tests/test-posix_spawn-script.c (main): Also try executing
1488         executable-script.sh.
1489         * tests/test-posix_spawnp-script.c (main): Likewise.
1490         * tests/test-execute-script.c (main): Likewise.
1491         * tests/test-spawn-pipe-script.c (main): Likewise.
1492         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
1493         * modules/posix_spawnp-tests (Files): Likewise.
1494         * modules/execute-tests (Files): Likewise.
1495         * modules/spawn-pipe-tests (Files): Likewise.
1497 2020-12-24  Bruno Haible  <bruno@clisp.org>
1499         findprog-in: Improve errno upon failure on native Windows.
1500         * lib/findprog-in.c (find_in_given_path): If the file basename has no
1501         dot and the search with a suffix returned no result, do also a search
1502         without a suffix, and set errno = ENOEXEC if we find a file in this way.
1503         * tests/test-spawn-pipe-script.c (main): Update expected errno.
1505 2020-12-23  Bruno Haible  <bruno@clisp.org>
1507         posix_spawn, posix_spawnp: Fix execution of scripts.
1508         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
1509         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
1510         or posix_spawnp allows unsecure execution of scripts.
1511         * doc/posix-functions/posix_spawn.texi: Document the script execution
1512         problem.
1513         * doc/posix-functions/posix_spawnp.texi: Likewise.
1515 2020-12-23  Bruno Haible  <bruno@clisp.org>
1517         Add unit tests regarding execution of scripts.
1518         * tests/executable-script: New file.
1519         * tests/executable-shell-script: New file.
1520         * tests/test-posix_spawn-script.c: New file.
1521         * tests/test-posix_spawnp-script.c: New file.
1522         * tests/test-execute-script.c: New file.
1523         * tests/test-spawn-pipe-script.c: New file.
1524         * modules/posix_spawn-tests (Files): Add
1525         tests/test-posix_spawn-script.c, tests/executable-script,
1526         tests/executable-shell-script.
1527         (Makefile.am): Compile and run test-posix_spawn-script.
1528         * modules/posix_spawnp-tests (Files): Add
1529         tests/test-posix_spawnp-script.c, tests/executable-script,
1530         tests/executable-shell-script.
1531         (Makefile.am): Compile and run test-posix_spawnp-script.
1532         * modules/execute-tests (Files): Add tests/test-execute-script.c,
1533         tests/executable-script, tests/executable-shell-script.
1534         (Makefile.am): Compile and run test-execute-script.
1535         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
1536         tests/executable-script, tests/executable-shell-script.
1537         (Makefile.am): Compile and run test-spawn-pipe-script.
1539 2020-12-23  Bruno Haible  <bruno@clisp.org>
1541         Don't execute scripts without '#!' marker through /bin/sh.
1542         This reflects the change done in glibc through
1543         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
1544         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
1545         * lib/spawni.c (internal_function): Remove macro.
1546         (script_execute): Remove function.
1547         (__spawni): Don't invoke script_execute.
1548         * lib/execute.c (execute): Disable the ENOEXEC handling.
1549         * lib/spawn-pipe.c (create_pipe): Likewise.
1550         * NEWS: Mention the change.
1552 2020-12-23  Bruno Haible  <bruno@clisp.org>
1554         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
1555         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
1556         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
1557         * lib/spawni.c (__spawni): Update function parameters.
1559 2020-12-23  Bruno Haible  <bruno@clisp.org>
1561         posix_spawn tests: Add two more tests.
1562         * tests/test-posix_spawn-inherit0.c: New file, based on
1563         tests/test-posix_spawn-open2.c.
1564         * tests/test-posix_spawn-inherit1.c: New file, based on
1565         tests/test-posix_spawn-open2.c.
1566         * modules/posix_spawn-tests (Files): Add them.
1567         (Depends-on): Add fflush.
1568         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
1569         test-posix_spawn-inherit1.
1571 2020-12-23  Bruno Haible  <bruno@clisp.org>
1573         posix_spawn tests: Add another test.
1574         * tests/test-posix_spawn-open2.c: New file, based on
1575         tests/test-posix_spawn-open1.c.
1576         * modules/posix_spawn-tests (Files): Add it.
1577         (Makefile.am): Compile and run test-posix_spawn-open1.
1579 2020-12-20  Bruno Haible  <bruno@clisp.org>
1581         Remove support for broken <wchar.h> in AIX 3.
1582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
1584 2020-12-20  Bruno Haible  <bruno@clisp.org>
1586         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
1587         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
1588         * lib/mbchar.h: Likewise.
1589         * lib/mbiter.h: Likewise.
1590         * lib/mbuiter.h: Likewise.
1591         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
1592         * lib/mbfile.h: Don't include <time.h>.
1593         * lib/mbswidth.h: Update comment.
1594         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
1595         <wchar.h>.
1596         * lib/wctype.in.h: Likewise.
1597         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
1598         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
1599         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
1600         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
1601         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
1602         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
1603         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
1604         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
1605         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
1606         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
1607         AC_FUNC_MBRTOWC): Likewise.
1608         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
1609         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
1610         Likewise.
1611         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
1612         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
1613         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1614         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
1615         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
1616         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1617         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
1618         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
1619         Likewise.
1620         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
1621         gl_WCSRTOMBS_NULL): Likewise.
1622         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
1623         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1624         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1625         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1626         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1627         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
1628         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
1629         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
1630         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
1631         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
1633 2020-12-20  Bruno Haible  <bruno@clisp.org>
1635         isnanf: Fix autoconf test.
1636         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
1638 2020-12-20  Bruno Haible  <bruno@clisp.org>
1640         Remove some of the support for obsolete IRIX 4 and 5.
1641         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
1642         libsun.
1643         * tests/init.sh (setup_): Don't talk about IRIX 5.
1645 2020-12-20  Bruno Haible  <bruno@clisp.org>
1647         filemode: Remove Cray support.
1648         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
1649         (filemodestring): Don't produce an 'M' type.
1650         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
1651         * m4/st_dm_mode.m4: Remove file.
1652         * modules/filemode (Files): Remove it.
1654 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1656         free-posix: assume glibc 2.33 fixes this.
1657         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
1658         Use compile-time test rather than guessing for cross-builds.
1660 2020-12-20  Bruno Haible  <bruno@clisp.org>
1662         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
1663         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
1664         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
1665         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
1667 2020-12-20  Bruno Haible  <bruno@clisp.org>
1669         float: Fix compilation error when gnulib's float.h exists twice.
1670         Reported by Santiago Vila <sanvila@unex.es>.
1671         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
1673 2020-12-19  Bruno Haible  <bruno@clisp.org>
1675         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
1676         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
1677         Don't trust _POSIX_VERSION for this test.
1679 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1681         free-posix: port to GNU/Linux
1682         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
1683         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
1684         other GNU/Linux hosts.
1686 2020-12-19  Bruno Haible  <bruno@clisp.org>
1688         free-posix: Add tests.
1689         * tests/test-free.c: New file.
1690         * tests/macros.h (ASSERT_NO_STDIO,
1691         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
1692         WRITE_TO_STDERR): New macros.
1693         * modules/free-posix-tests: New file.
1695 2020-12-18  Bruno Haible  <bruno@clisp.org>
1697         free-posix: Add C++ declaration test.
1698         * tests/test-stdlib-c++.cc (free): New declaration.
1700 2020-12-18  Bruno Haible  <bruno@clisp.org>
1702         free-posix: New module, renamed from 'free'.
1703         * modules/free-posix: Renamed from modules/free.
1704         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
1705         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
1706         not GNULIB_FREE.
1707         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
1708         GNULIB_FREE.
1709         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
1710         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
1711         what it does.
1712         * NEWS: Mention that module 'free' no longer exists.
1713         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
1714         * modules/canonicalize-lgpl (Depends-on): Likewise.
1716 2020-12-18  Bruno Haible  <bruno@clisp.org>
1718         free: Remove support for obsolete platforms.
1719         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
1720         CANNOT_FREE_NULL.
1721         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
1722         * modules/free (Description): Update.
1723         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
1725 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1727         intprops: port to ICC 2021.1 Beta 20201112
1728         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
1729         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
1730         Add a clause for other compilers that claim to support
1731         __builtin_mul_overflow_p, since we might as well find out about
1732         slackers other than Clang and ICC.
1733         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
1734         like older GCCs even when it claims to be a newer one.
1736 2020-12-18  Bruno Haible  <bruno@clisp.org>
1738         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
1739         Reported by Stefan Liebler <stli@linux.ibm.com> in
1740         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
1741         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
1742         GCC 5.x and 6.x.
1743         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
1744         GCC 5.x and 6.x.
1746 2020-12-17  Bruno Haible  <bruno@clisp.org>
1748         free: Fix warning.
1749         Reported by Pádraig Brady <P@draigBrady.com> in
1750         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
1751         * lib/stdlib.in.h (free): New declaration.
1752         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
1753         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
1754         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
1755         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
1756         'free' as a macro here.
1757         * modules/free (Depends-on): Add stdlib.
1758         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
1760 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1762         canonicalize-lgpl: fix AIX test failures
1763         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
1764         Problem reported by Bruno Haible in:
1765         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
1766         * lib/canonicalize-lgpl.c: Include sys/stat.h.
1767         (__realpath): When testing a file name ending in '/', use stat
1768         rather than readlink, so that it does the right thing on AIX.
1769         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
1771         canonicalize: omit second readlink when not needed
1772         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1773         Omit second readlink when (can_exist != CAN_MISSING
1774         && startlen != 0 && !logical).  Simplify.
1776         canonicalize: remove arbitrary 8192-byte limit
1777         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
1778         like GNU Hurd that do not define the PATH_MAX macro, and similarly
1779         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
1780         using scratch buffers.  Lessen the number of differences between
1781         the two source files, to simplify this and future maintenance.
1782         * lib/canonicalize-lgpl.c (__realpath):
1783         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1784         Use scratch buffers instead of malloc and malloca.  This avoids
1785         the need for alloca, and avoids the need for malloc in most cases.
1786         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
1787         easier to compare, e.g., by sorting include files and by switching
1788         to the GNU convention of calling file names "file names", not
1789         "path names".  Include stdbool.h, scratch_buffer.h.
1790         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
1791         (malloca) [_LIBC]: Remove.
1792         [!_LIBC]: Do not include malloca.h.
1793         (get_path_max): New function, so that pathconf is called only in
1794         the rare and dubious case when when RESOLVED is not null and
1795         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
1796         file name, as we care about the longest file name starting from
1797         "/" (not from the input file name), and POSIX does not specify
1798         what pathconf does on a non-directory file anyway.  If PATH_MAX is
1799         not defined, do not worry about overriding a path_max of 0, and do
1800         not let path_max exceed IDX_MAX.
1801         (__realpath): Remove an assumption that file name components
1802         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
1803         the Hurd, presumably).
1804         When allocating the result, allocate it to just the right size;
1805         this costs nothing when the result is smaller than 1023 bytes,
1806         and for larger results it's probably worth the CPU to call realloc,
1807         as canonicalize.c already does.
1808         * lib/canonicalize.c: Include attribute.h.
1809         Do not include pathmax.h or xgetcwd.h.
1810         (PATH_MAX): Do not define, so file names longer than 8192 bytes
1811         work on platforms with no fixed limit.
1812         (canonicalize_filename_mode_stk): New function, with
1813         the content of the old canonicalize_filename_mode.
1814         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
1815         since the scratch buffers now do memory management for us.
1816         Use rawmemchr instead of adding strlen.
1817         Use mempcpy instead of mempcpy + size.
1818         Assume free preserves errno.
1819         (canonicalize_filename_mode): Use it.
1820         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
1821         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
1822         scratch_buffer, stdbool, xalloc-die.
1823         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
1824         malloca, realloc-posix.  Add scratch_buffer, stdbool.
1826         canonicalize-lgpl: simplify merge to glibc
1827         This patch lessens the differences between git glibc
1828         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
1829         The (perhaps wishful) goal is to make them identical.
1830         * lib/canonicalize-lgpl.c [!_LIBC]:
1831         Include <libc-config.h>, not config.h.
1832         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
1833         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
1834         Do not include alloca.h, since we use malloca now.
1835         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
1836         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
1837         freea so that the mainline code can be kept #ifdef free.
1838         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
1839         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
1840         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
1841         __eloop_threshold.  All uses of their definiens changed.
1842         (SIZE_MAX): Remove; no longer needed.
1843         (alloc_failed): Remove, and remove all instances.
1844         No need for alloc_failed now that free preserves errno.
1845         (__realpath): Default path_max to 1024 instead of 8192, as that’s
1846         the glibc tradition and is safer when the 2nd argument is null.
1847         Use __rawmemchr instead of strchr.
1848         Use __mempcpy where appropriate.
1849         Simplify test for overflow so that it does not need SIZE_MAX.
1850         Do not preserve errno around free or freea calls; no longer needed.
1851         Mark __realpath with libc_hidden_def.
1852         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
1853         malloc-posix, mempcpy, realloc-posix, rawmemchr.
1854         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
1856         free: preserve errno
1857         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
1858         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
1859         platforms that do not preserve errno.
1860         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
1861         Also, define CANNOT_FREE_NULL if free cannot free NULL.
1862         * modules/free (configure.ac): Also replace 'free' if
1863         it does not preserve errno.
1865         idx: simplify IDX_MAX, remove IDX_WIDTH
1866         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
1867         to UNSIGNED_IDX_T.
1868         (IDX_WIDTH): Remove, since it’s not used and its value
1869         arguably should be PTRDIFF_WIDTH anyway.
1871 2020-12-16  Bruno Haible  <bruno@clisp.org>
1873         posix_spawn_file_actions_addfchdir-tests: Rename test.
1874         * tests/test-posix_spawn-fchdir.c: Renamed from
1875         tests/test-posix_spawn5.c.
1876         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
1877         Update.
1879         posix_spawn_file_actions_addchdir-tests: Rename test.
1880         * tests/test-posix_spawn-chdir.c: Renamed from
1881         tests/test-posix_spawn4.c.
1882         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
1883         Update.
1885         posix_spawn-tests: Rename test.
1886         * tests/test-posix_spawn-open1.c: Renamed from
1887         tests/test-posix_spawn3.c.
1888         * modules/posix_spawn-tests (Files, Makefile.am): Update.
1890         posix_spawnp-tests: Rename test.
1891         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
1892         tests/test-posix_spawn2.c.
1893         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
1894         tests/test-posix_spawn2.in.sh.
1895         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1897         posix_spawnp-tests: Rename test.
1898         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
1899         tests/test-posix_spawn1.c.
1900         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
1901         tests/test-posix_spawn1.in.sh.
1902         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1904 2020-12-14  Bruno Haible  <bruno@clisp.org>
1906         findprog-in: Allow overriding the current directory.
1907         * lib/findprog.h (find_in_given_path): Add directory argument.
1908         * lib/findprog-in.c (find_in_given_path): Likewise.
1909         * lib/execute.c (execute): Update caller.
1910         * lib/spawn-pipe.c (create_pipe): Likewise.
1911         * lib/windows-spawn.c (spawnpvech): Likewise.
1912         * NEWS: Mention the change.
1914 2020-12-14  Bruno Haible  <bruno@clisp.org>
1916         posix_spawn-internal: Make better use of 'const'.
1917         * lib/spawn_int.h (__spawni): Does not need write access to the elements
1918         of argv and envp.
1919         * lib/spawni.c (__spawni, script_execute): Likewise.
1920         * lib/spawn.c (posix_spawn): Update caller.
1921         * lib/spawnp.c (posix_spawnp): Likewise.
1923 2020-12-14  Bruno Haible  <bruno@clisp.org>
1925         spawn: Make it compile on native Windows.
1926         * modules/spawn (Depends-on): Add signal-h.
1928 2020-12-14  Bruno Haible  <bruno@clisp.org>
1930         windows-spawn: Avoid shadowing a variable.
1931         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
1933 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1935         string: port memchr macro to AIX 7.2 XLC
1936         Its <string.h> defines a memchr macro to help inlining.
1937         * lib/string.in.h (memchr): #undef before #defining.
1939         canonicalize: fix AIX test failures
1940         Problem reported by Bruno Haible in:
1941         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
1942         * lib/canonicalize.c (canonicalize_filename_mode):
1943         When testing a file name ending in '/', use stat rather than
1944         readlink, so that it does the right thing on AIX.
1945         * modules/canonicalize (Depends-on): Add readlink, to pull in the
1946         recent changes in the Gnulib readlink module.
1948         Assume readlink/readlinkat ERANGE fix
1949         * lib/areadlink-with-size.c (areadlink_with_size):
1950         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
1951         * lib/careadlinkat.c (readlink_stk):
1952         Do not worry about readlink or readlinkat failing with errno == ERANGE,
1953         since the Gnulib readlink and readlinkat modules now fix that.
1955         getcwd: port to AIX
1956         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
1957         in case our sys/stat.h #defined a function macro with the same name.
1959         readlink, readlinkat: add ERANGE portability
1960         Fix some portability issues with Gnulib's readlink and readlinkat,
1961         notably mostly working around the ERANGE problem in AIX and HP-UX.
1962         * doc/posix-functions/readlink.texi:
1963         * doc/posix-functions/readlinkat.texi:
1964         ERANGE problem is mostly fixed now.  Mention AIX problem with
1965         trailing / and EINVAL.  Lessen differences between these two files.
1966         * lib/readlink.c (rpl_readlink):
1967         * lib/readlinkat.c (rpl_readlinkat):
1968         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
1969         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
1970         Lessen spurious differences between the readlink and readlinkat code.
1971         * lib/readlinkat.c (rpl_readlinkat):
1972         Fix bug where stat was used where fstatat was intended.
1973         * m4/readlink.m4 (gl_FUNC_READLINK):
1974         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
1975         to identify readlink problems more precisely.  All uses changed.
1976         Guess no on AIX or HP-UX for this variable.
1977         Add check for whether readlink truncates results,
1978         and define new macro READLINK_TRUCATE_BUG accordingly.
1979         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
1980         Also check gl_cv_func_readlink_trailing_slash when deciding
1981         whether to replace readlinkat.
1982         * modules/readlinkat (Depends-on): Most dependencies are also
1983         needed if replacing readlinkat.  fstatat is different, as it
1984         is needed only if replacing an existing readlinkat.
1986 2020-12-13  Bruno Haible  <bruno@clisp.org>
1988         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
1989         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
1990         the stdin_handle and/or stdout_handle.
1992 2020-12-12  Bruno Haible  <bruno@clisp.org>
1994         Fix gnulib-tool error when some modules occur in tests/.
1995         * doc/gnulib.texi (Specification): Update statistics.
1996         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
1997         (Using AC_LIBOBJ): New section.
1998         * check-AC_LIBOBJ: New file.
1999         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
2000         * modules/fopen-gnu (Files): Add lib/fopen.c.
2001         * modules/memmem (Files): Add lib/memmem.c.
2002         * modules/renameat (Files): Add lib/at-func2.c.
2003         * modules/strcasestr (Files): Add lib/strcasestr.c.
2004         * modules/strstr (Files): Add lib/strstr.c.
2006 2020-12-11  Bruno Haible  <bruno@clisp.org>
2008         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
2009         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
2010         elements of argv.
2011         * lib/sh-quote.c (shell_quote_argv): Likewise.
2012         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
2013         the return type.
2014         * lib/windows-spawn.c (prepare_spawn): Likewise.
2015         * lib/os2-spawn.h (prepare_spawn): Likewise.
2016         * lib/os2-spawn.c (prepare_spawn): Likewise.
2017         * lib/execute.h (execute): Does not need write access to the elements of
2018         prog_argv.
2019         * lib/execute.c (execute): Likewise.
2020         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
2021         Likewise.
2022         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
2023         create_pipe_out): Likewise.
2024         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
2025         Likewise.
2026         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
2027         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
2028         * lib/javaexec.h (execute_fn): Does not need write access to the
2029         elements of prog_argv.
2030         * lib/javaexec.c (execute_java_class): Update variable types and remove
2031         casts to 'char *'.
2032         * lib/csharpexec.h (execute_fn): Does not need write access to the
2033         elements of prog_argv.
2034         * lib/csharpexec.c (execute_csharp_using_mono,
2035         execute_csharp_using_sscli): Update variable types and remove casts to
2036         'char *'.
2037         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
2038         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
2039         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
2040         is_jikes_present): Update variable types and remove casts to 'char *'.
2041         * lib/javaversion.c (execute_and_read_line): Does not need write access
2042         to the elements of prog_argv.
2043         * lib/csharpcomp.c (compile_csharp_using_mono,
2044         compile_csharp_using_sscli): Update variable types and remove casts to
2045         'char *'.
2046         * tests/test-sh-quote.c (main): Update variable types and remove casts
2047         to 'char *'.
2048         * tests/test-execute-main.c (main): Update variable types and remove
2049         casts to 'char *'.
2050         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
2051         remove casts to 'char *'.
2052         * NEWS: Mention the changes.
2054 2020-12-11  Bruno Haible  <bruno@clisp.org>
2056         execute-tests: Fix compilation error with MSVC.
2057         * tests/test-execute-child.c (is_device): With _fstat, use
2058         'struct _stat', not 'struct stat'.
2060 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
2062         vararrays: just use 2.70
2063         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
2064         and later, since Autoconf 2.70 matches Gnulib now.
2066         sys_types: just use 2.70
2067         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
2068         Reindent to match Autoconf sources.
2069         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2071         stdint: port to Autoconf 2.70
2072         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
2073         instead of assuming that AC_INCLUDES_DEFAULT does it.
2074         The old code relied on AC_INCLUDES_DEFAULT being called
2075         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
2076         but this does not occur in Autoconf 2.70.
2078         pid_t.m4: just use 2.70
2079         * m4/pid_t.m4 (AC_TYPE_PID_T):
2080         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2082         largefile: just use 2.70
2083         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
2084         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2086         AC_C_RESTRICT: update from Autoconf
2087         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
2088         as a prerequisite, not 2.69c, since 2.70 is now out.
2089         (AC_C_RESTRICT): Define only for 2.70 or earlier.
2090         Try __restrict__ before __restrict.
2092         extensions: update from Autoconf
2093         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
2094         Provide a default implementation for Autoconf 2.69 or earlier.
2095         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
2096         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
2098         alloca: update from Autoconf
2099         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
2100         Trivial update to match Autoconf 2.70.
2102 2020-12-11  Bruno Haible  <bruno@clisp.org>
2104         memchr: Work around memory overrun bug on AIX 7.2.
2105         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
2106         * doc/posix-functions/memchr.texi: Mention the AIX bug.
2108 2020-12-11  Bruno Haible  <bruno@clisp.org>
2110         execute-tests: Fix compilation error on AIX in 32-bit mode.
2111         * tests/test-execute-child.c: In order to get the original definition of
2112         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
2113         include the system's <sys/stat.h> and use it before including other
2114         header files.
2116 2020-12-10  Bruno Haible  <bruno@clisp.org>
2118         windows-spawn: Relicense under LGPLv2+.
2119         * modules/windows-spawn (License): Change to LGPLv2+.
2121 2020-12-10  Bruno Haible  <bruno@clisp.org>
2123         execute, spawn-pipe: Fix memory leak on native Windows.
2124         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
2125         * lib/windows-spawn.c: Don't include xalloc.h.
2126         (quoted_arg_length, quoted_arg_string): New functions, extracted from
2127         prepare_spawn.
2128         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
2129         elements of *new_argv together.
2130         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
2131         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
2132         * lib/os2-spawn.c: Don't include xalloc.h.
2133         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
2134         elements of *new_argv together.
2135         * lib/execute.c: Include xalloc.h.
2136         (execute): Check return value of prepare_spawn. Free the memory
2137         allocated by prepare_spawn.
2138         * modules/execute (Depends-on): Add xalloc-die.
2139         * lib/spawn-pipe.c: Include xalloc.h.
2140         (create_pipe): Check return value of prepare_spawn. Free the memory
2141         allocated by prepare_spawn.
2142         * modules/spawn-pipe (Depends-on): Add xalloc-die.
2144 2020-12-10  Bruno Haible  <bruno@clisp.org>
2146         findprog-in: Relicense under LGPLv2+.
2147         Paul Smith's approval is in
2148         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
2149         * modules/findprog-in (License): Change to LGPLv2+.
2151 2020-12-10  Bruno Haible  <bruno@clisp.org>
2153         findprog-in: Don't exit upon out-of-memory.
2154         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
2155         code.
2156         * lib/findprog-in.c: Don't include xalloc.h.
2157         (find_in_given_path): Call concatenated_filename, not
2158         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
2159         return NULL with errno set.
2160         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
2161         concat-filename, strdup-posix, malloc-posix.
2163 2020-12-09  Bruno Haible  <bruno@clisp.org>
2165         fmaf: Work around a bug on FreeBSD 12.2/arm.
2166         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
2167         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
2169 2020-12-09  Bruno Haible  <bruno@clisp.org>
2171         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
2172         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
2173         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
2174         * lib/glthread/threadlib.c: Include <errno.h>.
2175         (glthread_in_use): For FreeBSD, provide an alternative implementation
2176         that uses pthread_key_create.
2178 2020-12-09  Bruno Haible  <bruno@clisp.org>
2180         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
2181         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
2182         not 'isnan'.
2184 2020-12-08  Bruno Haible  <bruno@clisp.org>
2186         std-gnu11: Make compatible with Autoconf 2.70.
2187         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
2188         use.
2190 2020-12-08  Bruno Haible  <bruno@clisp.org>
2192         argp: Avoid undefined behaviour when invoking qsort().
2193         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
2194         Reported by Jeffrey Walton <noloader@gmail.com> in
2195         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
2196         * lib/argp-help.c (group_cmp): Remove third argument.
2197         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
2198         upon hol_cluster_cmp.
2199         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
2200         (hol_entry_cmp): Rewritten to implement a total order.
2202 2020-12-08  Bruno Haible  <bruno@clisp.org>
2204         argp: Improve comments.
2205         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
2206         null pointer.
2207         (struct hol_entry): Fix comment regarding sort order of group.
2208         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
2209         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
2210         (hol_cluster_is_child, argp_hol): Move functions.
2211         (HOL_ENTRY_PTRCMP): Remove unused macro.
2213 2020-12-08  Bruno Haible  <bruno@clisp.org>
2215         argp: Don't pass invalid arguments to isspace() and isalnum().
2216         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
2217         before passing it to isspace() or isalnum().
2219 2020-12-08  Bruno Haible  <bruno@clisp.org>
2221         argp: Don't rely on undefined behaviour of _tolower().
2222         Patch by Eric Blake
2223         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
2224         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
2225         not upper-case.  Pass correct range to tolower.
2227 2020-12-07  Bruno Haible  <bruno@clisp.org>
2229         unicodeio: Fix wrong result on FreeBSD.
2230         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
2231         characters on all platforms.
2233 2020-12-07  Bruno Haible  <bruno@clisp.org>
2235         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
2236         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
2237         FreeBSD systems.
2239 2020-12-07  Bruno Haible  <bruno@clisp.org>
2241         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
2242         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
2243         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
2244         trivially of sbrk is not available.
2245         * doc/glibc-functions/sbrk.texi: Mention that the function does not
2246         exist in FreeBSD 12.2/arm64.
2247         * doc/glibc-functions/brk.texi: Likewise.
2249 2020-12-07  Bruno Haible  <bruno@clisp.org>
2251         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
2252         Suggested by Zack Weinberg in
2253         <https://savannah.gnu.org/support/?110294>.
2254         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
2255         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
2257 2020-12-07  Bruno Haible  <bruno@clisp.org>
2259         Tweak the Windows oldnames workaround.
2260         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
2261         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
2262         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
2263         always.
2264         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
2265         * lib/stdlib.in.h (putenv): Likewise.
2267 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2269         doc: fix flat address space discussion
2270         * doc/gnulib-readme.texi (Other portability assumptions):
2271         Move the all-bits-zero assumption outside the flat address space
2272         section, since the two issues are independent.
2274         doc: document -static-libubsan more
2275         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
2276         -static-libubsan a bit more.  Mostly cons.
2278 2020-12-06  Bruno Haible  <bruno@clisp.org>
2280         doc: Add more details regarding the undefined behaviour sanitizer.
2281         * doc/gnulib-readme.texi (High Quality): Describe
2282         -fsanitize-undefined-trap-on-error better.
2284 2020-12-06  Bruno Haible  <bruno@clisp.org>
2286         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
2287         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
2288         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
2289         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
2290         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
2291         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
2292         a preprocessor #define.
2293         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
2294         * lib/search.in.h (lfind, lsearch): Likewise.
2295         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
2296         Likewise.
2297         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
2298         * lib/string.in.h (memccpy, strdup): Likewise.
2299         * lib/sys_stat.in.h (chmod, umask): Likewise.
2300         * lib/time.in.h (tzset): Likewise.
2301         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
2302         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
2303         read, rmdir, swab, unlink, write): Likewise.
2304         * lib/utime.in.h (utime): Likewise.
2305         * lib/wchar.in.h (wcsdup): Likewise.
2306         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
2307         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
2308         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
2309         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
2310         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2311         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2312         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
2313         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
2315         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
2316         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
2317         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
2318         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
2319         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
2321 2020-12-06  Bruno Haible  <bruno@clisp.org>
2323         doc: Mention some missing function declarations.
2324         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
2325         AIX.
2326         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
2327         FreeBSD.
2328         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
2329         Cygwin.
2330         * doc/pastposix-functions/fcvt.texi: Likewise.
2331         * doc/pastposix-functions/gcvt.texi: Likewise.
2333 2020-12-06  Bruno Haible  <bruno@clisp.org>
2335         doc: Tweak example.
2336         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
2337         'print'.
2339 2020-12-06  Bruno Haible  <bruno@clisp.org>
2341         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
2342         * tests/test-filenamecat.c: Include idx.h.
2343         (main): Mark prefixlen as nonnegative.
2344         * modules/filenamecat-tests (Depends-on): Add idx.
2346 2020-12-06  Bruno Haible  <bruno@clisp.org>
2348         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
2349         * lib/time_rz.c: Include idx.h.
2350         (save_abbr): Mark zone_size as nonnegative.
2351         * modules/time_rz (Depends-on): Add idx.
2353 2020-12-06  Bruno Haible  <bruno@clisp.org>
2355         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
2356         * lib/parse-datetime.y: Include idx.h.
2357         (textint): Mark digits as nonnegative.
2358         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
2359         dsts_seen, times_seen, zones_seen as nonnegative.
2360         (lookup_word): Mark wordlen as nonnegative.
2361         (yylex): Mark count as nonnegative.
2362         (parse_datetime2): Mark tzsize as nonnegative.
2363         * modules/parse-datetime (Depends-on): Add idx.
2365 2020-12-06  Bruno Haible  <bruno@clisp.org>
2367         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
2368         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
2369         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
2370         nonnegative.
2371         * modules/fnmatch (Depends-on): Add idx.
2373 2020-12-06  Bruno Haible  <bruno@clisp.org>
2375         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
2376         * lib/c-stack.c: Include idx.h.
2377         (die): Mark buflen as nonnegative.
2378         * modules/c-stack (Depends-on): Add idx.
2380 2020-12-06  Bruno Haible  <bruno@clisp.org>
2382         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
2383         * lib/backupfile.c: Include idx.h.
2384         (numbered_backup): Mark base_offset as nonnegative.
2385         (backupfile_internal): Likewise.
2386         * modules/backup-rename (Depends-on): Add idx.
2387         * modules/backupfile (Depends-on): Likewise.
2389 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
2391         doc: fix curved quotes issue
2392         * doc/gnulib.texi: Set txicodequoteundirected and
2393         txicodequotebacktick so that ` and ' in examples do not generate
2394         curved single quotes that do the wrong thing when cut and pasted.
2396         doc: mention static and dynamic checking
2397         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
2398         for static and dynamic checking.
2400         intprops: Add INT_ADD_OK etc.
2401         * doc/intprops.texi (Checking Integer Overflow): New section.
2402         * lib/intprops.h: From a suggestion by Bruno Haible in:
2403         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
2404         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
2406         doc: move exotic platfroms to Target Platforms
2407         * doc/gnulib-intro.texi (Supported Platforms)
2408         (Formerly Supported Platforms, Unsupported Platforms):
2409         New subsections, split off from Target Platforms.
2410         (Unsupported Platforms): Move the exotic-platform stuff here ...
2411         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
2412         section.
2414         doc: mention intptr_t etc. and IBM i
2415         * doc/gnulib-readme.texi (Other portability assumptions):
2416         Mention intptr_t and uintptr_t, and that arithmetic on them
2417         works in the usual way.
2418         (Exotic platforms): New section, containing material from
2419         the old 'Integer Portability' section.  Also mention IBM i.
2420         * doc/intprops.texi (Wraparound Arithmetic):
2421         Say that the macros work on unsigned integers too.
2422         (Integer Portability): Remove.
2424 2020-12-04  Bruno Haible  <bruno@clisp.org>
2426         utime: Fix a test failure on macOS 10.13.
2427         Reported by Martin Storsjö <martin@martin.st> in
2428         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2429         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
2430         slashes on files.
2431         * lib/utime.c (utime): Add alternative implementation for Unix
2432         platforms.
2433         * modules/utime (Depends-on): Add stat.
2434         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
2435         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
2436         trailing-slash bug.
2437         * doc/posix-functions/open.texi: Likewise.
2438         * doc/posix-functions/stat.texi: Likewise.
2439         * doc/posix-functions/symlink.texi: Likewise.
2441 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
2443         intprops: update doc and mention Unisys
2444         * doc/gnulib-readme.texi (Other portability assumptions):
2445         Also mention ptrdiff_t when talking about widths and overflow.
2446         * doc/intprops.texi (Integer Properties): Summarize new section.
2447         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
2448         evaluates its argument.
2449         (Integer Bounds): Fix typo.
2450         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
2451         Document that the _WRAPV macros now support pointers to unsigned
2452         integers.
2453         (Integer Range Overflow): Update SEI CERT citation.
2454         (Integer Portability): New subsection, which mentions
2455         the oddball Unisys platforms as non-Gnulib targets.
2457 2020-12-03  Bruno Haible  <bruno@clisp.org>
2459         idx: Clarify that idx_t always behaves like a signed type.
2460         Suggested by Paul Eggert in
2461         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
2462         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
2463         Don't test UNSIGNED_IDX_T.
2465 2020-12-03  Bruno Haible  <bruno@clisp.org>
2467         idx: New module.
2468         * lib/idx.h: New file.
2469         * modules/idx: New file.
2470         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
2471         ptrdiff_t.
2472         * lib/canonicalize.c: Likewise.
2473         * modules/canonicalize-lgpl (Depends-on): Add idx.
2474         * modules/canonicalize (Depends-on): Likewise.
2476 2020-12-03  Bruno Haible  <bruno@clisp.org>
2478         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
2479         Reported by Martin Storsjö <martin@martin.st> in
2480         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2481         * tests/test-fprintf-posix3.c: Skip the test on macOS.
2482         (main): Return a different exit code at each point. Allow 100 KB extra
2483         memory consumption.
2484         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
2485         doesn't work" diagnostic.
2487 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2489         canonicalize: refactor can_mode flag
2490         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
2491         (multiple_bits_set): ... this new static function.  Uses changed.
2492         (canonicalize_filename_mode): Refactor for clarity to avoid
2493         modifying the CAN_MODE argument.
2495         canonicalize: prefer signed integer types
2496         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
2497         (seen_triple, canonicalize_filename_mode): Prefer signed to
2498         unsigned types where either will do, as they avoid some glitches
2499         in comparisons and can trap on overflow when debugging.
2501         canonicalize: fix most of another EOVERFLOW issue
2502         * lib/canonicalize.c (canonicalize_filename_mode):
2503         Do not call stat if fewer than 20 symlinks have been traversed.
2504         This avoids EOVERFLOW failure in the common case where there
2505         are not that many symlinks, while continuing to catch loops
2506         (or fail due to EOVERFLOW) in the unusual case when there
2507         are many symlinks to traverse.
2509         canonicalize: do not assume symlinks have st_ino
2510         * lib/canonicalize.c (canonicalize_filename_mode):
2511         When checking for loops, use st_dev and st_ino from the parent
2512         directory not from the symlink, as pre-2017 POSIX says these
2513         members are not reliable for symlinks.  Couple this with START
2514         (the remaining file name to be resolved), not NAME (the whole file
2515         name with START as its suffix).
2516         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
2518         canonicalize: fix EOVERFLOW bug
2519         * lib/canonicalize.c (canonicalize_filename_mode):
2520         When testing whether a directory entry is a symbolic link, or a
2521         directory or other, do not use lstat or stat or
2522         areadlink_with_size.  Just use areadlink, as this suffices and it
2523         avoids the EOVERFLOW problem that lstat and stat have.
2524         * modules/canonicalize (Depends-on): Depend on areadlink instead
2525         of areadlink-with-size and stat.
2527         canonicalize-lgpl: fix EOVERFLOW bug
2528         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
2529         (__realpath): Do not use lstat.  Just use readlink, as this
2530         suffices and it avoids the EOVERFLOW problem that lstat has.
2531         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
2533 2020-12-02  Bruno Haible  <bruno@clisp.org>
2535         strsignal-tests: Fix test failure on macOS 10.13.
2536         Reported by Martin Storsjö <martin@martin.st> in
2537         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2538         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
2539         to be longer than the expected result.
2541 2020-12-02  Bruno Haible  <bruno@clisp.org>
2543         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
2544         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
2545         recursive self-include problem on FreeBSD 12.2 in C++ mode.
2547 2020-12-02  Bruno Haible  <bruno@clisp.org>
2549         spawn-pipe: Allow caller to specify directory for the subprocess.
2550         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
2551         Add directory argument.
2552         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
2553         (create_pipe): Add directory argument. If specified, resolve the program
2554         file name and make it absolute, first. Pass the directory to spawnpvech
2555         and posix_spawn_file_actions_addchdir.
2556         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
2557         argument.
2558         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
2559         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
2560         * tests/test-spawn-pipe-main.c (test_pipe): Update.
2561         * NEWS: Mention the change.
2562         * lib/csharpcomp.c (compile_csharp_using_mono,
2563         compile_csharp_using_sscli): Update.
2564         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
2565         is_gcj_43): Update.
2566         * lib/javaversion.c (execute_and_read_line): Update.
2567         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
2568         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
2570 2020-12-02  Bruno Haible  <bruno@clisp.org>
2572         execute: Allow caller to specify directory for the subprocess.
2573         * lib/execute.h (execute): Add directory argument.
2574         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
2575         (execute): Add directory argument. If specified, resolve the program
2576         file name and make it absolute, first. Pass the directory to spawnpvech
2577         and posix_spawn_file_actions_addchdir.
2578         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
2579         posix_spawn, posix_spawn_file_actions_addchdir.
2580         * tests/test-execute-main.c: Add test for passing a directory.
2581         * tests/test-execute-child.c: Likewise.
2582         * tests/test-execute.sh: Update.
2583         * modules/execute-tests (Depends-on): Add mkdir.
2584         * NEWS: Mention the change.
2585         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
2586         * lib/csharpexec.c (execute_csharp_using_mono,
2587         execute_csharp_using_sscli): Update.
2588         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
2589         compile_using_javac, compile_using_jikes, is_javac_present,
2590         is_jikes_present): Update.
2591         * lib/javaexec.c (execute_java_class): Update.
2593 2020-12-01  Bruno Haible  <bruno@clisp.org>
2595         vma-iter: Add support for macOS11/arm64.
2596         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
2597         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
2598         and by Martin Storsjö <martin@martin.st> in
2599         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2600         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
2602 2020-12-01  Bruno Haible  <bruno@clisp.org>
2604         spawn-pipe: Fix handling of OS/2 kLIBC.
2605         Reported by KO Myung-Hun <komh78@gmail.com> in
2606         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
2607         * modules/spawn-pipe (configure.ac): Use the common idiom for
2608         recognizing the OS/2 operating system.
2610 2020-11-30  Bruno Haible  <bruno@clisp.org>
2612         execute: Fix uninitialized use of errno.
2613         * lib/execute.c (execute): Preserve errno across several system calls.
2615 2020-11-30  Bruno Haible  <bruno@clisp.org>
2617         access tests: Fix test failure on native Windows.
2618         * tests/test-access.c (main): Change permissions of f2 file before
2619         attempting to remove it.
2621 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2623         faccessat: link with $(LIB_EACCESS)
2624         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
2625         module depends on euidaccess.
2627 2020-11-30  Bruno Haible  <bruno@clisp.org>
2629         execute, spawn-pipe: Make multithread-safe on native Windows.
2630         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
2631         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
2632         (spawnpvech): New declaration.
2633         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
2634         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
2635         (_): Remove macro.
2636         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
2637         undup_safer_noinherit): Remove functions.
2638         (spawnpvech): New function.
2639         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
2640         cloexec, dup2, error, gettext-h.
2641         * lib/execute.c: Include msvc-nothrow.h.
2642         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
2643         * lib/spawn-pipe.c: Include msvc-nothrow.h.
2644         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
2645         instead of _spawnvpe.
2646         * modules/execute (Depends-on): Add msvc-nothrow.
2647         * modules/spawn-pipe (Depends-on): Likewise.
2649 2020-11-30  Bruno Haible  <bruno@clisp.org>
2651         execute, spawn-pipe: Improve documentation.
2652         * lib/execute.h: Describe progname, prog_path, prog_argv.
2653         * lib/spawn-pipe.h: Likewise.
2655 2020-11-30  Bruno Haible  <bruno@clisp.org>
2657         execute tests: Add more tests.
2658         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
2659         inherited file descriptors >= 3.
2660         * tests/test-execute-child.c: Likewise.
2661         * tests/test-execute.sh: Update.
2663 2020-11-30  Bruno Haible  <bruno@clisp.org>
2665         havelib: Fix for non-ELF platforms (regression 2019-11-17).
2666         Reported by comex <comexk@gmail.com> in
2667         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
2668         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
2669         don't expect an ELF header.
2671 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2673         bitset: use integer_length in table implementation
2674         * lib/bitset/table.c (tbitset_list_reverse): Use
2675         BITSET_FOR_EACH_BIT_REVERSE.
2677 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2679         bitset: use integer_length in list implementation
2680         * lib/bitset/list.c (lbitset_list_reverse): Use
2681         BITSET_FOR_EACH_BIT_REVERSE.
2683 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2685         bitset: use integer_length in vector implementation
2686         * lib/bitset/array.c (vbitset_list_reverse): Use
2687         BITSET_FOR_EACH_BIT_REVERSE.
2689 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2691         bitset: use integer_length in array implementation
2692         * modules/bitset (Depends-on): Add integer_length_l.
2693         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
2694         * lib/bitset/array.c (abitset_list_reverse): Use it.
2696 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2698         bitset: style: use consistent names
2699         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
2700         and 'boffset' as 'bitoff', for consistency with the other
2701         implementations.
2702         * bitset/table.c (tbitset_list_reverse): Likewise.
2704 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2706         bitset: style: sort header
2707         * lib/bitset/base.h (bitset_ffs): Rename as...
2708         (bitset_ffs_): this.
2709         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
2711 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2713         bitset: tests: check BITSET_FOR_EACH_REVERSE
2714         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
2715         Check BITSET_FOR_EACH_REVERSE.
2717 2020-11-29  Bruno Haible  <bruno@clisp.org>
2719         spawn-pipe tests: Fix test failure with MSVC.
2720         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
2721         (gl_msvc_invalid_parameter_handler): New function.
2722         (main): Set a global invalid-parameter handler.
2723         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
2725 2020-11-29  Bruno Haible  <bruno@clisp.org>
2727         execute: Add tests.
2728         * tests/test-execute.sh: New file.
2729         * tests/test-execute-main.c: New file.
2730         * tests/test-execute-child.c: New file.
2731         * modules/execute-tests: New file.
2733 2020-11-29  Bruno Haible  <bruno@clisp.org>
2735         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
2736         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
2737         works.
2738         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
2739         fallback implementation as on Haiku.
2740         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
2741         effective.
2742         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
2744 2020-11-29  Bruno Haible  <bruno@clisp.org>
2746         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
2747         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
2748         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
2749         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
2750         * lib/windows-spawn.c: Remove modifications for kLIBC.
2751         * modules/spawn-pipe (Files): Add the new files.
2752         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
2754 2020-11-28  Bruno Haible  <bruno@clisp.org>
2756         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
2757         Reported by Paul Eggert in
2758         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
2759         * m4/sparcv8+.m4: New file.
2760         * modules/sparcv8+: New file.
2761         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
2763 2020-11-28  Bruno Haible  <bruno@clisp.org>
2765         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
2766         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
2768 2020-11-28  Bruno Haible  <bruno@clisp.org>
2770         windows-spawn: New module.
2771         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
2772         implementations.
2773         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
2774         * modules/windows-spawn: New file.
2775         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
2776         * lib/spawn-pipe.c: Likewise.
2777         * modules/execute (Files): Remove lib/w32spawn.h.
2778         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2779         xalloc.
2780         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2781         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
2782         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2783         xalloc.
2784         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2786 2020-11-27  Bruno Haible  <bruno@clisp.org>
2788         ssfmalloc tests: Port to macOS 11.
2789         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
2791 2020-11-26  Bruno Haible  <bruno@clisp.org>
2793         Fix dependencies of modules that use '_exit' on native Windows.
2794         Reported by Jim Meyering in
2795         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
2796         * modules/_Exit (Depends-on): Add unistd.
2797         * modules/closein (Depends-on): Likewise.
2798         * modules/closeout (Depends-on): Likewise.
2799         * modules/forkpty (Depends-on): Likewise.
2800         * modules/posix_spawn-internal (Depends-on): Likewise.
2801         * modules/savewd (Depends-on): Likewise.
2802         * modules/stat-time-tests (Depends-on): Likewise.
2804 2020-11-26  Bruno Haible  <bruno@clisp.org>
2806         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
2807         * modules/raise-tests (Depends-on): Add unistd.
2808         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
2810 2020-11-25  Jim Meyering  <meyering@fb.com>
2812         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
2813         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
2814         non-NULL, since we don't bother handing strdup failure.
2816         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
2817         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
2818         * tests/test-raise.c: Include unistd.h.
2819         (handler): Use _exit, not exit.
2821 2020-11-23  Bruno Haible  <bruno@clisp.org>
2823         Use the correct printf format attribute for mingw.
2824         Reported by Reuben Thomas <rrt@sc3d.org> in
2825         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
2827         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
2828         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
2830         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
2831         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
2832         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2833         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
2834         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
2835         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
2837         * modules/vasnprintf (Depends-on): Add stdio.
2838         * lib/vasnprintf.h: Include <stdio.h>.
2839         (asnprintf, vasnprintf): Use the standard printf format attribute.
2841         * modules/xvasprintf (Depends-on): Add stdio.
2842         * lib/xvasprintf.h: Include <stdio.h>.
2843         (xasprintf, xvasprintf): Use the standard printf format attribute.
2845         * modules/xprintf (Depends-on): List stdio first.
2846         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
2847         depends on GNULIB_VPRINTF_POSIX.
2848         (xfprintf, xvfprintf): Use a printf format attribute that depends on
2849         GNULIB_VFPRINTF_POSIX.
2851         * modules/c-vasnprintf (Depends-on): Add stdio.
2852         * lib/c-vasnprintf.h: Include <stdio.h>.
2853         (c_vasnprintf): Use the standard printf format attribute.
2855         * modules/c-vasprintf (Depends-on): Add stdio.
2856         * lib/c-vasprintf.h: Include <stdio.h>.
2857         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
2859         * modules/c-vsnprintf (Depends-on): Add stdio.
2860         * lib/c-vsnprintf.h: Include <stdio.h>.
2861         (c_vsnprintf): Use the standard printf format attribute.
2863         * modules/c-snprintf (Depends-on): Add stdio.
2864         * lib/c-snprintf.h: Include <stdio.h>.
2865         (c_snprintf): Use the standard printf format attribute.
2867         * modules/c-xvasprintf (Depends-on): Add stdio.
2868         * lib/c-xvasprintf.h: Include <stdio.h>.
2869         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
2871         * modules/error (Depends-on): Depend on stdio always.
2872         * lib/error.h: Include <stdio.h>.
2873         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
2874         (error, error_at_line): Use a printf format attribute that depends on
2875         GNULIB_VFPRINTF_POSIX.
2876         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2877         _GL_ATTRIBUTE_FORMAT_PRINTF.
2879         * modules/verror (Depends-on): Add stdio.
2880         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
2881         (verror, verror_at_line): Use the standard printf format attribute.
2882         * lib/verror.c: Include "error.h".
2884         * modules/argp (Depends-on): Add stdio.
2885         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
2886         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
2888         * modules/libtextstyle-optional (Depends-on): Add stdio.
2889         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
2890         printf format attribute.
2892         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
2893         format attribute.
2895 2020-11-23  Pádraig Brady  <P@draigBrady.com>
2897         selinux-at, selinux-h: use const correct declarations
2898         * lib/se-selinux.in.h: Use const for "set" functions,
2899         to match current selinux, and support cleaner user code.
2900         * lib/selinux-at.c: Likewise.
2901         * lib/selinux-at.h: Likewise.
2903 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
2905         canonicalize-lgpl: fix memory leak
2906         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
2907         which could have occurred if BUF was so large that malloc was
2908         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
2909         this eliminates the need to free BUF separately.
2911 2020-11-22  Bruno Haible  <bruno@clisp.org>
2913         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
2914         * modules/xvasprintf (Depends-on): Add xalloc.
2915         * modules/pipe-filter-gi (Depends-on): Likewise.
2916         * modules/execute (Depends-on): Likewise, for w32spawn.h.
2917         * modules/spawn-pipe (Depends-on): Likewise.
2919 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
2921         bootstrap: add option hooks
2922         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
2923         (bootstrap_option_hook): Likewise.
2924         (usage): Call bootstrap_print_option_usage_hook.
2926 2020-11-22  Bruno Haible  <bruno@clisp.org>
2928         argp: Don't break getprogname on non-glibc systems.
2929         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
2930         program_invocation_name and program_invocation_short_name.
2932 2020-11-22  Bruno Haible  <bruno@clisp.org>
2934         doc: Document <link.h>.
2935         * doc/glibc-headers/link.texi: New file.
2936         * doc/gnulib.texi: Include it.
2938 2020-11-22  Bruno Haible  <bruno@clisp.org>
2940         doc: Add references to the LSB.
2941         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
2942         * doc/posix-functions/*.texi: Likewise.
2944 2020-11-22  Bruno Haible  <bruno@clisp.org>
2946         doc: Fix a makeinfo warning (regression 2020-11-03).
2947         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
2949 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
2951         parse-datetime: fix printf format typo
2952         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
2953         previous patch to this file.  Problem reported by Chris Elvidge in
2954         <https://bugs.gnu.org/44763#32>.
2956         setlocale-null-tests: work around GCC bug 44511
2957         * tests/test-setlocale_null-mt-all.c:
2958         * tests/test-setlocale_null-mt-one.c:
2959         Ignore -Wreturn-type, to work around GCC bug 44511.
2961         nl_langinfo-tests: work around GCC bug 44511
2962         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
2963         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
2964         Problem reported for GNU grep by Andreas Schwab
2965         <https://bugs.gnu.org/44535>.
2967         selinux-h: add stubs for selabel_open etc.
2968         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
2969         because matchpathcon is deprecated in favor of selabel_open etc.,
2970         so this patch adds stubs for these functions.
2971         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
2972         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
2973         as it is needed for selabel_open and selinux/selinux.h declares
2974         this type here.
2975         * modules/selinux-h (Files): Add the new files.
2976         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
2977         (lib_SOURCES): Add se-label.in.h, se-label.c.
2978         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
2979         (selinux/label.h): New rule, mimicking selinux/context.h.
2980         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
2981         (Include): Add selinux/label.h.
2983 2020-11-21  Bruno Haible  <bruno@clisp.org>
2985         Update after 'test-driver' in Automake changed.
2986         * build-aux/test-driver.diff: Rebase.
2988 2020-11-21  Daiki Ueno  <ueno@gnu.org>
2990         read-file: remove dead assignment
2991         * lib/read-file.c (fread_file): Remove dead assignment when
2992         RF_SENSITIVE is set, flagged by clang-analyzer.
2994 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2996         bitset: tests: exercise the stats too
2998         * tests/test-bitset.c: Display the stats at the end of the test.
2999         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
3000         last bin, display "256-..." rather that "256-511", since the last bin
3001         does count item greater than or equal to 256.
3003 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3005         bitset: tests: try harder to break it
3006         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
3007         BITSET_LIST_SIZE.
3008         (main): Likewise.
3009         While at it, also exercise super small bitsets.
3011 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3013         bitset: use ffs where possible in the vector implementation
3014         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
3016 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3018         bitset: use ffs where possible in the table implementation
3019         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
3021 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3023         bitset: check empty and full bitsets
3024         * tests/test-bitset.c (check_zero, check_ones): New.
3025         (check_attributes): Use them.
3027 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
3029         bitset: be sure to always return a value
3030         * lib/bitset/array.c (abitset_small_list): Always update *next and
3031         return a value.
3033 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3035         vcs-to-changelog: Expect spaces in file names
3036         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
3037         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
3038         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
3039         tabs to spaces.
3040         (list_changes): Use tabs to identify file names.
3042 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3044         bitset: strengthen tests
3045         * tests/test-bitset.c (compare): Also check count.
3046         Deal only with random values, move the one-bit tests to...
3047         (check_one_bit): this new function.
3048         (check_attributes): Call it.
3050 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3052         bitset: fix iteration over table bitsets
3053         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
3055 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3057         bitset: rename internal details for consistency
3058         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
3060 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3062         bitset: test: run deterministic tests on several bitset sizes
3063         * tests/test-bitset.c (check_attributes): Run it with small and large
3064         sizes.
3066 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3068         bitset: use ffs where possible in the list implementation
3069         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
3071 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3073         bitset: use ffs where possible in array implementation
3074         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
3076 2020-11-17  Bruno Haible  <bruno@clisp.org>
3078         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
3079         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
3080         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
3081         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
3082         C++ mode.
3084 2020-11-17  Bruno Haible  <bruno@clisp.org>
3086         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
3087         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
3088         is always declared.
3089         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
3090         declared.
3092 2020-11-17  Bruno Haible  <bruno@clisp.org>
3094         Fix link errors on AIX.
3095         * modules/clean-temp (Link): Link with $(LIBTHREAD).
3096         * modules/getumask (Link): Link with $(LIBTHREAD).
3097         * modules/getumask-tests (Makefile.am): Link test-getumask with
3098         $(LIBTHREAD).
3099         * modules/supersede (Link): Link with $(LIBTHREAD).
3100         * modules/supersede-tests (Makefile.am): Link test-supersede with
3101         $(LIBTHREAD).
3102         * modules/fatal-signal (Link): New section.
3103         * modules/execute (Link): New section.
3104         * modules/csharpexec (Link): Link with $(LIBTHREAD).
3105         * modules/javaexec (Link): Link with $(LIBTHREAD).
3106         * modules/spawn-pipe (Link): New section.
3107         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
3108         $(LIBTHREAD).
3109         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
3110         * modules/javacomp (Link): Link with $(LIBTHREAD).
3111         * modules/javaversion (Link): Link with $(LIBTHREAD).
3112         * modules/pipe-filter-gi (Link): New section.
3113         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
3114         test-pipe-filter-gi2-main with $(LIBTHREAD).
3115         * modules/pipe-filter-ii (Link): New section.
3116         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
3117         test-pipe-filter-ii2-main with $(LIBTHREAD).
3118         * modules/term-style-control (Link): New section.
3119         * modules/term-style-control-tests (Makefile.am): Link
3120         test-term-style-control-hello, test-term-style-control-yes with
3121         $(LIBTHREAD).
3122         * modules/wait-process (Link): New section.
3123         * modules/nonblocking-pipe-tests (Makefile.am): Link
3124         test-nonblocking-pipe-main with $(LIBTHREAD).
3125         * modules/nonblocking-socket-tests (Makefile.am): Link
3126         test-nonblocking-socket-main with $(LIBTHREAD).
3128 2020-11-16  Bruno Haible  <bruno@clisp.org>
3130         Fix link errors on platforms with libunistring.
3131         * modules/c32isalnum (Link): New section.
3132         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
3133         $(LIBUNISTRING).
3134         * modules/c32isalpha (Link): New section.
3135         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
3136         $(LIBUNISTRING).
3137         * modules/c32isblank (Link): New section.
3138         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
3139         $(LIBUNISTRING).
3140         * modules/c32iscntrl (Link): New section.
3141         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
3142         $(LIBUNISTRING).
3143         * modules/c32isdigit (Link): New section.
3144         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
3145         $(LIBUNISTRING).
3146         * modules/c32isgraph (Link): New section.
3147         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
3148         $(LIBUNISTRING).
3149         * modules/c32islower (Link): New section.
3150         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
3151         $(LIBUNISTRING).
3152         * modules/c32isprint (Link): New section.
3153         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
3154         $(LIBUNISTRING).
3155         * modules/c32ispunct (Link): New section.
3156         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
3157         $(LIBUNISTRING).
3158         * modules/c32isspace (Link): New section.
3159         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
3160         $(LIBUNISTRING).
3161         * modules/c32isupper (Link): New section.
3162         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
3163         $(LIBUNISTRING).
3164         * modules/c32isxdigit (Link): New section.
3165         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
3166         $(LIBUNISTRING).
3167         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
3168         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
3169         $(LIBUNISTRING).
3171 2020-11-16  Bruno Haible  <bruno@clisp.org>
3173         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
3174         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
3175         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
3176         * modules/getumask-tests (Makefile.am): Link test-getumask with
3177         $(LIBINTL).
3178         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
3179         * modules/supersede-tests (Makefile.am): Link test-supersede with
3180         $(LIBINTL).
3181         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
3182         $(LIBINTL).
3184 2020-11-16  Bruno Haible  <bruno@clisp.org>
3186         getumask: Document link dependencies.
3187         * modules/getumask (Link): New section.
3189 2020-11-16  Bruno Haible  <bruno@clisp.org>
3191         Update link dependencies in modules after 2020-09-09 change.
3192         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
3193         * modules/mkdtemp (Link): Likewise.
3194         * modules/mkostemp (Link): Likewise.
3195         * modules/mkostemps (Link): Likewise.
3196         * modules/mkstemp (Link): Likewise.
3197         * modules/mkstemps (Link): Likewise.
3198         * modules/supersede (Link): Likewise.
3199         * modules/tmpfile (Link): Likewise.
3200         * modules/tmpfile-safer (Link): Likewise.
3202 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
3204         getumask-tests: port to Solaris 10 etc.
3205         Problem reported by Tom Christensen in:
3206         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
3207         * modules/getumask-tests (test_getumask_LDADD):
3208         Add $(LIB_CLOCK_GETTIME).
3210 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3212         bitset: use ffsl to accelerate iterations over set bits
3213         Suggested by Bruno Haible.
3214         * modules/bitset: Depend upon ffsl.
3215         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
3216         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
3218 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3220         bitset: more tests
3221         * tests/test-bitset.c (compare): Make it clear that the random values
3222         should not be modified.
3223         Check bitset_first, bitset_last and BITSET_FOR_EACH.
3225 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3227         bitset: fix the copy from lbitset to other types
3228         * lib/bitset/list.c (lbitset_copy): Rename as...
3229         (lbitset_copy_): this.
3230         (lbitset_copy): New.
3231         Dispatch to heterogeneous/homogeneous copy.
3233 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3235         bitset: making debug traces more useful
3236         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
3238         bitset: comment changes
3239         * lib/bitset.c: Move some documenting comments to...
3240         * lib/bitset.h: here.
3241         * lib/bitset/array.c: Fix some comments.
3243 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3245         careadlinkat: warn better about GCC bug 93644
3246         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
3247         not in effect, use "#warning" to let builders know more clearly
3248         about GCC bug 93644, because the bug triggers even if no -W option
3249         is given to GCC.
3251 2020-11-13  Jim Meyering  <meyering@fb.com>
3253         hard-locale-tests: avoid a -Wstrict-prototypes warning
3254         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
3255         changing "main ()" to "main (void)". This was the only case that
3256         triggered a warning when building grep with --enable-gcc-warnings.
3258 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
3260         time_rz: simplify CVE-2017-7476 fix
3261         * lib/time_rz.c: Do not include limits.h; I think it was included
3262         under the mistaken impression that limits.h defines SIZE_MAX.
3263         (SIZE_MAX): Remove.
3264         (save_abbr): Put string length into a ptrdiff_t variable,
3265         so that the size comparison works naturally.  This
3266         fixes CVE-2017-7476 in a cleaner way.
3268         parse-datetime: streamline overflow checking
3269         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
3270         did not work for unsigned destinations, and since time_t might
3271         be unsigned that meant it did not work for time_t destinations.
3272         This limitation of INT_ADD_WRAPV has been fixed, so we can
3273         now streamline parse-datetime.y a bit.
3274         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
3275         has not been used for a while.
3276         (yylex, parse_datetime2): Assume C99 declarations after statements.
3277         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
3278         to TYPE_MINIMUM.
3279         (parse_datetime2): No need for time_overflow now that
3280         INT_ADD_WRAPV works for unsigned results.
3282         parse-datetime-tests: port to Alpine Linux 3.12.1
3283         * tests/test-parse-datetime.c: Include errno.h for errno,
3284         and unistd.h for _SC_TZNAME_MAX and sysconf.
3285         (main): In the outlandishly-long time zone abbreviation test,
3286         do not exceed TZNAME_MAX as this has undefined behavior,
3287         and on Alpine Linux 3.12.1 it makes the test fail.
3289 2020-11-09  Pádraig Brady  <P@draigBrady.com>
3291         mgetgroups: avoid warning with clang
3292         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
3293         so disable -Wpointer-sign for all clang versions.
3295 2020-11-07  Bruno Haible  <bruno@clisp.org>
3297         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
3298         Reported by Simon Josefsson in
3299         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
3300         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
3301         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
3302         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
3304 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3306         tests: pacify Sun C 5.9
3307         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
3308         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
3309         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
3310         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
3311         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
3312         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
3313         Remove unreachable ‘return NULL;’s.
3315         tests: port better to XLC 12.01
3316         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
3317         even in code that is not executed, as IBM XLC 12.01 complains "The
3318         subscript -1 is less than zero."
3319         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
3320         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
3321         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
3322         arguments than are required by the macro definition."
3324 2020-11-03  Bruno Haible  <bruno@clisp.org>
3326         aligned-malloc: Use fixes from the new modules.
3327         * modules/aligned-malloc (Depends-on): Add posix_memalign,
3328         aligned_alloc, memalign.
3329         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
3331 2020-11-03  Bruno Haible  <bruno@clisp.org>
3333         aligned_alloc: Add tests.
3334         * tests/test-aligned_alloc.c: New file.
3335         * modules/aligned_alloc-tests: New file.
3337         aligned_alloc: New module.
3338         * lib/stdlib.in.h (aligned_alloc): New declaration.
3339         * lib/aligned_alloc.c: New file.
3340         * m4/aligned_alloc.m4: New file.
3341         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
3342         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
3343         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
3344         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
3345         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
3346         * modules/aligned_alloc: New file.
3347         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
3348         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
3349         AIX bug.
3351 2020-11-03  Bruno Haible  <bruno@clisp.org>
3353         posix_memalign: Add tests.
3354         * tests/test-posix_memalign.c: New file.
3355         * modules/posix_memalign-tests: New file.
3357         posix_memalign: New module.
3358         * lib/stdlib.in.h (posix_memalign): New declaration.
3359         * lib/posix_memalign.c: New file.
3360         * m4/posix_memalign.m4: New file.
3361         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
3362         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
3363         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
3364         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
3365         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
3366         * modules/posix_memalign: New file.
3367         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
3368         * doc/posix-functions/posix_memalign.texi: Mention the new module and
3369         the OpenBSD bug.
3371 2020-11-03  Bruno Haible  <bruno@clisp.org>
3373         memalign: Add tests.
3374         * tests/test-memalign.c: New file.
3375         * modules/memalign-tests: New file.
3377         memalign: New module.
3378         * modules/memalign: New file.
3379         * doc/glibc-functions/memalign.texi: Mention the new module.
3381 2020-11-03  Bruno Haible  <bruno@clisp.org>
3383         verify tests: Fix crash with GCC (regression 2020-11-02).
3384         * tests/test-verify.c (main): Fix initializer of s.
3386 2020-11-03  Pádraig Brady  <P@draigBrady.com>
3388         mountlist: recognize more file system types as remote
3390         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
3391         "remote" file systems from stat.c in coreutils.
3393 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
3395         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
3396         * tests/test-verify.c (main): Initialize state variable.
3397         Reported by Bruno Haible for GCC 5.4.0.
3399 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3401         dfa.h: support inclusion from C++
3402         * lib/dfa.h: Allow multiple inclusion, and inclusion from
3403         C++ code.  The latter was suggested by Arnold Robbins.
3405 2020-11-01  Bruno Haible  <bruno@clisp.org>
3407         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
3408         * tests/test-ssfmalloc.c: Include <limits.h>.
3409         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
3411 2020-11-01  Bruno Haible  <bruno@clisp.org>
3413         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
3414         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
3416 2020-11-01  Jim Meyering  <meyering@fb.com>
3418         dfa-tests: test for today's invalid-merge fix
3419         * tests/test-dfa-invalid-merge.sh: New file.
3420         * modules/dfa-tests (Files): Add it.
3421         (TESTS): Add it.
3423 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3425         dfa: retain sequences of similar nodes in optimization
3426         DFA was merging similar nodes when it should not.  For example,
3427         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
3428         is not merged.  Problem reported by Gonzalo Padrino in
3429         https://bugs.gnu.org/44351
3430         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
3431         optimization.
3433 2020-11-01  Jim Meyering  <meyering@fb.com>
3435         test-dfa-match-aux.c: accept EREs, not BREs
3436         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
3437         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
3439 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
3441         verify tests: avoid -Wmissing-declarations warnings
3442         * tests/test-verify.c (test_assume_expressions): Add declaration.
3443         (test_assume_optimization): Likewise.
3444         (test_assume_noreturn): Likewise.
3445         (main): Move down after all other definitions.  While at it, also
3446         call test_assume_expressions and test_assume_optimization as a
3447         runtime check.
3449 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3451         sys_stat: update comments for S_IRWXUGO, S_IXUGO
3452         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
3453         Perhaps these macros should be removed, as they’re not in either
3454         POSIX or GNU.  They could be moved to stat-macros.h, which would
3455         be cleaner in some sense.
3457 2020-10-25  Bruno Haible  <bruno@clisp.org>
3459         ssfmalloc tests: Small tweaks.
3460         * tests/test-ssfmalloc.c: Add comments.
3461         (alloc_pages): Don't require PROT_EXEC bits.
3462         (block_sizes): Add more small sizes, for better coverage of
3463         ssfmalloc-bitmap.h.
3465         ssfmalloc tests: Portability to Minix.
3466         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
3467         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
3468         * m4/mmap-anon.m4: Update comment.
3470         ssfmalloc: Portability to AIX.
3471         * modules/ssfmalloc (Include): Add ssfmalloc.h.
3472         (Link): New section.
3473         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
3474         $(LIBTHREAD).
3476         ssfmalloc: Portability to Cygwin.
3477         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
3478         (pg_offset_t): Define depending on PAGESIZE_MAX.
3479         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
3480         (PAGESIZE_MAX): New macro.
3482         ssfmalloc: Fix buffer overrun in bitmap search.
3483         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
3484         word *words_end.
3486 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3488         doc: mention ‘restrict’ and C++
3489         * doc/gnulib-readme.texi (C99 features assumed): Document
3490         that ‘restrict’ should be avoided in C++ code.
3492 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
3494         selinux-at, selinux-h: port to SELinux 3.1
3495         The new release finally deprecated the typedef 'security_context_t',
3496         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
3497         Use the simpler 'char *' instead.
3498         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
3499         (lgetfilecon): Likewise.
3500         (fgetfilecon): Likewise.
3501         (map_to_failure): Likewise.
3502         (rpl_getfilecon): Likewise.
3503         (rpl_lgetfilecon): Likewise.
3504         (rpl_fgetfilecon): Likewise.
3505         * lib/se-selinux.in.h (security_context_t): Remove typedef.
3506         (getcon): Adjust type of context parameter.
3507         (freecon): Likewise.
3508         (getfscreatecon): Likewise.
3509         (setfscreatecon): Likewise.
3510         (matchpathcon): Likewise.
3511         (getfilecon): Likewise.
3512         (lgetfilecon): Likewise.
3513         (fgetfilecon): Likewise.
3514         (setfilecon): Likewise.
3515         (lsetfilecon): Likewise.
3516         (fsetfilecon): Likewise.
3517         (security_check_context): Likewise.
3518         (security_check_context_raw): Likewise.
3519         (setexeccon): Likewise.
3520         (security_compute_create): Likewise.
3521         * lib/selinux-at.c (getfileconat): Likewise.
3522         (lgetfileconat): Likewise.
3523         (setfileconat): Likewise.
3524         (lsetfileconat): Likewise.
3525         * lib/selinux-at.h: Likewise.
3527 2020-10-19  Bruno Haible  <bruno@clisp.org>
3529         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
3530         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
3531         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
3532         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
3533         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
3534         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
3535         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
3537 2020-10-18  Bruno Haible  <bruno@clisp.org>
3539         ssfmalloc: Add tests.
3540         * tests/test-ssfmalloc.c: New file.
3541         * modules/ssfmalloc-tests: New file.
3543         ssfmalloc: New module.
3544         * lib/ssfmalloc.h: New file.
3545         * lib/ssfmalloc-bitmap.h: New file.
3546         * modules/ssfmalloc: New file.
3548 2020-10-18  Bruno Haible  <bruno@clisp.org>
3550         wchar: Fix configure test result on some versions of AIX.
3551         Reported by Clément Chigot <clement.chigot@atos.net> in
3552         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
3553         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
3554         systems.
3556 2020-10-18  Bruno Haible  <bruno@clisp.org>
3558         time: Fix warning about asctime when asctime is not used.
3559         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
3560         invocation.
3562 2020-10-18  Bruno Haible  <bruno@clisp.org>
3564         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
3565         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
3566         '_GL_ATTRIBUTE_CONST'.
3567         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
3568         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
3569         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
3570         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
3571         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
3572         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
3573         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
3575 2020-10-18  Bruno Haible  <bruno@clisp.org>
3577         obstack: Fix a clang warning.
3578         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
3580 2020-10-16  Bruno Haible  <bruno@clisp.org>
3582         hash: Rename hash_delete to hash_remove.
3583         * lib/hash.h (hash_remove): Renamed from hash_delete.
3584         (hash_delete): New declaration.
3585         * lib/hash.c (hash_remove): Renamed from hash_delete.
3586         (hash_delete): New function.
3587         * tests/test-hash.c (main): Update.
3588         * lib/fts-cycle.c (leave_dir): Likewise.
3589         * NEWS: Mention the change.
3591 2020-10-16  Bruno Haible  <bruno@clisp.org>
3593         hash, xhash: Make usable from C++.
3594         * lib/hash.h: Add extern "C".
3596 2020-10-16  Bruno Haible  <bruno@clisp.org>
3598         hash, xhash: Move comments to the .h file.
3599         * lib/hash.c: Move comments meant for the user from here...
3600         * lib/xhash.c: ... and here...
3601         * lib/hash.h: ... to here.
3603 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
3605         Don't declare an intention to modify the return value of strerror.
3606         * tests/test-perror2.c (main): Assign the return value of strerror to a
3607         'const char *' variable.
3609 2020-10-11  Bruno Haible  <bruno@clisp.org>
3611         *printf: Avoid "expanded before it was required" warning.
3612         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
3613         AC_DEFUN_ONCE.
3615 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
3617         getprogname: Add support for OpenServer 6 and UnixWare 7.
3618         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
3619         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
3621 2020-10-11  Bruno Haible  <bruno@clisp.org>
3623         tests: Avoid a name clash on UnixWare.
3624         Reported by Tim Rice <tim@multitalents.net> in
3625         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
3626         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
3628 2020-10-11  Bruno Haible  <bruno@clisp.org>
3630         stdioext: Update comments regarding UnixWare.
3631         Reported by Tim Rice <tim@multitalents.net> in
3632         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3633         * lib/fbufmode.c: Update comments.
3634         * lib/fflush.c: Likewise.
3635         * lib/fpending.c: Likewise.
3636         * lib/fpurge.c: Likewise.
3637         * lib/freadable.h: Likewise.
3638         * lib/freadable.c: Likewise.
3639         * lib/freadahead.c: Likewise.
3640         * lib/freading.h: Likewise.
3641         * lib/freading.c: Likewise.
3642         * lib/freadptr.c: Likewise.
3643         * lib/freadseek.c: Likewise.
3644         * lib/fseeko.c: Likewise.
3645         * lib/fseterr.c: Likewise.
3646         * lib/fwritable.h: Likewise.
3647         * lib/fwritable.c: Likewise.
3648         * lib/fwriting.h: Likewise.
3649         * lib/fwriting.c: Likewise.
3651 2020-10-11  Bruno Haible  <bruno@clisp.org>
3653         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
3654         Reported by Tim Rice <tim@multitalents.net> in
3655         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3656         Uses the info from
3657         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
3658         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
3660 2020-10-11  Bruno Haible  <bruno@clisp.org>
3662         stdioext: Avoid compilation errors on UnixWare 7.
3663         Reported by Tim Rice <tim@multitalents.net> in
3664         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
3665         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
3666         * lib/fpurge.c: Likewise.
3667         * lib/freadable.h: Likewise.
3668         * lib/freading.h: Likewise.
3669         * lib/fwritable.h: Likewise.
3670         * lib/fwriting.h: Likewise.
3671         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
3672         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3673         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
3674         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
3675         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
3676         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
3678 2020-10-11  Bruno Haible  <bruno@clisp.org>
3680         stdioext: Update comments regarding Cygwin.
3681         * lib/fpending.c: Update comments.
3682         * lib/fpurge.c: Likewise.
3683         * lib/freadable.h: Likewise.
3684         * lib/freadable.c: Likewise.
3685         * lib/freading.h: Likewise.
3686         * lib/freading.c: Likewise.
3687         * lib/fwritable.h: Likewise.
3688         * lib/fwritable.c: Likewise.
3689         * lib/fwriting.h: Likewise.
3690         * lib/fwriting.c: Likewise.
3692 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
3694         Fix "warning: implicit declaration of function 'pthread_sigmask'".
3695         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
3696         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
3698 2020-10-10  Bruno Haible  <bruno@clisp.org>
3700         *-list, *-oset, *-omap: Avoid possible compiler warnings.
3701         Reported by Marc Nieper-Wißkirchen in
3702         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
3703         * lib/gl_anylinked_list2.h (gl_linked_iterator,
3704         gl_linked_iterator_from_to): Mark as 'pure'.
3705         (gl_linked_iterator_free): Mark as 'const'.
3706         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
3707         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
3708         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
3709         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
3710         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
3711         (gl_tree_iterator_free): Mark as 'const'.
3712         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
3713         'pure'.
3714         (gl_tree_iterator_free): Mark as 'const'.
3715         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
3716         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
3717         (gl_tree_iterator_free): Mark as 'const'.
3718         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
3719         compare_position_threshold): Mark as 'pure'.
3720         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
3721         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
3722         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
3723         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
3724         'pure'.
3725         (gl_array_iterator_free): Mark as 'const'.
3726         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
3727         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
3728         (gl_array_iterator_free): Mark as 'const'.
3729         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
3730         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
3731         gl_array_iterator_atleast): Mark as 'pure'.
3732         (gl_array_iterator_free): Mark as 'const'.
3733         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
3734         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
3735         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
3736         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
3737         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
3738         gl_carray_sortedlist_search): Mark as 'pure'.
3739         (gl_carray_iterator_free): Mark as 'const'.
3741 2020-10-10  Bruno Haible  <bruno@clisp.org>
3743         rbtree-list: Avoid possible compiler warnings.
3744         This mirrors the change of avltree-list on 2014-09-16.
3745         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
3746         declaration. Add cast to void for ignored value of check_invariants.
3748 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
3750         stack: New module.
3751         * MODULES.html.sh: Add entry for the stack module.
3752         * modules/stack: New file.
3753         * modules/stack-tests: New file.
3754         * lib/stack.h: New file.
3755         * tests/test-stack.c: New file.
3757 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3759         attribute: improve const, pure doc
3760         Problem reported by Marc Nieper-Wißkirchen in:
3761         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
3762         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
3763         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
3765 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3767         thread: pacify GCC on Solaris 10
3768         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
3769         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
3770         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
3771         where pthread_t is unsigned int.
3773 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
3775         c-stack: avoid AS_IF
3776         Problem reported by Bruno Haible in:
3777         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
3778         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
3780         c-stack: pacify GCC 9.3.1 when using libsigsegv
3781         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
3783 2020-10-04  Bruno Haible  <bruno@clisp.org>
3785         localename: Fix a couple of "unused parameter" warnings.
3786         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
3787         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
3788         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
3789         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
3790         parameter list.
3792 2020-10-04  Bruno Haible  <bruno@clisp.org>
3794         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
3795         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
3796         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
3797         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
3798         HAVE_SNPRINTF_TRUNCATION_C99.
3799         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
3800         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
3802 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3804         c-stack: streamline Solaris configuration
3805         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
3806         the code is used only if a test for sigaltstack worked
3807         in some other way.
3808         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
3809         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
3810         heuristic does not work).
3811         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
3812         we no longer require the libsigsegv module.
3813         (Depends-on): Depend on havelib, not libsigsegv.
3815         c-stack: stop using SIGSTKSZ
3816         It’s been proposed to stop making SIGSTKSZ an integer constant:
3817         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
3818         Also, using SIGSTKSZ in #if did not conform to current POSIX.
3819         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
3820         * lib/c-stack.c (SIGSTKSZ): Remove.
3821         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
3822         All uses changed.
3824         c-stack: fix libsigsegv typo
3825         Problem reported by Bruno Haible in:
3826         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
3827         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
3828         to be used only on Solaris (exactly where it is not needed!).
3830 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
3832         MODULES.html.sh: Fix typo.
3833         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
3835 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
3837         version-etc: pacify Oracle Studio 12.6
3838         Without this patch, it complains: "version-etc.h", line 64:
3839         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
3840         pedantic mode.
3841         * lib/version-etc.h (version_etc): Port to C89 macro rules.
3843 2020-09-27  Bruno Haible  <bruno@clisp.org>
3845         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
3846         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3847         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3848         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
3849         ourselves; don't use AC_DECL_SYS_SIGLIST.
3851 2020-09-27  Bruno Haible  <bruno@clisp.org>
3853         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
3854         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3855         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3856         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
3857         instead of _AC_COMPUTE_INT.
3859 2020-09-27  Bruno Haible  <bruno@clisp.org>
3861         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
3862         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3863         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3864         Based on a patch by Paul Eggert.
3865         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
3866         test STDC_HEADERS. Assume <stdlib.h> exists.
3867         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
3869 2020-09-27  Bruno Haible  <bruno@clisp.org>
3871         Enable testing of prereleases of Autoconf 2.70.
3872         Suggested by Paul Eggert in
3873         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
3874         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
3875         >= 2.70.
3876         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
3877         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
3878         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
3880 2020-09-27  Bruno Haible  <bruno@clisp.org>
3882         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
3883         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3884         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3885         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
3886         AC_PROG_CC, depending on the Autoconf version.
3888 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
3890         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
3891         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
3892         of AC_HELP_STRING.
3893         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
3895 2020-09-27  Bruno Haible  <bruno@clisp.org>
3897         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
3898         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3899         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3900         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
3902 2020-09-27  Bruno Haible  <bruno@clisp.org>
3904         extensions: Simplify last commit.
3905         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
3906         AC_GNU_SOURCE ever.
3908 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3910         extensions: require AC_GNU_SOURCE only for <=2.63
3911         Problem reported by Gavin Smith in:
3912         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
3913         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
3914         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
3915         shouldn’t be needed after that, and Autoconf 2.70 complains about
3916         it being obsolete.
3918 2020-09-26  Bruno Haible  <bruno@clisp.org>
3920         regex-tests: Make test more robust.
3921         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
3922         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
3924 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3926         regex-tests: fix possible Turkish false-alarm
3927         * modules/regex-tests (Depends-on): Add wctype-h.
3928         * tests/test-regex.c: Include wctype.h.
3929         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
3930         as the Turkish regex test assumes this.
3932         regex-tests: fix test and add debug output
3933         Perhaps this will fix the recent grep test failure reported at:
3934         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
3935         At least, the debug output should help narrow down the failure.
3936         * tests/test-regex.c: Include stdarg.h, stdio.h.
3937         (exit_status): New var.
3938         (report_error): New function.
3939         (main): Use it to report failures to stdout instead of merely
3940         exiting with some nonzero status.  The status info alone isn’t
3941         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
3942         regex before calling re_compile_pattern, fixing a portability bug.
3944         regex: no longer match glibc
3945         * config/srclist.txt: Comment out regex_internal.c for now.
3947 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3949         regex: fix ignore-case Turkish bug
3950         * lib/regex_internal.c (build_wcs_upper_buffer):
3951         Do not assume that converting single-byte character to upper
3952         yields a single-byte character.  This is not true for Turkish,
3953         where towupper (L'i') yields L'İ', which is not single-byte.
3954         * tests/test-regex.c (main): Test for this bug.
3956         regex: port to weird isascii platforms
3957         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
3959 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3961         dfa: make dfasupported a global function
3962         * lib/dfa.c (dfasupported): Rename, and make it global.
3963         Update caller.
3964         * lib/dfa.h (dfasupported): Add prototype.
3966 2020-09-20  Bruno Haible  <bruno@clisp.org>
3968         canonicalize: Add support for UNC file names on native Windows.
3969         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
3970         <https://savannah.gnu.org/bugs/?59079>.
3971         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
3972         extend the prefix to include the server.
3974 2020-09-20  Bruno Haible  <bruno@clisp.org>
3976         supersede: Fix test failures on native Windows.
3977         * lib/supersede.c (open_supersede): Handle non-regular files on native
3978         Windows like on Solaris.
3979         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
3981 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3983         test-stdalign: test Oracle Studio better
3984         * doc/posix-headers/stdalign.texi (stdalign.h):
3985         * tests/test-stdalign.c (main):
3986         Sun Studio Bug #2125432 seems to be fixed.
3988         c-stack: output diagnostic in single 'write'
3989         * lib/c-stack.c (die): In the typical case, use just one 'write'
3990         syscall to output the diagnostic, as this lessens interleaving.
3991         (die, c_stack_action): Assume C99.
3992         * modules/c-stack (Depends-on): Add c99, mempcpy.
3994         c-stack: improve checking if !libsigsegv
3995         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
3996         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
3997         unlikely pointer overflow.  Also, fix some obsolete code and typos.
3998         I found these problems while looking into this bug report:
3999         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
4000         * lib/c-stack.c: Include c-stack.h first, to test interface.
4001         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
4002         max_align_t, intprops.h for INT_ADD_WRAPV.
4003         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
4004         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
4005         for libsigsegv 2.8 and earlier since the bug should be fixed
4006         after that.
4007         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
4008         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
4009         Assume sprintf returns byte count; this assumption is safe now.
4010         (page_size): New static volatile variable, since sysconf isn’t
4011         documented to be async-signal-safe on Solaris.  This variable is
4012         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
4013         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
4014         SIGINFO_WORKS).
4015         (segv_handler): Use it if present.  Never report null pointer
4016         dereference as a stack overflow.  Check for (unlikely) unsigned
4017         and/or pointer overflow.
4018         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
4019         Rename cache variables to gl_cv_sys_stack_overflow_works
4020         and gl_cv_sys_xsi_stack_overflow_heuristic.
4021         All uses changed.
4022         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
4023         c-stack no longer uses STACK_DIRECTION.
4024         Do not check for unistd.h, since we depend on unistd.
4025         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
4026         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
4027         stdbool, stddef.
4029 2020-09-20  Bruno Haible  <bruno@clisp.org>
4031         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
4032         * m4/musl.m4: Revert 2020-09-19 patch.
4033         * m4/setlocale_null.m4: Likewise.
4034         * modules/setlocale-null: Likewise.
4036 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
4037             Bruno Haible  <bruno@clisp.org>
4039         relocatable-prog: Fix for multiple relocatable library directories.
4040         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
4041         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
4042         being attached to a single one.
4044 2020-09-19  Jim Meyering  <meyering@fb.com>
4046         test-verify.c: avoid -Wshadow warnings
4047         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
4048         (enum): Capitalize member names. Adjust uses.
4050 2020-09-19  Bruno Haible  <bruno@clisp.org>
4052         havelib: Avoid linking with libc.a on GNU systems.
4053         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
4054         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
4055         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
4056         dependency_libs value of a .la file, ignore '-lc' options on GNU
4057         systems.
4059 2020-09-19  Bruno Haible  <bruno@clisp.org>
4061         Fix recognition of musl libc on Alpine Linux 3.10.
4062         Reported by Jeffrey Walton <noloader@gmail.com> in
4063         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
4064         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
4065         (gl_MUSL_LIBC): Require it.
4066         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
4067         * modules/setlocale-null (Files): Add m4/musl.m4.
4069 2020-09-19  Bruno Haible  <bruno@clisp.org>
4071         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
4072         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
4073         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
4074         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
4075         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
4076         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
4077         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
4078         or <threads.h>.
4079         (ITEMS, MAX_RESULT_LEN): New macros.
4080         (nl_langinfo_unlocked): New function.
4081         (gl_get_nl_langinfo_lock): New declaration.
4082         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
4083         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
4084         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
4085         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
4086         REPLACE_NL_LANGINFO.
4087         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
4088         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
4089         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
4090         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
4091         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
4093 2020-09-18  Bruno Haible  <bruno@clisp.org>
4095         fsusage, getaddrinfo: Produce more regular configure output.
4096         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
4097         corresponding AC_MSG_RESULT.
4098         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
4100 2020-09-18  Bruno Haible  <bruno@clisp.org>
4102         Add back gl_SILENT.
4103         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
4105 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4107         c-stack-tests: fix -fsanitize=undefined false alarm
4108         * tests/test-c-stack2.sh: Skip the test-harness self-test
4109         if ‘gcc -fsanitize=undefined’ is in use.
4111 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4113         signalblocking: simplify and remove gl_SILENT
4114         gl_SILENT was problematic because if a trap was sprung, stderr
4115         generated during the trap was lost.  Avoid the problem by
4116         removing the need for gl_SILENT.
4117         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
4118         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
4119         Simplify, avoiding the need for gl_SILENT while preserving the
4120         ability of the user to override the value of the cache variable,
4121         now ac_cv_func_sigprocmask.
4123 2020-09-17  Bruno Haible  <bruno@clisp.org>
4125         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
4126         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
4127         (gl_SILENT): Use 'exec', not a compound statement, to redirect
4128         AS_MESSAGE_FD.
4130 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4132         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
4133         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
4134         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
4135         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
4136         Define to 0.
4137         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
4138         Do not use __builtin_mul_overflow_p.
4140         libc-config: port __THROW to Ubuntu 4
4141         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
4142         for GCC 3.3.  Problem reported by Jeffrey Walton in:
4143         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
4144         The GCC 3.3.4 documentation says the attribute should work, but
4145         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
4146         little point or desire to research this circa-2004 platform further,
4147         so just avoid the attribute there.
4149 2020-09-17  Jim Meyering  <meyering@fb.com>
4151         test-dfa-match.sh: port timeout work-around to newer Busybox
4152         * tests/test-dfa-match.sh: Update timeout -t portability test to
4153         accommodate Busybox 1.30.0 and newer.
4155 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4157         fnmatch: adjust to match glibc fix
4158         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
4159         This does not affect Gnulib; it merely keeps Gnulib and glibc
4160         closer together, to help with any eventual merge, by incorporating
4161         a recent glibc patch.  The patch and the following commentary is
4162         by Andreas Schwab.
4163         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
4164         contains the index into the extra array, whereas wextra points
4165         into the extra array at this index, containing the length of the
4166         following collating sequence in the wide character representation.
4168 2020-09-16  Bruno Haible  <bruno@clisp.org>
4170         stat, fstat: Fix compilation error with old mingw headers.
4171         Reported by Eli Zaretskii <eliz@gnu.org> in
4172         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
4173         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
4174         define it.
4176 2020-09-16  Bruno Haible  <bruno@clisp.org>
4178         stat, fstat: Fix when compiling for versions older than Windows Vista.
4179         Reported by Eli Zaretskii <eliz@gnu.org> in
4180         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
4181         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
4182         that was originally set before we redefined it.
4183         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
4184         (gl_PREREQ_STAT): Require it.
4185         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
4187 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4189         dfa: remove dfa-heap-overrun workaround
4190         * lib/dfa.c (reorder_tokens): Go back to a single pass that
4191         both sets map[*] and does other things.  This reverts
4192         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
4193         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
4194         fixed the underlying problem.
4196 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4198         dfa: avoid use of uninitialized constraint
4199         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
4200         to zero here.
4201         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
4202         use of an uninitialized constraint by later code when ! (flags[i]
4203         & OPT_QUEUED) means merge_nfa_state was not called to initialize
4204         the constraint.  Problem found by running 'valgrind src/grep -E
4205         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
4207         dfa: assume C99 in reorder_tokens
4208         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
4210         dfa: fix dfa-heap-overrun failure
4211         * lib/dfa.c (reorder_tokens): When setting
4212         map[d->follows[i].elems[j].index], instead of incorrectly assuming
4213         that (i < d->follows[i].elems[j].index), use two loops, one to set
4214         the map array and the other to use it.  The incorrect assumption
4215         caused some elements to be missed, and this in turn caused grep's
4216         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
4217         with GCC.  I found this bug while investigating
4218         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
4219         and I think the bug also occurs on GNU/Linux but with more-subtle
4220         symptoms.  The bug predates the recent dfa.c changes; perhaps the
4221         recent changes make the bug more likely.
4223 2020-09-13  Bruno Haible  <bruno@clisp.org>
4225         parse-datetime: Make the build rule work with parallel 'make'.
4226         Reported by Daiki Ueno <ueno@gnu.org> in
4227         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
4228         * modules/parse-datetime (Makefile.am): Use a phony target and the
4229         general idiom for rules that produce multiple files.
4231 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
4233         getpass: Check for nonnull prompt argument while avoiding warnings.
4234         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
4235         (getpass) [!_WIN32]: Print prompt only if nonnull.
4237 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4239         dfa: epsilon-closure tweaks (Bug#40634)
4240         Rename BACKWORD to BACKWARD consistently.
4241         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
4242         (addtok_mb): Redo slightly to make it act more like a state machine.
4243         Check depth only when it increases.
4244         (epsclosure): Let the switch test the tokens.
4245         (dfaanalyze): Cache tindex.  Simplify position loops.
4246         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
4247         only if it is not null, since we're testing that anyway.
4248         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
4250 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
4252         dfa: use backward set in removal of epsilon closure
4253         When removing in epsilon closure, the code searched all nodes
4254         sequentially, and this was slow for some cases.  Build a backward
4255         set before search, and only check previous position with the set.
4256         Problem reported in <https://bugs.gnu.org/40634>.
4257         * lib/dfa.c (struct dfa): New member 'epsilon'.
4258         (addtok_mb): Check whether a pattern has epsilon node or not.
4259         (epsclosure): New arg BACKWORD; caller changed.  When removing
4260         epsilon node and reconnecting, check only previous positions.
4261         Treat BEG as if it were character.
4262         (dfaanalyze): Build backward set.
4264 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
4266         canonicalize: fix pointer indexing bugs
4267         Problem reported by Florian Weimer in:
4268         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
4269         * lib/canonicalize-lgpl.c (__realpath):
4270         * lib/canonicalize.c (canonicalize_filename_mode):
4271         Do not generate a pointer past the end of the array.
4272         * lib/canonicalize.c (canonicalize_filename_mode):
4273         Do not use a pointer after passing it to realloc.
4275 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
4277         tempname: help merge with glibc
4278         Inspired by draft patches by Adhemerval Zanella in:
4279         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
4280         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
4281         * lib/tempname.c: Include stdalign.h, time.h.
4282         If _LIBC, do not include random-bits.h.
4283         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
4284         (RANDOM_BITS): Remove, replacing with ...
4285         (random_bits): ... this new static function.  All uses changed.
4286         Add entropy each time if getrandom is not supported.
4287         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
4288         Assume 64-bit support a la C99.
4289         (try_tempname_len): Take advantage of ASLR when initializing
4290         random value.
4291         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
4293         getcwd: merge recent glibc changes
4294         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
4295         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
4297 2020-09-06  Bruno Haible  <bruno@clisp.org>
4299         attribute: Clarify which file to include.
4300         * modules/attribute (Include): Add "attribute.h".
4302 2020-09-06  Bruno Haible  <bruno@clisp.org>
4304         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
4305         * lib/pipe-filter-ii.c: Include <process.h>.
4306         * lib/pipe-filter-gi.c: Likewise.
4308 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4310         verify: avoid __builtin_assume
4311         Our latest attempt to use Clang’s __builtin_assume caused a crash
4312         in GNU Emacs that we spent quite some time tracking down as being
4313         caused by the switch to __builtin_assume.  It’s not known whether
4314         the crash is due is a Clang bug or a portability bug in GNU Emacs.
4315         For now, play it safe and avoid __builtin_assume.
4316         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
4317         (assume): Simplify by not trying to use Clang’s __builtin_assume.
4319 2020-09-05  Bruno Haible  <bruno@clisp.org>
4321         Fix several "warning: no previous prototype for function".
4322         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
4323         in front of the declaration of the lookup function in
4324         unicase/locale-languages.h.
4325         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
4326         unictype/bidi_byname.h.
4327         * modules/unictype/category-byname (Makefile.am): Likewise in
4328         unictype/categ_byname.h.
4329         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
4330         unictype/combiningclass_byname.h.
4331         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
4332         unictype/joininggroup_byname.h.
4333         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
4334         unictype/joiningtype_byname.h.
4335         * modules/unictype/property-byname (Makefile.am): Likewise in
4336         unictype/pr_byname.h.
4337         * modules/unictype/scripts (Makefile.am): Likewise in
4338         unictype/scripts_byname.h.
4339         * modules/uninorm/composition (Makefile.am): Likewise in
4340         uninorm/composition-table.h.
4342 2020-09-05  Bruno Haible  <bruno@clisp.org>
4344         select: Fix "warning: no previous prototype for function".
4345         * lib/select.c: Include <sys/select.h>.
4347 2020-09-05  Bruno Haible  <bruno@clisp.org>
4349         Use module 'c99' when needed for variadic macros with '...' syntax.
4350         * modules/crypto/sm3 (Depends-on): Add c99.
4352 2020-09-05  Bruno Haible  <bruno@clisp.org>
4354         Use module 'c99' when needed for subobject initializer syntax.
4355         * modules/tempname (Depends-on): Add c99.
4356         * modules/nstrftime-tests (Depends-on): Likewise.
4358 2020-09-05  Bruno Haible  <bruno@clisp.org>
4360         Use module 'c99' when needed for declaration-after-statement syntax.
4361         * modules/backup-rename (Depends-on): Add c99.
4362         * modules/backupfile (Depends-on): Likewise.
4363         * modules/bitset-tests (Depends-on): Likewise.
4364         * modules/bitsetv (Depends-on): Likewise.
4365         * modules/c-strtod (Depends-on): Likewise.
4366         * modules/c-strtold (Depends-on): Likewise.
4367         * modules/clean-temp (Depends-on): Likewise.
4368         * modules/copy-file (Depends-on): Likewise.
4369         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
4370         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
4371         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
4372         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
4373         * modules/crypto/md5-buffer (Depends-on): Likewise.
4374         * modules/crypto/md5-tests (Depends-on): Likewise.
4375         * modules/crypto/sha1-buffer (Depends-on): Likewise.
4376         * modules/crypto/sha1-tests (Depends-on): Likewise.
4377         * modules/crypto/sha256-buffer (Depends-on): Likewise.
4378         * modules/crypto/sha256-tests (Depends-on): Likewise.
4379         * modules/crypto/sha512-buffer (Depends-on): Likewise.
4380         * modules/crypto/sha512-tests (Depends-on): Likewise.
4381         * modules/diffseq (Depends-on): Likewise.
4382         * modules/fatal-signal (Depends-on): Likewise.
4383         * modules/fchmodat (Depends-on): Likewise.
4384         * modules/fstrcmp (Depends-on): Likewise.
4385         * modules/fsusage (Depends-on): Likewise.
4386         * modules/fts (Depends-on): Likewise.
4387         * modules/fts-tests (Depends-on): Likewise.
4388         * modules/getumask (Depends-on): Likewise.
4389         * modules/git-merge-changelog (Depends-on): Likewise.
4390         * modules/hash-map (Depends-on): Likewise.
4391         * modules/hash-set (Depends-on): Likewise.
4392         * modules/lchmod (Depends-on): Likewise.
4393         * modules/libgmp-tests (Depends-on): Likewise.
4394         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
4395         * modules/linkedhash-map (Depends-on): Likewise.
4396         * modules/linkedhash-set (Depends-on): Likewise.
4397         * modules/long-options (Depends-on): Likewise.
4398         * modules/mbrtoc32 (Depends-on): Likewise.
4399         * modules/memchr2-tests (Depends-on): Likewise.
4400         * modules/memmem-tests (Depends-on): Likewise.
4401         * modules/memrchr-tests (Depends-on): Likewise.
4402         * modules/mktime-internal (Depends-on): Likewise.
4403         * modules/nstrftime (Depends-on): Likewise.
4404         * modules/opendirat (Depends-on): Likewise.
4405         * modules/parse-datetime (Depends-on): Likewise.
4406         * modules/quotearg-simple-tests (Depends-on): Likewise.
4407         * modules/same (Depends-on): Likewise.
4408         * modules/supersede (Depends-on): Likewise.
4409         * modules/supersede-tests (Depends-on): Likewise.
4410         * modules/time_rz (Depends-on): Likewise.
4411         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
4412         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
4413         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
4414         * modules/xalloc (Depends-on): Likewise.
4415         * modules/xnanosleep (Depends-on): Likewise.
4417 2020-09-05  Bruno Haible  <bruno@clisp.org>
4419         Fix "warning: array initialized from parenthesized string constant".
4420         * tests/test-memmem.c (main): Remove parentheses around string constant.
4421         * tests/test-c-strcasestr.c (main): Likewise.
4422         * tests/test-strcasestr.c (main): Likewise.
4424 2020-09-05  Bruno Haible  <bruno@clisp.org>
4426         argmatch tests: Fix ISO C compliance warning.
4427         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
4428         invocation.
4430 2020-09-05  Bruno Haible  <bruno@clisp.org>
4432         uniname/uniname: Fix -Wshadow warning.
4433         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
4434         * modules/uniname/uniname (Depends-on): Add c99.
4436 2020-09-05  Bruno Haible  <bruno@clisp.org>
4438         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
4439         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
4440         argument to size_t.
4441         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
4442         n to size_t.
4444 2020-09-05  Bruno Haible  <bruno@clisp.org>
4446         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
4447         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
4448         u32_uctomb): Change type of last argument to ptrdiff_t.
4449         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
4450         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
4451         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
4452         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
4453         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
4455 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4457         manywarnings: remove -Wchkp and -Wabi from C++ too
4458         Suggested by Reuben Thomas in:
4459         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
4460         At some point somebody should merge the many other manywarnings-c.m4
4461         changes into manywarnings-c++.m4 too, e.g.,
4462         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
4463         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
4464         Remove -Wchkp, -Wabi.
4466 2020-08-30  Bruno Haible  <bruno@clisp.org>
4468         strerrorname_np: Add tests.
4469         * tests/test-strerrorname_np.c: New file.
4470         * modules/strerrorname_np-tests: New file.
4472         strerrorname_np: New module.
4473         * lib/string.in.h (strerrorname_np): New declaration.
4474         * lib/strerrorname_np.c: New file.
4475         * m4/strerrorname_np.m4: New file.
4476         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
4477         is declared.
4478         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
4479         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4480         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
4481         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4482         * modules/strerrorname_np: New file.
4483         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
4484         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
4485         the glibc 2.32 bug.
4487 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4489         perror, strerror_r: remove unportable tests
4490         Problem reported by Florian Weimer in:
4491         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
4492         * tests/test-perror2.c (main):
4493         * tests/test-strerror_r.c (main): Omit unportable tests.
4495 2020-08-26  Bruno Haible  <bruno@clisp.org>
4497         stdint, wchar, wctype-h: Change configure message.
4498         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
4499         enough..." instead of "checking whether wint_t is too small...".
4501 2020-08-26  Bruno Haible  <bruno@clisp.org>
4503         time_rz: Change configure message.
4504         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
4505         near extrema..." instead of "checking whether localtime loops forever
4506         near extrema...".
4508 2020-08-26  Bruno Haible  <bruno@clisp.org>
4510         stdint: Change configure message.
4511         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
4512         without ISO C predefines..." instead of "checking whether stdint.h
4513         predates C++11...".
4515 2020-08-26  Bruno Haible  <bruno@clisp.org>
4517         socketlib: Change configure message.
4518         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
4519         instead of "checking if we need to call WSAStartup in winsock2.h and
4520         -lws2_32...".
4522 2020-08-26  Bruno Haible  <bruno@clisp.org>
4524         include_next: Change configure message.
4525         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
4526         code line length is unlimited..." instead of "checking whether system
4527         header files limit the line length...".
4529 2020-08-26  Bruno Haible  <bruno@clisp.org>
4531         getcwd: Change configure message.
4532         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
4533         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
4534         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
4536 2020-08-26  Bruno Haible  <bruno@clisp.org>
4538         chdir-long: Change configure message.
4539         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
4540         system supports file names of any length..." instead of "checking
4541         whether this system has an arbitrary file name length limit...".
4542         Set gl_cv_have_unlimited_file_name_length instead of
4543         gl_cv_have_arbitrary_file_name_length_limit.
4544         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
4546 2020-08-26  Bruno Haible  <bruno@clisp.org>
4548         ceill: Change configure message.
4549         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
4550         instead of "checking whether ceill() breaks with small values...".
4552 2020-08-26  Bruno Haible  <bruno@clisp.org>
4554         iconv: Change configure message.
4555         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
4556         with its POSIX signature..." instead of "checking for iconv
4557         declaration...". Remove K&R C support.
4559 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4561         getcwd: help the merge back into glibc
4562         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
4563         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
4564         The idea is to make it easier for Gnulib lib/getcwd.c to match
4565         glibc io/getcwd-generic.c.
4566         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
4567         Include not-cancel.h.
4568         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
4569         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
4570         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
4571         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
4572         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
4573         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
4574         (__getcwd_generic): Rename from __getcwd.
4575         Use the abovementioned macros for consistency with glibc.
4576         (weak_alias): Remove.
4578 2020-08-25  Bruno Haible  <bruno@clisp.org>
4580         verify: Avoid warnings when assume(0) is used.
4581         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
4582         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
4583         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
4584         the constant 0.
4585         * tests/test-verify.c (f): New function.
4586         (state): New type.
4587         (test_assume_expressions, test_assume_optimization,
4588         test_assume_noreturn): New functions.
4590 2020-08-25  Bruno Haible  <bruno@clisp.org>
4592         fstrcmp: Clarification regarding NOTE_ORDERED.
4593         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
4595 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4597         diffseq: new option NOTE_ORDERED
4598         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
4599         * NEWS: Mention this.
4600         * lib/diffseq.h (NOTE_ORDERED): New macro.
4601         (IF_LINT2): Remove; no longer needed.
4602         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
4603         subproblem and iterate to do the larger.
4605 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4607         sys_types: let Autoconf 2.70 do pid_t
4608         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
4609         only for Autoconf versions 2.69 and earlier, since 2.70
4610         will be fixed.
4612 2020-08-23  Bruno Haible  <bruno@clisp.org>
4614         tests: Don't assume that pid_t fits in an 'int'.
4615         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
4616         of 'int'.
4617         * tests/test-nonblocking-socket-main.c (main): Likewise.
4619         sys_types: Fix definition of pid_t on 64-bit MSVC.
4620         * m4/pid_t.m4: New file.
4621         * modules/sys_types (Files): Add it.
4622         * modules/dirent (Files): Likewise.
4623         * modules/fcntl-h (Files): Likewise.
4624         * modules/sched (Files): Likewise.
4625         * modules/signal-h (Files): Likewise.
4626         * modules/spawn (Files): Likewise.
4627         * modules/sys_stat (Files): Likewise.
4628         * modules/sys_wait (Files): Likewise.
4629         * modules/termios (Files): Likewise.
4630         * modules/unistd (Files): Likewise.
4632 2020-08-23  Bruno Haible  <bruno@clisp.org>
4634         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
4635         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
4636         program.
4638 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4640         intprops: be consistent about +X vs X+0
4641         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
4643         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
4644         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
4645         is a bit-field, on older GCC or non-GCC compilers where we do
4646         things ourselves instead of using __builtin_mul_overflow.
4647         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
4648         to applying sizeof to a bit-field.
4649         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
4650         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
4652 2020-08-23  Bruno Haible  <bruno@clisp.org>
4654         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
4655         Reported by Jörg Sonnenberger <joerg@netbsd.org>
4656         via Thomas Klausner <tk@giga.or.at> in
4657         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
4658         * lib/supersede.c (open_supersede): When opening an existing non-regular
4659         file on Solaris, use O_CREAT although it should not be necessary.
4661 2020-08-23  Bruno Haible  <bruno@clisp.org>
4663         verify: Make assume work on bit field expressions (regr. 2020-08-22).
4664         Reported by Benno Schulenberg <bensberg@telfort.nl> in
4665         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
4666         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
4667         variable.
4669 2020-08-23  Bruno Haible  <bruno@clisp.org>
4671         libc-config: Improve comments.
4672         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
4673         cannot use clang's __diagnose_if__ here.
4675 2020-08-22  Bruno Haible  <bruno@clisp.org>
4677         verify: Do use __builtin_assume on clang.
4678         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
4679         variable in a statement expression.
4681 2020-08-22  Bruno Haible  <bruno@clisp.org>
4683         sig2str: Add more signals.
4684         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
4686 2020-08-22  Bruno Haible  <bruno@clisp.org>
4688         doc: Update for OpenBSD 6.0, 6.7.
4689         * doc/*/*.texi: Update.
4690         * m4/printf.m4: Update comments and cross-compilation guesses.
4691         * m4/ceill.m4: Update comments.
4692         * m4/getcwd-abort-bug.m4: Likewise.
4693         * m4/ilogb.m4: Likewise.
4694         * m4/ilogbf.m4: Likewise.
4695         * m4/langinfo_h.m4: Likewise.
4696         * m4/modf.m4: Likewise.
4697         * m4/modff.m4: Likewise.
4699 2020-08-22  Bruno Haible  <bruno@clisp.org>
4701         doc: Mention sig2str module.
4702         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
4704 2020-08-21  Bruno Haible  <bruno@clisp.org>
4706         sigdescr_np: Add tests.
4707         * tests/test-sigdescr_np.c: New file.
4708         * modules/sigdescr_np-tests: New file.
4710         sigdescr_np: New module.
4711         * lib/string.in.h (sigdescr_np): New declaration.
4712         * lib/sigdescr_np.c: New file.
4713         * m4/sigdescr_np.m4: New file.
4714         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
4715         declared.
4716         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
4717         HAVE_SIGDESCR_NP.
4718         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
4719         HAVE_SIGDESCR_NP.
4720         * modules/sigdescr_np: New file.
4721         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
4722         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
4724 2020-08-20  Bruno Haible  <bruno@clisp.org>
4726         sigabbrev_np: Add tests.
4727         * tests/test-sigabbrev_np.c: New file.
4728         * modules/sigabbrev_np-tests: New file.
4730         sigabbrev_np: New module.
4731         * lib/string.in.h (sigabbrev_np): New declaration.
4732         * lib/sigabbrev_np.c: New file.
4733         * m4/sigabbrev_np.m4: New file.
4734         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
4735         declared.
4736         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
4737         HAVE_SIGABBREV_NP.
4738         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
4739         HAVE_SIGABBREV_NP.
4740         * modules/sigabbrev_np: New file.
4741         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
4742         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
4744 2020-08-20  Bruno Haible  <bruno@clisp.org>
4746         stdalign tests: Skip test with AIX xlclang.
4747         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
4749 2020-08-20  Bruno Haible  <bruno@clisp.org>
4751         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
4752         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
4753         workaround as for GCC versions < 4.9.
4755 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4757         Sync up ProjectQuirks comments and documentation
4758         Transform the ProjectQuirks comments into a docstring so that it can
4759         be accessed from python as ProjectQuirks.__doc__ and harmonize
4760         descriptions with the documentation.
4761         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
4762         Transform comments into a docstring.
4763         * doc/vcs-to-changelog.texi: Sync up description with comments.
4765         Split ProjectQuirks out into its own file
4766         ProjectQuirks is used by external quirks files and importing it from
4767         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
4768         is cleaner to put it in its own file anyway.
4769         * build-aux/vcstocl/projectquirks.py: A new file...
4770         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
4771         we move ProjectQuirks and import the file.
4773 2020-08-19  Bruno Haible  <bruno@clisp.org>
4775         uchar: Fix compilation errors in C++ mode on macOS.
4776         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
4777         system header file before attempting to use 'char16_t' and 'char32_t'.
4779 2020-08-19  Bruno Haible  <bruno@clisp.org>
4781         ansi-c++-opt: Work around an autoconf macro reordering problem.
4782         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
4783         section.
4785 2020-08-19  Bruno Haible  <bruno@clisp.org>
4787         math C++ tests: Fix compilation error in with GCC 10.
4788         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
4789         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
4790         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4792 2020-08-19  Bruno Haible  <bruno@clisp.org>
4794         uchar: Fix compilation errors in C++ mode on OpenBSD.
4795         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
4796         CXX_HAS_UCHAR_TYPES is 1.
4797         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
4798         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
4799         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
4801 2020-08-19  Bruno Haible  <bruno@clisp.org>
4803         Fix compilation errors in C++ mode on OpenBSD.
4804         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
4805         OpenBSD with clang, use the approach without C preprocessor macro.
4807 2020-08-18  Bruno Haible  <bruno@clisp.org>
4809         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
4810         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
4811         AC_LANG_POP.
4813 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4815         verify: avoid __built_assume on Clang
4816         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
4817         Clang 9 incorrectly diagnoses arguments as having side effects
4818         even when they do not.  I guess Clang 9 considers any function
4819         call as if it had a side effect here.
4821         libc-config: avoid Clang’s __diagnose_if__
4822         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
4823         For now, do not use __diagnose_if__ here, as this fails
4824         on Fedora 31 with Clang 9.0.1, with diagnostic
4825         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
4826         size than length of destination buffer
4827         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
4828         for functions that are not called?
4830         careadlinkat: speedup for GCC 10 with GCC_LINT
4831         Inspired by a suggestion by Bruno Haible in:
4832         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
4833         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
4834         (readlink_stk): New function, with most of the old careadlinkat
4835         contents and with a new STACK_BUF arg.  Inline it in GCC 10
4836         if GCC_LINT.
4837         (careadlinkat): Use the new function for everything but the
4838         stack buffer.
4840         * build-aux/gcc-warning.spec: Update comments.
4842 2020-08-17  Bruno Haible  <bruno@clisp.org>
4844         Assume autoconf >= 2.64.
4845         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
4847 2020-08-17  Bruno Haible  <bruno@clisp.org>
4849         Revert autoupdate's revert.
4850         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
4852 2020-08-17  Bruno Haible  <bruno@clisp.org>
4854         uchar C++ tests: Fix build error on FreeBSD 12.
4855         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
4856         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
4857         <cuchar> does not exist.
4859 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4861         time_rz: remove unused functions
4862         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
4864         time_rz: fix issues with mktime_z failures
4865         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
4866         Use a cheaper tm_yday test for failed mktime.
4868 2020-08-16  Bruno Haible  <bruno@clisp.org>
4870         intprops test: Strengthen on clang.
4871         * tests/test-intprops.c (VERIFY): Use verify_stmt.
4873 2020-08-16  Bruno Haible  <bruno@clisp.org>
4875         nstrftime: Guide inlining also on clang.
4876         * lib/nstrftime.c (iso_week_days): Inline also on clang.
4878 2020-08-16  Bruno Haible  <bruno@clisp.org>
4880         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
4881         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
4883 2020-08-16  Bruno Haible  <bruno@clisp.org>
4885         log2l: Disable MSVC workaround on clang.
4886         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
4888 2020-08-16  Bruno Haible  <bruno@clisp.org>
4890         argp: Emit a warning also with clang.
4891         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
4892         clang.
4894 2020-08-16  Bruno Haible  <bruno@clisp.org>
4896         libc-config: Enable __REDIRECT macro also on clang.
4897         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
4898         __ASMNAME2): Define on clang like on GCC.
4900 2020-08-16  Bruno Haible  <bruno@clisp.org>
4902         regex: Use initializer shorthand syntax also with clang.
4903         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
4904         with clang.
4906 2020-08-16  Bruno Haible  <bruno@clisp.org>
4908         regex: Use space optimization also with clang.
4909         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
4910         with clang.
4912 2020-08-16  Bruno Haible  <bruno@clisp.org>
4914         Use _Static_assert and static_assert primitives when present on clang.
4915         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
4916         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
4917         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
4919 2020-08-16  Bruno Haible  <bruno@clisp.org>
4921         Use 'throw ()' for optimization in C++ mode also on clang.
4922         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
4923         * lib/getopt-cdefs.in.h (__THROW): Likewise.
4924         * lib/md5.h (__THROW): Likewise.
4926 2020-08-16  Bruno Haible  <bruno@clisp.org>
4928         absolute-header: Add support for clang.
4929         * modules/absolute-header (Makefile.am): Include '__clang__' in the
4930         HAVE_INCLUDE_NEXT expression.
4932 2020-08-16  Bruno Haible  <bruno@clisp.org>
4934         Fix "warning: implicitly declaring library function 'strcasecmp'".
4935         * lib/argp-help.c: Include <strings.h>.
4937 2020-08-16  Bruno Haible  <bruno@clisp.org>
4939         stdio: Don't break attribute 'scanf' on clang.
4940         * lib/stdio.in.h (scanf): Treat clang like GCC.
4942 2020-08-16  Bruno Haible  <bruno@clisp.org>
4944         Use __restrict also on clang.
4945         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
4946         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
4947         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
4949 2020-08-16  Bruno Haible  <bruno@clisp.org>
4951         pthread-spin: Use GCC built-ins also on clang.
4952         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
4953         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
4954         also on clang.
4956 2020-08-16  Bruno Haible  <bruno@clisp.org>
4958         asyncsafe-spin tests: Update.
4959         * tests/test-asyncsafe-spin2.c: Update to match the change in
4960         lib/asyncsafe-spin.c from 2020-08-11.
4962 2020-08-16  Bruno Haible  <bruno@clisp.org>
4964         setenv: Use tree code also with clang.
4965         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
4967 2020-08-16  Bruno Haible  <bruno@clisp.org>
4969         math: Optimize signbit also on clang.
4970         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
4971         on clang.
4973 2020-08-16  Bruno Haible  <bruno@clisp.org>
4975         avltreehash-list, rbtreehash-list: Optimize also on clang.
4976         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
4977         __builtin_expect also on clang.
4979 2020-08-16  Bruno Haible  <bruno@clisp.org>
4981         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
4982         * lib/socket.c: Use WSASocketW, not WSASocketA.
4984         Fix "warning: format specifies type 'unsigned long'".
4985         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
4986         argument to match the format directive.
4988         Fix "warning: no case matching constant switch condition '0'".
4989         * tests/test-fcntl.c (check_flags): Add a 'default' case.
4991         Fix "warning: integer overflow in expression".
4992         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
4993         remove a 'long' overflow.
4995         Fix "warning: "getpagesize" redefined".
4996         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
4997         macro.
4999         Fix "warning: implicitly declaring library function 'strncasecmp'".
5000         * lib/strptime.c: Include <strings.h>.
5002         Fix "warning: 'snprintf' macro redefined".
5003         * lib/strerror_r.c (snprintf): Undefine before redefining.
5005         Fix "warning: address of array 'locale' will always evaluate to 'true'".
5006         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
5008         Fix "warning: '__stat64' macro redefined".
5009         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
5011         Fix "warning: 'format' attribute argument not supported: rpl_printf".
5012         * lib/stdio.in.h (printf): Treat clang like GCC.
5014         Fix "warning: attribute declaration must precede definition" with clang.
5015         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
5016         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
5017         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
5018         on non-glibc systems.
5019         * lib/netdb.in.h (gai_strerror): Likewise.
5020         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
5021         * lib/sys_stat.in.h (fstat): Likewise.
5022         * lib/utime.in.h (utime): Likewise.
5024         Fix undesired warnings.
5025         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
5026         clang.
5028 2020-08-16  Bruno Haible  <bruno@clisp.org>
5030         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
5031         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
5032         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
5033         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
5034         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
5036 2020-08-16  Bruno Haible  <bruno@clisp.org>
5038         Don't use Autoconf quadrigraphs.
5039         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
5040         Autoconf quadrigraph.
5041         * m4/free.m4 (gl_FUNC_FREE): Likewise.
5042         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
5043         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
5044         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
5045         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
5046         * m4/math_h.m4 (gl_MATH_H): Likewise.
5047         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
5049 2020-08-16  Bruno Haible  <bruno@clisp.org>
5051         Fix quoting of AC_LANG_PROGRAM arguments.
5052         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
5053         arguments through [[...]].
5054         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
5055         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
5056         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5057         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
5058         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
5059         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5060         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
5061         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
5062         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5063         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
5064         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
5065         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
5066         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5068 2020-08-16  Bruno Haible  <bruno@clisp.org>
5070         Assume autoconf >= 2.64.
5071         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
5072         * DEPENDENCIES: Require Autoconf 2.64 or newer.
5073         * NEWS: Mention the changed requirement.
5074         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
5075         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
5076         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
5077         variables.
5078         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5079         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
5080         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
5081         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
5082         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
5083         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
5084         Likewise.
5085         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
5086         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
5087         * m4/configmake.m4: Update comment.
5089 2020-08-16  Bruno Haible  <bruno@clisp.org>
5091         sys_ioctl: Simplify.
5092         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
5093         AC_INCLUDES_DEFAULT.
5095 2020-08-16  Bruno Haible  <bruno@clisp.org>
5097         Fix quoting of AC_LANG_SOURCE arguments.
5098         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
5099         GL_NOCRASH expansion.
5100         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
5101         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
5102         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
5103         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
5104         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5106 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5108         nstrftime: be more predictable about errno
5109         This aligns nstrftime better with draft POSIX 202x strftime.
5110         * lib/nstrftime.c: Include errno.h.
5111         (width_add, __strftime_internal): Set errno on failure,
5112         and preserve it on success.  Check for mktime_z failure.
5113         * modules/nstrftime (Depends-on): Add errno.
5114         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
5115         * tests/test-nstrftime.c: Include intprops.h, limits.h.
5116         (errno_test): New test function.
5117         (main): Call it.
5119 2020-08-15  Bruno Haible  <bruno@clisp.org>
5121         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
5122         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
5123         from dependency analysis first.
5125 2020-08-15  Bruno Haible  <bruno@clisp.org>
5127         Determine asm output option and filename suffix for MSVC/clang.
5128         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
5129         clang-cl.
5131 2020-08-15  Bruno Haible  <bruno@clisp.org>
5133         doc: Update for MSVC/clang.
5134         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
5135         that MSVC 14 does not have.
5137 2020-08-15  Bruno Haible  <bruno@clisp.org>
5139         Revert autoupdate's revert.
5140         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
5142 2020-08-15  Bruno Haible  <bruno@clisp.org>
5144         frexpl: Fix configuration test result on MSVC.
5145         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
5146         zero.
5148 2020-08-15  Bruno Haible  <bruno@clisp.org>
5150         Support compiling without -loldnames on native Windows.
5151         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
5152         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
5153         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5154         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5155         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5156         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5157         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
5158         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
5159         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5160         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
5161         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
5162         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
5163         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5164         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
5165         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
5166         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
5167         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5168         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5169         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
5170         Likewise.
5171         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
5172         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5173         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
5174         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5175         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5176         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5177         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
5178         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5179         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5180         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
5181         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5182         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
5183         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5184         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5185         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
5186         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5187         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5188         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5189         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
5190         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
5191         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5192         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5193         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5194         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5195         * m4/utimens.m4 (gl_UTIMENS): Likewise.
5196         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5197         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5198         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
5199         test for getcwd.
5200         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
5201         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
5202         with GL_MDA_DEFINES.
5203         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
5204         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
5205         prefixed symbol.
5206         * lib/search.in.h (lfind, lsearch): Likewise.
5207         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
5208         Likewise.
5209         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
5210         * lib/string.in.h (memccpy, strdup): Likewise.
5211         * lib/sys_stat.in.h (chmod, umask): Likewise.
5212         * lib/time.in.h (tzset): Likewise.
5213         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
5214         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
5215         read, rmdir, swab, unlink, write): Likewise.
5216         * lib/utime.in.h (utime): Likewise.
5217         * lib/wchar.in.h (wcsdup): Likewise.
5218         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
5219         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
5220         rpl_-prefixed macro.
5221         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
5222         * lib/close.c (close_nothrow): On native Windows, use _close.
5223         * lib/creat.c (orig_creat): On native Windows, use _creat.
5224         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
5225         * lib/dup2.c (dup2_nothrow): Use _dup2.
5226         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
5227         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
5228         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
5229         * lib/open.c (orig_open): On native Windows, use _open.
5230         * lib/read.c (read_nothrow): Use _read.
5231         * lib/rmdir.c: On native Windows, use _rmdir.
5232         * lib/unlink.c: On native Windows, use _unlink.
5233         * lib/write.c (write_nothrow): Use _write.
5234         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
5235         undefined symbol.
5236         * lib/sys_socket.in.h (close): Likewise.
5237         * lib/sys_time.in.h (close): Likewise.
5238         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
5240 2020-08-15  Bruno Haible  <bruno@clisp.org>
5242         Fix "unknown pragma ignored" warnings with clang on native Windows.
5243         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
5244         * lib/cbrtf.c: Likewise.
5245         * lib/ceil.c: Likewise.
5246         * lib/floor.c: Likewise.
5247         * lib/fma.c: Likewise.
5248         * lib/fmod.c: Likewise.
5249         * lib/rint.c: Likewise.
5250         * lib/round.c: Likewise.
5251         * lib/trunc.c: Likewise.
5252         * tests/test-ceil2.c: Likewise.
5253         * tests/test-ceilf2.c: Likewise.
5254         * tests/test-floor2.c: Likewise.
5255         * tests/test-floorf2.c: Likewise.
5256         * tests/test-trunc2.c: Likewise.
5257         * tests/test-truncf2.c: Likewise.
5258         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5259         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5261 2020-08-15  Bruno Haible  <bruno@clisp.org>
5263         Fix compilation errors in C++ mode with clang on native Windows.
5264         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
5265         non-glibc systems.
5266         * lib/sched.in.h (sched_yield): Likewise.
5268 2020-08-14  Bruno Haible  <bruno@clisp.org>
5270         stdnoreturn: Work around problem with MSVC/clang.
5271         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
5272         system header after <stdnoreturn.h>.
5273         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
5275 2020-08-14  Bruno Haible  <bruno@clisp.org>
5277         utime-h: Generate an utime.h file always.
5278         * modules/utime-h (Makefile.am): Generate utime.h always.
5279         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
5280         GL_GENERATE_UTIME_H.
5282 2020-08-14  Bruno Haible  <bruno@clisp.org>
5284         mktime, mktime-internal: Remove obsolete code.
5285         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
5287 2020-08-14  Bruno Haible  <bruno@clisp.org>
5289         getcwd: Remove obsolete code.
5290         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
5291         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5293 2020-08-14  Bruno Haible  <bruno@clisp.org>
5295         tzset: Assume the function exists.
5296         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
5297         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
5298         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
5299         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
5300         HAVE_TZSET.
5301         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
5302         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
5304         nstrftime: Assume tzset exists.
5305         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
5306         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
5307         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
5309         mktime, mktime-internal: Assume tzset exists.
5310         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
5311         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
5313 2020-08-14  Bruno Haible  <bruno@clisp.org>
5315         strdup: Assume the function exists.
5316         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
5317         whether strdup exists.
5318         * modules/strdup (Files): Remove lib/strdup.c.
5319         (configure.ac): Don't compile strdup.c.
5320         * modules/strdup-posix (Depends-on, configure.ac): Don't test
5321         ac_cv_func_strdup.
5322         * doc/posix-functions/strdup.texi: Update.
5323         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
5324         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
5325         (Depends-on): Remove unistr/u8-strlen.
5327 2020-08-13  Bruno Haible  <bruno@clisp.org>
5329         sys_random: Work around an uClibc bug.
5330         Reported by akater <nuclearspace@gmail.com>
5331         via Stefan Kangas <stefan@marxist.se>
5332         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
5333         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
5334         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
5335         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
5336         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
5338 2020-08-12  Bruno Haible  <bruno@clisp.org>
5340         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
5341         Reported by Florian Weimer in
5342         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
5343         * lib/gen-uni-tables.c (output_predicate): Change the element type of
5344         the level3 array to 'unsigned int'.
5345         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
5346         * lib/unictype/categ_*.h: Regenerated.
5347         * lib/unictype/ctype_*.h: Regenerated.
5348         * lib/unictype/pr_*.h: Regenerated.
5349         * lib/unictype/sy_*.h: Regenerated.
5350         * lib/unicase/cased.h: Regenerated.
5351         * lib/unicase/ignorable.h: Regenerated.
5353 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5355         stdint: port intptr_t to more-recent MinGW
5356         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
5357         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
5358         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
5359         Apparently those two macros were removed in mingwrt-3.22
5360         dated 2016-07-14.
5362 2020-08-12  Bruno Haible  <bruno@clisp.org>
5364         thread-optim: Export function-like macros only.
5365         Suggested by Paul Eggert.
5366         * lib/thread-optim.h (gl_multithreaded): New macro.
5367         (IF_MT_DECL, IF_MT): Remove macros.
5368         * doc/multithread.texi (Multithreading Optimizations): Add a small
5369         example.
5370         * lib/fatal-signal.c: Update all uses.
5371         * lib/clean-temp.c: Likewise.
5372         * lib/localename.c: Likewise.
5373         * modules/localename (Depends-on): Add stdbool.
5375 2020-08-12  Bruno Haible  <bruno@clisp.org>
5377         Revert autoupdate's revert.
5378         * config/srclist.txt: Mark regex.h as needing sync with glibc.
5380 2020-08-11  Bruno Haible  <bruno@clisp.org>
5382         thread-optim: Fix a compiler warning.
5383         * lib/thread-optim.h (IF_MT_DECL): Define differently.
5385 2020-08-11  Bruno Haible  <bruno@clisp.org>
5387         Use __restrict also on clang.
5388         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
5389         (__restrict_arr): On clang, define like on GCC.
5390         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
5391         (_Restrict_arr_): Use _Restrict_ also on clang.
5392         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
5393         (_Restrict_arr_): Use _Restrict_ also on clang.
5395 2020-08-11  Bruno Haible  <bruno@clisp.org>
5397         Use flexible array syntax also on clang.
5398         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
5399         define like for GCC 3.
5401 2020-08-11  Bruno Haible  <bruno@clisp.org>
5403         fcntl: On native Windows, use _setmode, not setmode.
5404         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
5405         * lib/binary-io.h: Update comment.
5406         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
5407         * tests/test-dup2.c: Likewise.
5408         * tests/test-dup-safer.c: Likewise.
5409         * tests/test-fcntl.c: Likewise.
5411 2020-08-11  Bruno Haible  <bruno@clisp.org>
5413         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
5414         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
5415         * lib/spawn-pipe.c (create_pipe): Likewise.
5416         * tests/test-nonblocking-pipe-main.c (main): Likewise.
5417         * tests/test-nonblocking-socket-main.c (main): Likewise.
5418         * lib/wait-process.c: Update comment.
5419         * doc/posix-functions/fork.texi: Update.
5421 2020-08-11  Bruno Haible  <bruno@clisp.org>
5423         asyncsafe-spin: Use GCC built-ins also on clang.
5424         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
5425         the newer GCC built-ins also on clang.
5427 2020-08-11  Bruno Haible  <bruno@clisp.org>
5429         Use expression statements also on clang.
5430         * lib/cdefs.h (__extension__): Don't define to empty on clang.
5431         * lib/obstack.h (__extension__): Likewise.
5432         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
5433         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
5434         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
5435         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
5436         obstack_finish, obstack_free): Enable as optimized macros also on clang.
5437         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
5439 2020-08-10  Bruno Haible  <bruno@clisp.org>
5441         Use many __attribute__s with clang.
5442         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
5443         on clang.
5444         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
5445         New macros.
5446         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
5447         on clang.
5448         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
5449         also on older clang versions.
5450         (__attribute__): Don't define to empty on clang.
5451         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
5452         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
5453         (__attribute_const__): Use __attribute__ __const__ also on clang.
5454         (__attribute_used__): Use __attribute__ __used__ also on clang.
5455         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
5456         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
5457         clang.
5458         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
5459         clang.
5460         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
5461         also on clang.
5462         (__nonnull): Use __attribute__ __nonnull__ also on clang.
5463         (__attribute_warn_unused_result__): Use __attribute__
5464         __warn_unused_result__ also on clang.
5465         (__always_inline): Use __attribute__ __always_inline__ also on clang.
5466         (__attribute_artificial__): Use __attribute__ __artificial__ also on
5467         clang >= 7.
5468         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
5469         clang versions.
5470         (_Noreturn): Don't redefine on clang >= 3.5.
5471         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
5472         also on clang.
5473         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
5474         on clang.
5475         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5476         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5477         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5478         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
5479         also on clang.
5480         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5481         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
5482         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
5483         also on clang.
5484         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
5485         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
5486         __attribute__ __noreturn__ also on clang.
5487         * lib/obstack.h (__attribute_noreturn__): Likewise.
5488         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
5489         clang.
5490         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
5491         always_inline also on clang.
5492         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
5493         clang.
5495 2020-08-10  Bruno Haible  <bruno@clisp.org>
5497         c-ldtoastr tests: Fix test failure.
5498         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
5499         is longer than 'double'.
5501 2020-08-10  Bruno Haible  <bruno@clisp.org>
5503         Revert autoupdate's revert.
5504         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
5506 2020-08-09  Bruno Haible  <bruno@clisp.org>
5508         string: Fix build error in C++ mode with clang (regression from today).
5509         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
5510         parameters, one for GCC, one for clang.
5511         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
5512         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
5513         as return type.
5515 2020-08-09  Bruno Haible  <bruno@clisp.org>
5517         ftruncate: Use _chsize, not chsize.
5518         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
5519         * lib/ftruncate.c: Test HAVE__CHSIZE.
5520         (chsize_nothrow): Use _chsize, not chsize.
5522 2020-08-09  Bruno Haible  <bruno@clisp.org>
5524         Silence warnings from clang 10 with -Wimplicit-fallthrough.
5525         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
5526         clang >= 10.
5527         * lib/fnmatch.c (FALLTHROUGH): Likewise.
5528         * lib/fts.c (FALLTHROUGH): Likewise.
5529         * tests/macros.h (FALLTHROUGH): Likewise.
5530         * lib/regex_internal.h (FALLTHROUGH): Likewise.
5531         * config/srclist.txt: Mark it as needing sync with glibc.
5533 2020-08-09  Bruno Haible  <bruno@clisp.org>
5535         stdbool tests: Enable the stricter tests also on clang.
5536         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
5537         (e): Enable the address-to-bool conversion test also on clang.
5539 2020-08-09  Bruno Haible  <bruno@clisp.org>
5541         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
5542         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
5544 2020-08-09  Bruno Haible  <bruno@clisp.org>
5546         Use attribute __aligned__ with clang.
5547         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
5548         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
5550 2020-08-09  Bruno Haible  <bruno@clisp.org>
5552         Use __alignof__ with clang.
5553         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
5554         on clang.
5555         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
5556         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
5557         clang.
5558         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
5559         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
5560         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
5561         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
5563 2020-08-09  Bruno Haible  <bruno@clisp.org>
5565         ignore-value: Simplify on clang.
5566         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
5567         workaround.
5569 2020-08-09  Bruno Haible  <bruno@clisp.org>
5571         Use __typeof__ with clang.
5572         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
5573         "clang -std=gnu99".
5574         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
5575         * tests/test-stdint.c (verify_same_types): Enable the check also on
5576         clang.
5578 2020-08-09  Bruno Haible  <bruno@clisp.org>
5580         Add ability to emit user-defined warnings and errors with clang.
5581         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
5582         _GL_ATTRIBUTE_WARNING using an attribute for clang.
5583         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
5584         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
5585         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
5586         attribute for clang.
5588 2020-08-09  Bruno Haible  <bruno@clisp.org>
5590         intprops: Fix typo in comment.
5591         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
5593 2020-08-09  Bruno Haible  <bruno@clisp.org>
5595         Use __builtin_signbit* with clang.
5596         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
5597         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
5598         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5599         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
5600         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5601         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
5602         not REPLACE_SIGNBIT_USING_GCC.
5604 2020-08-09  Bruno Haible  <bruno@clisp.org>
5606         Use __builtin_isnan with clang.
5607         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5608         not __builtin_isnanf. Also on clang.
5609         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
5610         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
5611         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
5612         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
5613         built-in.
5614         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5615         not __builtin_isnanl. Also on clang.
5616         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
5617         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
5618         * lib/math.in.h (__has_builtin): Remove macro.
5619         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
5620         __builtin_isnanf. Also on clang.
5621         (isnand, gl_isnan_d): With clang, use the GCC built-in.
5622         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
5623         __builtin_isnanl. Also on clang.
5624         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
5625         on clang.
5627 2020-08-09  Bruno Haible  <bruno@clisp.org>
5629         thread-optim: Fix logic error.
5630         Reported by Paul Eggert.
5631         * lib/thread-optim.h (IF_MT): Fix logic error.
5633 2020-08-08  Bruno Haible  <bruno@clisp.org>
5635         localename: Use module 'thread-optim'.
5636         * lib/localename.c: Include thread-optim.h.
5637         (struniq): Use IF_MT macro.
5638         * modules/localename (Depends-on): Add thread-optim.
5640         clean-temp: Use module 'thread-optim'.
5641         * lib/clean-temp.c: Include thread-optim.h.
5642         (register_temporary_file, unregister_temporary_file, create_temp_dir,
5643         register_temp_file, unregister_temp_file, register_temp_subdir,
5644         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
5645         close_temp, fclose_variant_temp): Use IF_MT macro.
5646         * modules/clean-temp (Depends-on): Add thread-optim.
5648         fatal-signal: Use module 'thread-optim'.
5649         * lib/fatal-signal.c: Include thread-optim.h.
5650         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
5651         macro.
5652         * modules/fatal-signal (Depends-on): Add thread-optim.
5654 2020-08-08  Bruno Haible  <bruno@clisp.org>
5656         New module 'thread-optim'.
5657         * lib/thread-optim.h: New file.
5658         * modules/thread-optim: New file.
5659         * doc/multithread.texi (Multithreading Optimizations): New section.
5661 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
5663         doc: more updates for glibc 2.32
5664         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
5665         * doc/posix-functions/fchmodat.texi: Update.
5667 2020-08-07  Bruno Haible  <bruno@clisp.org>
5669         doc: Update for glibc 2.32.
5670         * doc/glibc-functions/__libc_single_threaded.texi: New file.
5671         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
5672         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
5673         * doc/glibc-functions/sigabbrev_np.texi: New file.
5674         * doc/glibc-functions/sigdescr_np.texi: New file.
5675         * doc/glibc-functions/strerrordesc_np.texi: New file.
5676         * doc/glibc-functions/strerrorname_np.texi: New file.
5677         * doc/gnulib.texi: Include them.
5678         (Glibc sys/single_threaded.h): New section.
5679         * doc/pastposix-functions/h_errno.texi: Update.
5680         * doc/posix-functions/*.texi: Likewise.
5681         * doc/glibc-functions/*.texi: Likewise.
5683 2020-08-07  Bruno Haible  <bruno@clisp.org>
5685         alloca: No need to compile alloca.c with clang.
5686         * lib/alloca.c: Skip all code with clang.
5688         Use __builtin_alloca with clang.
5689         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
5691 2020-08-06  Bruno Haible  <bruno@clisp.org>
5693         Use __builtin_assume with clang.
5694         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
5695         (assume): Use __builtin_assume when available.
5697 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5699         libgmp: add <gmp/gmp.h> support
5700         * m4/libgmp.m4 (gl_LIBGMP):
5701         * modules/libgmp (configure.ac, Makefile.am):
5702         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
5703         ‘#include <gmp.h>’.
5705 2020-08-06  Bruno Haible  <bruno@clisp.org>
5707         Consider that clang defines __OPTIMIZE__ like GCC does.
5708         * lib/streq.h: Define the inline functions also on clang.
5709         * lib/c-strcaseeq.h: Likewise.
5710         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
5711         the GCC workaround to clang.
5713 2020-08-06  Bruno Haible  <bruno@clisp.org>
5715         safe-alloc: Remove unused code.
5716         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
5718 2020-08-06  Bruno Haible  <bruno@clisp.org>
5720         Use __builtin_expect with clang everywhere.
5721         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
5722         also on clang.
5724 2020-08-05  Bruno Haible  <bruno@clisp.org>
5726         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
5727         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
5728         built-in also on clang.
5729         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
5730         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
5732 2020-08-05  Bruno Haible  <bruno@clisp.org>
5734         Use __builtin_clz{,l,ll} with clang, also on Windows.
5735         * lib/integer_length.c: With clang, use the GCC built-in, not
5736         <intrin.h>.
5737         * lib/integer_length_l.c: Likewise.
5738         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
5739         also on clang.
5740         * lib/vasnprintf.c (divide): Likewise.
5742 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5744         Update srclist.txt as per recent glibc changes
5745         * config/srclist.txt: Uncomment lines to reflect recent merges
5746         from Gnulib to glibc.
5748 2020-08-03  Bruno Haible  <bruno@clisp.org>
5750         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5751         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
5753 2020-08-03  Bruno Haible  <bruno@clisp.org>
5755         integer_length_ll: Optimize for MSVC in 64-bit mode.
5756         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5757         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5759 2020-08-03  Bruno Haible  <bruno@clisp.org>
5761         integer_length_ll: Optimize for MSVC in 32-bit mode.
5762         * lib/integer_length_l.c: Include <intrin.h>.
5763         (integer_length): Define as inline function, like in
5764         lib/integer_length.c.
5766 2020-08-03  Bruno Haible  <bruno@clisp.org>
5768         integer_length: Optimize for MSVC.
5769         * lib/integer_length.c: Include <intrin.h>.
5770         (integer_length): With MSVC, use the _BitScanReverse built-in.
5772 2020-08-03  Bruno Haible  <bruno@clisp.org>
5774         ffsll: Optimize for MSVC in 64-bit mode.
5775         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5776         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5777         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
5779 2020-08-03  Bruno Haible  <bruno@clisp.org>
5781         ffsll: Optimize for MSVC in 32-bit mode.
5782         * lib/ffsl.h: Include <intrin.h>.
5783         (ffs): Define as inline function, like in lib/ffs.c.
5785 2020-08-03  Bruno Haible  <bruno@clisp.org>
5787         ffs: Optimize for MSVC.
5788         * lib/ffs.c: Include <intrin.h>.
5789         (ffs): With MSVC, use the _BitScanForward built-in.
5791 2020-08-03  Bruno Haible  <bruno@clisp.org>
5793         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
5794         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
5795         variable.
5797 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
5799         fopen: Avoid undesired interactions with glibc headers.
5800         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
5801         __need_FILE, as the latter does not work with glibc.
5803 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5805         fcntl: document some F_SETLK errno variations
5806         * doc/posix-functions/fcntl.texi (fcntl): Document
5807         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
5809 2020-08-02  Bruno Haible  <bruno@clisp.org>
5811         oset: Add an 'iterator_atleast' operation.
5812         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
5813         extracted from gl_array_search_atleast.
5814         (gl_array_search_atleast): Use it.
5815         (gl_array_iterator_atleast): New function.
5816         (gl_array_oset_implementation): Use it.
5817         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
5818         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
5819         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
5820         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
5821         member.
5822         (gl_oset_iterator_atleast): New function.
5823         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
5824         (gl_OSet::iterator): Add another auxiliary constructor.
5825         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
5826         New functions.
5827         (main): Test also gl_oset_iterator_atleast.
5828         * tests/test-avltree_oset.c (is_at_least): New function.
5829         (main): Test also gl_oset_iterator_atleast.
5830         * tests/test-rbtree_oset.c (is_at_least): New function.
5831         (main): Test also gl_oset_iterator_atleast.
5832         * tests/test-oset-c++.cc (is_at_most): New function.
5833         (main): Test also gl_OSet::begin_atleast.
5835 2020-08-02  Bruno Haible  <bruno@clisp.org>
5837         oset-c++, omap-c++: Remove restriction for search_atleast method.
5838         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
5839         a different type than the element.
5840         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
5841         a different type than the key.
5843 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5845         gnumakefile: say ‘$(MAKE)’ not ‘make’
5846         * top/GNUmakefile (abort-due-to-no-makefile):
5847         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
5848         This change is backported from Autoconf.
5850 2020-08-01  Bruno Haible  <bruno@clisp.org>
5852         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5853         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
5854         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5855         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
5856         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
5857         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
5859 2020-08-01  Bruno Haible  <bruno@clisp.org>
5861         libtextstyle-optional: Update tests.
5862         * modules/libtextstyle-optional-tests (configure.ac): Invoke
5863         gl_LIBTEXTSTYLE_OPTIONAL.
5865 2020-08-01  Bruno Haible  <bruno@clisp.org>
5867         parse-datetime: Fix wrong #line statements.
5868         * modules/parse-datetime (Makefile.am): Correct #line statements also in
5869         parse-datetime-gen.h.
5871 2020-08-01  Bruno Haible  <bruno@clisp.org>
5873         libtextstyle[-optional]: Allow requesting a minimum version.
5874         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
5875         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
5876         gl_LIBTEXTSTYLE_SEARCH): New macros.
5877         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
5878         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
5879         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
5880         * modules/libtextstyle-optional (configure.ac): Don't invoke
5881         gl_LIBTEXTSTYLE_OPTIONAL.
5882         * NEWS: Mention the changes.
5884 2020-07-31  Bruno Haible  <bruno@clisp.org>
5886         _GL_CMP: Improve documentation.
5887         Reported by Paul Eggert in
5888         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
5889         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
5890         passed.
5892 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5894         largefile: sync with Autoconf master
5895         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
5896         Avoid undefined behavior on platforms where off_t is 32 bits.
5897         See: https://bugs.debian.org/742780
5899         alloca: sync with Autoconf master
5900         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5901         Do not define if Autoconf 2.70 or later, since Autoconf master
5902         now matches us.
5904 2020-07-30  Bruno Haible  <bruno@clisp.org>
5906         unicodeio: Add comment.
5907         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
5908         different iconv behaviours.
5910 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5912         Work around some Oracle Studio attribute bugs
5913         These were discovered when building bleeding-edge Emacs with
5914         Oracle Studio.
5915         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
5916         Port to Oracle Studio 12.6, which mishandles __attribute__
5917         ((__cold__)) and __attribute__ ((__may_alias__)) even though
5918         __has_attribute says they work.
5920 2020-07-29  Bruno Haible  <bruno@clisp.org>
5922         unicodeio: Fix wrong result on musl libc.
5923         Reported by A. Wilcox <awilfox@adelielinux.org> in
5924         <https://www.openwall.com/lists/musl/2020/07/29/2>.
5925         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
5926         on musl libc.
5927         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
5928         * modules/unicodeio (Files): Add m4/musl.m4.
5930 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
5932         fsusage, regex, stat-size: remove Cray support
5933         As near as I can make out this is actually support for UNICOS/mp,
5934         last released 2005, and Cray hasn’t supported that for years.
5935         * config/srclist.txt: Comment out regex.h for now.
5936         * lib/fsusage.c (get_fs_usage):
5937         * lib/regex.h (re_comp, re_exec):
5938         * lib/stat-size.h (ST_NBLOCKSIZE):
5939         Don’t worry about _CRAY.
5941 2020-07-29  Bruno Haible  <bruno@clisp.org>
5943         parse-datetime: Fix compilation error with bison 3.7.
5944         * modules/parse-datetime (Makefile.am): Create a generated header file
5945         parse-datetime-gen.h in the source directory. Correct #include and
5946         #line statements during preprocessing.
5948 2020-07-28  Bruno Haible  <bruno@clisp.org>
5950         fopen-gnu: Create files correctly (regression from 2020-05-24).
5951         * lib/fopen.c (rpl_open): Pass a third argument to open().
5953 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5955         xalloc-die: don’t depend on xalloc
5956         This removes a circular dependency, as xalloc depends on xalloc-die.
5957         * modules/xalloc-die (Files): Add lib/xalloc.h.
5958         (Depends-on): Remove xalloc.
5959         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
5961         dfa-tests: port to MSVC
5962         Problem reported by Gisle Vanem in:
5963         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
5964         Also, remove an unnecessary dependency on getprogname.
5965         * modules/dfa-tests (Depends-on): Remove getprogname.
5966         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
5967         (exit_status): New static var.
5968         (dfawarn): Set it instead of exiting.
5969         Do not declare as _Noreturn, to pacify MSVC.
5970         (main): Return exit_status.
5972 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5974         argz: pacify MSVC
5975         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
5976         Problem reported by Gisle Vanem.
5978         libgmp: remove dependency on havelib
5979         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
5980         use the more-traditional AC_SEARCH_LIBS approach.
5981         This should work better with GNU Emacs configuration,
5982         which uses pkg-config instead of a havelib-style approach.
5983         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
5984         * modules/libgmp (Depends-on): Remove havelib.
5986         libgmp: remove HAVE_GMP, LIB_GMP
5987         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
5988         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
5990 2020-07-26  Bruno Haible  <bruno@clisp.org>
5992         inttypes: Remove support for AIX 4.
5993         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
5994         * m4/inttypes-pri.m4: Remove file.
5995         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
5996         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
5997         * modules/inttypes-incomplete (Makefile.am): Don't substitute
5998         PRI_MACROS_BROKEN.
5999         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
6001 2020-07-26  Bruno Haible  <bruno@clisp.org>
6003         gettimeofday: Remove workaround for Mac OS X 10.0.
6004         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
6005         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
6006         * lib/gettimeofday.c: Don't include localtime-buffer.h.
6007         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6008         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6009         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
6010         * modules/localtime-buffer: Remove file.
6011         * lib/localtime-buffer.h: Remove file.
6012         * lib/localtime-buffer.c: Remove file.
6013         * m4/localtime-buffer.m4: Remove file.
6014         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
6016 2020-07-26  Bruno Haible  <bruno@clisp.org>
6018         tzset: Remove workaround for Solaris 2.6.
6019         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
6020         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
6021         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
6022         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
6023         * lib/localtime-buffer.c: Likewise.
6024         * lib/localtime.c: Likewise.
6025         * lib/tzset.c: Don't include localtime-buffer.h.
6026         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
6027         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
6028         is 1.
6029         * modules/tzset (Depends-on): Remove localtime-buffer.
6031 2020-07-26  Bruno Haible  <bruno@clisp.org>
6033         expl: Simplify autoconf test.
6034         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
6035         with small values..." test into the "checking whether expl works..."
6036         test.
6038 2020-07-26  Bruno Haible  <bruno@clisp.org>
6040         alloca: Remove Cray-2 and Cray Y-MP support.
6041         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
6042         Enable also on Autoconf >= 2.69.
6043         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
6044         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
6045         i00afunc): Remove.
6047 2020-07-25  Bruno Haible  <bruno@clisp.org>
6049         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
6050         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
6052 2020-07-25  Bruno Haible  <bruno@clisp.org>
6054         sigprocmask: Small autoconf macro improvement.
6055         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
6056         user to override the value of gl_cv_func_sigprocmask.
6057         * m4/gnulib-common.m4 (gl_SILENT): New macro.
6059 2020-07-25  Bruno Haible  <bruno@clisp.org>
6061         Small autoconf macro improvements.
6062         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
6063         override the value of gl_cv_func_working_mktime.
6064         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
6065         compiler produces multi-arch binaries..." in the configure output.
6066         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
6067         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
6069 2020-07-25  Bruno Haible  <bruno@clisp.org>
6071         doc: Update for NetBSD 7.1, 8.0, 9.0.
6072         * doc/*/*.texi: Update.
6073         * m4/exp2l.m4: Update comments.
6074         * m4/expl.m4: Likewise.
6075         * m4/ilogb.m4: Likewise.
6076         * m4/ilogbf.m4: Likewise.
6077         * m4/log10l.m4: Likewise.
6078         * m4/logl.m4: Likewise.
6079         * m4/printf.m4: Likewise.
6080         * m4/rintl.m4: Likewise.
6081         * m4/wcwidth.m4: Likewise.
6083 2020-07-24  Bruno Haible  <bruno@clisp.org>
6085         doc: Update for Mac OS X 10.13.
6086         * doc/*/*.texi: Update.
6087         * m4/expm1l.m4: Update comments.
6088         * m4/getgroups.m4: Likewise.
6089         * m4/getlogin_r.m4: Likewise.
6090         * m4/linkat.m4: Likewise.
6091         * m4/printf.m4: Likewise.
6093 2020-07-24  Bruno Haible  <bruno@clisp.org>
6095         doc: Update for Cygwin 2.9.0.
6096         * doc/*/*.texi: Update.
6098 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6100         parse-datetime: modernize doc
6101         * doc/parse-datetime.texi: Use more-current examples.
6102         Don’t lead with 32-bit time_t, as it’s on its way out.
6103         Capitalize “Epoch” to be consistent with POSIX.
6105         timespec: remove dependence on ‘verify’
6106         * lib/timespec.h: Do not include verify.h; no longer needed.
6107         * modules/timespec (Depends-on): Remove ‘verify’.
6109         Optimize a few more three-valued comparisons
6110         * lib/timespec.h (timespec_cmp, timespec_sign):
6111         * lib/utimecmp.c (utimecmpat):
6112         Avoid conditional branches by using _GL_CMP.
6114         Fix _GL_CMP parenthesization typo
6115         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
6117 2020-07-24  Bruno Haible  <bruno@clisp.org>
6119         dfa: Revert breaking gawk.
6120         Reported by Arnold Robbins <arnold@skeeve.com>.
6121         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
6123 2020-07-23  Bruno Haible  <bruno@clisp.org>
6125         Optimize three-valued comparison between integers.
6126         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
6127         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
6128         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
6129         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
6130         * lib/dfa.c (compare): Likewise.
6131         * lib/fts.c (fts_compare_ino): Likewise.
6132         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
6133         * lib/mbscasecmp.c (mbscasecmp): Likewise.
6134         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
6135         * lib/memcasecmp.c (memcasecmp): Likewise.
6136         * lib/memcmp2.c (memcmp2): Likewise.
6137         * lib/savedir.c (direntry_cmp_inode): Likewise.
6138         * lib/strcasecmp.c (strcasecmp): Likewise.
6139         * lib/strncasecmp.c (strncasecmp): Likewise.
6140         * lib/unistr/u-cmp2.h (FUNC): Likewise.
6142 2020-07-23  Bruno Haible  <bruno@clisp.org>
6144         lchmod: Use /proc on Cygwin.
6145         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
6147 2020-07-23  Ken Brown  <kbrown@cornell.edu>
6149         fchmodat: Use /proc on Cygwin
6150         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
6152 2020-07-21  Bruno Haible  <bruno@clisp.org>
6154         aligned-malloc: Optionally use aligned_alloc.
6155         * lib/aligned-malloc.h: Verify the alignment.
6156         (aligned_malloc): Use aligned_alloc as an alternative.
6157         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
6158         * doc/posix-functions/aligned_alloc.texi: Mention the modules
6159         'aligned-malloc' and 'pagealign_alloc'.
6161 2020-07-21  Bruno Haible  <bruno@clisp.org>
6163         aligned-malloc: Add tests.
6164         * tests/test-aligned-malloc.c: New file.
6165         * modules/aligned-malloc-tests: New file.
6167         aligned-malloc: New module.
6168         * lib/aligned-malloc.h: New file.
6169         * m4/malloc-align.m4: New file.
6170         * modules/aligned-malloc: New file.
6171         * doc/posix-functions/posix_memalign.texi: Mention the new module.
6172         * doc/glibc-functions/memalign.texi: Likewise.
6174 2020-07-21  Bruno Haible  <bruno@clisp.org>
6176         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
6177         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
6178         sure PRIPTR_PREFIX is defined to "ll", not "l".
6180 2020-07-21  Bruno Haible  <bruno@clisp.org>
6182         printf-posix: Make an autoconf test more future-proof.
6183         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
6184         using uintptr_t.
6186 2020-07-20  Bruno Haible  <bruno@clisp.org>
6188         list, oset, omap: Relicense some of the container modules under LGPLv2+.
6189         * modules/list (License): Change to LGPLv2+.
6190         * modules/array-list (License): Likewise.
6191         * modules/carray-list (License): Likewise.
6192         * modules/linked-list (License): Likewise.
6193         * modules/avltree-list (License): Likewise.
6194         * modules/rbtree-list (License): Likewise.
6195         * modules/oset (License): Likewise.
6196         * modules/array-oset (License): Likewise.
6197         * modules/avltree-oset (License): Likewise.
6198         * modules/rbtree-oset (License): Likewise.
6199         * modules/omap (License): Likewise.
6200         * modules/array-omap (License): Likewise.
6201         * modules/avltree-omap (License): Likewise.
6202         * modules/rbtree-omap (License): Likewise.
6204 2020-07-20  Bruno Haible  <bruno@clisp.org>
6206         oset: Add an 'update' operation.
6207         * lib/gl_array_oset.c (gl_array_update): New function.
6208         (gl_array_oset_implementation): Use it.
6209         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6210         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6211         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
6212         extracted from gl_tree_nx_add_before.
6213         (gl_tree_nx_add_before): Invoke it.
6214         (gl_tree_add_node_after): New function, extracted from
6215         gl_tree_nx_add_after.
6216         (gl_tree_nx_add_after): Invoke it.
6217         (gl_tree_remove_node_no_free): New function, extracted from
6218         gl_tree_remove_node.
6219         (gl_tree_remove_node): Invoke it.
6220         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
6221         extracted from gl_tree_nx_add_before.
6222         (gl_tree_nx_add_before): Invoke it.
6223         (gl_tree_add_node_after): New function, extracted from
6224         gl_tree_nx_add_after.
6225         (gl_tree_nx_add_after): Invoke it.
6226         (gl_tree_remove_node_no_free): New function, extracted from
6227         gl_tree_remove_node.
6228         (gl_tree_remove_node): Invoke it.
6229         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
6230         from gl_tree_iterator_next.
6231         (gl_tree_iterator_next): Invoke it.
6232         (gl_tree_prev_node, gl_tree_update): New functions.
6233         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6234         (gl_avltree_oset_implementation): Use gl_tree_update.
6235         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6236         (gl_rbtree_oset_implementation): Use gl_tree_update.
6237         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
6238         (gl_oset_update): New function.
6239         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
6240         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
6241         * modules/rbtree-oset (configure.ac): Likewise.
6242         * tests/test-oset-update.h: New file.
6243         * tests/test-array_oset.c: Include test-oset-update.h.
6244         (main): Invoke test_update.
6245         * tests/test-avltree_oset.c: Likewise.
6246         * tests/test-rbtree_oset.c: Likewise.
6247         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
6248         * modules/avltree-oset-tests (Files): Likewise.
6249         * modules/rbtree-oset-tests (Files): Likewise.
6250         * tests/test-oset-c++.cc (action): New function.
6251         (main): Test the 'update' member function.
6253 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
6255         md5, sha1, sha256, sha512: pacify Autoconf 2.70
6256         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
6257         shell if, so that the argument to AC_CHECK_HEADERS is
6258         a simple string that does not require shell evaluation.
6259         This fixes a warning generated by Autoconf 2.69b.
6261 2020-07-12  Bruno Haible  <bruno@clisp.org>
6263         libgmp: Avoid warning when --without-libgmp is used.
6264         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
6265         GCC >= 8, not for GCC >= 4.6.
6267 2020-07-12  Bruno Haible  <bruno@clisp.org>
6269         libgmp: Link to the correct shared library.
6270         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
6271         * modules/libgmp (Depends-on): Add havelib.
6272         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
6273         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
6275 2020-07-12  Bruno Haible  <bruno@clisp.org>
6277         libgmp tests: Add some safety checks.
6278         * modules/libgmp-tests (Depends-on): Add verify.
6279         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
6280         (main): Verify that gmp.h and libgmp versions match.
6282 2020-07-10  Bruno Haible  <bruno@clisp.org>
6284         unicodeio: Fix wrong result on NetBSD.
6285         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
6286         characters also on NetBSD.
6288 2020-07-09  Bruno Haible  <bruno@clisp.org>
6290         unicodeio: Fix wrong result on Solaris 11.
6291         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
6292         via Akim Demaille <akim.demaille@gmail.com> in
6293         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
6294         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
6295         characters on Solaris.
6296         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
6297         UTF-8 output or the specified fallback.
6299 2020-07-08  Bruno Haible  <bruno@clisp.org>
6301         unicodeio: Add tests.
6302         * tests/test-unicodeio.c: New file.
6303         * tests/test-unicodeio1.sh: New file.
6304         * tests/test-unicodeio2.sh: New file.
6305         * tests/test-unicodeio3.sh: New file.
6306         * modules/unicodeio-tests: New file.
6308 2020-07-08  Bruno Haible  <bruno@clisp.org>
6310         unicodeio: Document link requirements.
6311         * modules/unicodeio (Link): New section.
6313 2020-07-07  Bruno Haible  <bruno@clisp.org>
6315         doc: Remove support for some very old platforms.
6316         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
6317         * doc/posix-functions/memcpy.texi: Likewise.
6318         * doc/posix-functions/memmove.texi: Likewise.
6319         * doc/posix-functions/memset.texi: Likewise.
6320         * doc/posix-functions/getcwd.texi: Likewise.
6322         memchr: Remove support for some very old platforms.
6323         * m4/memchr-obsolete.m4: Remove file.
6324         * modules/memchr-obsolete: Remove file.
6325         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
6326         absent. Don't define HAVE_MEMCHR.
6327         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
6328         * modules/memchr (Depends-on): Remove memchr-obsolete.
6329         (configure.ac): Assume HAVE_MEMCHR is 1.
6330         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
6331         HAVE_MEMCHR.
6332         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
6333         * doc/posix-functions/memchr.texi: Don't mention module
6334         'memchr-obsolete'.
6335         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
6336         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
6337         * modules/strnlen (Depends-on): Remove memchr-obsolete.
6339         dup2: Remove support for some very old platforms.
6340         * m4/dup2-obsolete.m4: Remove file.
6341         * modules/dup2-obsolete: Remove file.
6342         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
6343         Don't define HAVE_DUP2.
6344         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
6345         * lib/dup2.c: Likewise.
6346         * modules/dup2 (Depends-on, configure.ac): Likewise.
6347         (Depends-on): Remove dup2-obsolete.
6348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
6349         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
6350         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
6352 2020-07-07  Bruno Haible  <bruno@clisp.org>
6354         canonicalize: Trim module dependencies.
6355         * lib/hash-triple.h: Group declarations.
6356         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
6357         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
6358         (STREQ): Remove macro.
6359         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
6360         * modules/hash-triple-simple: New file, based on modules/hash-triple.
6361         * modules/hash-triple (Files): Remove lib/hash-triple.h.
6362         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
6363         * modules/canonicalize (Depends-on): Remove hash-triple. Add
6364         hash-triple-simple.
6365         * modules/file-set (Depends-on): Likewise.
6367 2020-07-07  Bruno Haible  <bruno@clisp.org>
6369         Clarify dependencies to double-slash-root.
6370         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
6371         (Depends-on): Add double-slash-root.
6372         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
6373         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
6375 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6377         libgmp: new module
6378         The idea is to let programs simply include <gmp.h>, and
6379         so long as they live within the mini-gmp subset they need
6380         not worry about whether the GMP libraries are installed.
6381         * MODULES.html.sh: Mention it.
6382         * config/srclist.txt: Mention files copied from GMP source.
6383         * config/srclistvars.sh (GMP): New var.
6384         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
6385         * modules/libgmp-tests, tests/test-libgmp.c: New files.
6386         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
6388 2020-07-05  Bruno Haible  <bruno@clisp.org>
6390         mkancesdirs: Trim module dependencies.
6391         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
6392         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
6394 2020-07-05  Bruno Haible  <bruno@clisp.org>
6396         getprogname: Trim module dependencies.
6397         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
6398         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
6399         basename-lgpl.
6401 2020-07-05  Bruno Haible  <bruno@clisp.org>
6403         filenamecat-lgpl: Trim module dependencies.
6404         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
6405         dirname.h.
6406         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
6407         basename-lgpl, filename.
6409 2020-07-05  Bruno Haible  <bruno@clisp.org>
6411         backupfile, backup-rename: Trim module dependencies.
6412         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
6413         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
6414         basename-lgpl.
6415         * modules/backup-rename (Depends-on): Likewise.
6417 2020-07-05  Bruno Haible  <bruno@clisp.org>
6419         argp: Trim module dependencies.
6420         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
6421         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
6423 2020-07-05  Bruno Haible  <bruno@clisp.org>
6425         basename-lgpl: New module.
6426         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
6427         lib/basename-lgpl.c.
6428         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
6429         <stdbool.h>, filename.h.
6430         (last_component): Rename a local variable.
6431         * lib/dirname.h: Include basename-lgpl.h.
6432         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
6433         (last_component, base_len): Remove declarations.
6434         * modules/basename-lgpl: New file.
6435         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
6436         (Depends-on): Add basename-lgpl. Remove double-slash-root.
6437         (Makefile.am): Don't compile basename-lgpl.c.
6438         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
6439         not 'dirname'.
6441 2020-07-05  Bruno Haible  <bruno@clisp.org>
6443         dirname, dirname-lgpl: Simplify.
6444         * m4/dirname.m4: Remove file.
6445         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
6446         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
6447         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
6449 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
6451         tests: avoid shadowing warning
6452         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
6454 2020-07-05  Bruno Haible  <bruno@clisp.org>
6456         supersede: Add tests.
6457         * tests/test-supersede.c: New file.
6458         * tests/test-supersede-open.h: New file.
6459         * tests/test-supersede-fopen.h: New file.
6460         * modules/supersede-tests: New file.
6462         supersede: New module.
6463         * lib/supersede.h: New file.
6464         * lib/supersede.c: New file.
6465         * m4/supersede.m4: New file.
6466         * modules/supersede: New file.
6468 2020-07-05  Bruno Haible  <bruno@clisp.org>
6470         Add some copyright headers.
6471         * lib/dev-ino.h: Add copyright header.
6472         * lib/di-set.h: Likewise.
6473         * lib/fchown-stub.c: Likewise.
6474         * lib/file-set.h: Likewise.
6475         * lib/hash-triple.h: Likewise.
6476         * lib/idcache.h: Likewise.
6477         * lib/ino-map.h: Likewise.
6478         * lib/mkancesdirs.h: Likewise.
6479         * lib/scratch_buffer.h: Likewise.
6480         * lib/se-context.in.h: Likewise.
6481         * lib/stdopen.h: Likewise.
6482         * lib/userspec.h: Likewise.
6484 2020-07-04  Bruno Haible  <bruno@clisp.org>
6486         getrandom: Relicense under LGPLv2+.
6487         Paul Eggert's approval is in
6488         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
6489         * modules/getrandom (License): Change to LGPLv2+.
6491 2020-07-04  Bruno Haible  <bruno@clisp.org>
6493         getumask: Add tests.
6494         * tests/test-getumask.c: New file.
6495         * modules/getumask-tests: New file.
6497         getumask: New module.
6498         * lib/sys_stat.in.h (getumask): New declaration.
6499         * lib/getumask.c: New file.
6500         * m4/getumask.m4: New file.
6501         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
6502         declared.
6503         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
6504         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
6505         HAVE_GETUMASK.
6506         * modules/getumask: New file.
6507         * tests/test-sys_stat-c++.cc (getumask): Check signature.
6508         * doc/glibc-functions/getumask.texi: New file.
6509         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
6511 2020-07-04  Bruno Haible  <bruno@clisp.org>
6513         clean-temp: Add support for temporary files with given mode.
6514         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
6515         * lib/clean-temp.c (struct try_create_file_params): New type.
6516         (try_create_file): New function.
6517         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
6518         gen_tempname.
6520 2020-07-04  Bruno Haible  <bruno@clisp.org>
6522         clean-temp: Document limitations.
6523         * lib/clean-temp.h: Document limitations.
6525 2020-07-04  Bruno Haible  <bruno@clisp.org>
6527         clean-temp: Add support for temporary files with unpredictable names.
6528         * lib/clean-temp.h (gen_register_open_temp): New declaration.
6529         * lib/clean-temp.c: Include tempname.h.
6530         (gen_register_open_temp): New function.
6531         * modules/tempname (configure.ac): Define a module indicator.
6533 2020-07-04  Bruno Haible  <bruno@clisp.org>
6535         clean-temp: Add support for temporary files anywhere in the file system.
6536         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
6537         cleanup_temporary_file): New declarations.
6538         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
6539         variables.
6540         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
6541         (dir_cleanup_list): Renamed from cleanup_list.
6542         (cleanup_action): Process the file_cleanup_list as well.
6543         (do_init_clean_temp): New function.
6544         (clean_temp_once): New variable.
6545         (init_clean_temp): New function.
6546         (create_temp_dir): Invoke it.
6547         (register_temporary_file, unregister_temporary_file,
6548         cleanup_temporary_file): New functions.
6549         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
6550         argument.
6552 2020-07-04  Bruno Haible  <bruno@clisp.org>
6554         clean-temp: Improve comments.
6555         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
6556         fwriteerror_temp, close_stream_temp): Clarify intended use.
6557         * lib/clean-temp.c: Likewise.
6559 2020-07-04  Bruno Haible  <bruno@clisp.org>
6561         clean-temp: Make multithread-safe, part 2.
6562         * lib/fatal-signal.h: Include <signal.h>.
6563         (get_fatal_signal_set): New declaration.
6564         * lib/fatal-signal.c (get_fatal_signal_set): New function.
6565         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
6566         (struct closeable_fd): New type.
6567         (fatal_signal_set): New variable.
6568         (init_fatal_signal_set): New function.
6569         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
6570         (cleanup_action): Invoke asyncsafe_close instead of close.
6571         (create_temp_dir): Invoke init_fatal_signal_set.
6572         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
6573         element.
6574         (unregister_fd): Remove function.
6575         (close_temp): Cleanup descriptors list on the fly. Invoke
6576         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
6577         (fclose_variant_temp): New function.
6578         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
6579         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
6581 2020-07-04  Bruno Haible  <bruno@clisp.org>
6583         clean-temp: Make multithread-safe, part 1.
6584         * lib/clean-temp.c: Include glthread/lock.h.
6585         (cleanup_list_lock): New variable.
6586         (register_temp_file, unregister_temp_file, register_temp_subdir,
6587         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
6588         (create_temp_dir): Likewise. Don't free the old array.
6589         (descriptors_lock): New variable.
6590         (register_fd, unregister_fd): Use it.
6591         * modules/clean-temp (Depends-on): Add lock.
6593 2020-07-04  Bruno Haible  <bruno@clisp.org>
6595         fatal-signal: Make multithread-safe.
6596         * lib/fatal-signal.c (init_fatal_signals): Add comment.
6597         (do_init_fatal_signal_set): New function, extracted from
6598         init_fatal_signal_set.
6599         (fatal_signal_set_once): New variable.
6600         (init_fatal_signal_set): Use gl_once.
6602 2020-07-03  Bruno Haible  <bruno@clisp.org>
6604         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
6605         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
6606         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
6607         <bcrypt.h>.
6609 2020-07-03  Bruno Haible  <bruno@clisp.org>
6611         dfa tests: Follow common file naming conventions.
6612         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
6613         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
6614         * tests/test-dfa-invalid-char-class.sh: Renamed from
6615         tests/dfa-invalid-char-class.sh. Update.
6616         * modules/dfa-tests (Files, Makefile.am): Update.
6618 2020-07-03  Bruno Haible  <bruno@clisp.org>
6620         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
6621         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
6622         the GCC extended asm syntax also for the Sun Studio 12 compilers.
6624 2020-07-03  Bruno Haible  <bruno@clisp.org>
6626         asyncsafe-spin: Reduce code duplication.
6627         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
6628         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
6629         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
6631 2020-07-03  Bruno Haible  <bruno@clisp.org>
6633         lchmod: Simplify after 2020-02-22 change.
6634         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
6636 2020-07-03  Bruno Haible  <bruno@clisp.org>
6638         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
6639         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
6641 2020-07-03  Bruno Haible  <bruno@clisp.org>
6643         dfa: Make sure the compiler does not barf on 'inline'.
6644         * modules/dfa (configure.ac): Require AC_C_INLINE.
6646 2020-07-03  Bruno Haible  <bruno@clisp.org>
6648         bitset: Make sure the compiler does not barf on 'inline'.
6649         * modules/bitset (configure.ac): New section.
6651 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6653         manywarnings: improve port to GCC 10.1
6654         * build-aux/gcc-warning.spec: Also list warnings that are default
6655         or are enabled by already-given flags.  This lets us speed up
6656         checking for attributes, and makes the generated compilation
6657         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
6658         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
6659         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
6660         to shell variables that may have long values.
6661         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
6662         consequences of other flags, to speed up checking and
6663         shorten commands.
6665         tests: pacify gcc -fanalyzer on zerosize_ptr
6666         * tests/test-memcasecmp.c (main):
6667         * tests/test-memchr.c (main):
6668         * tests/test-memchr2.c (main):
6669         * tests/test-memcmp.c (main):
6670         * tests/test-memmem.c (main):
6671         * tests/test-memrchr.c (main):
6672         * tests/unistr/test-chr.h (main):
6673         * tests/unistr/test-cmp.h (test_cmp):
6674         Check whether zerosize_ptr returns NULL before using it.
6675         This pacifies GCC 10.1’s new fanalyzer option, and matches
6676         other uses of zerosize_ptr.
6678 2020-07-01  Bruno Haible  <bruno@clisp.org>
6680         asyncsafe-spin: Add tests.
6681         * tests/test-asyncsafe-spin1.c: New file.
6682         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
6683         tests/test-pthread-spin.c.
6684         * modules/asyncsafe-spin-tests: New file.
6686 2020-07-01  Bruno Haible  <bruno@clisp.org>
6688         asyncsafe-spin: New module.
6689         * lib/asyncsafe-spin.h: New file.
6690         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
6691         * modules/asyncsafe-spin: New file.
6693 2020-07-01  Bruno Haible  <bruno@clisp.org>
6695         windows-spin: Fix race condition on multiprocessor systems.
6696         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
6698 2020-07-01  Bruno Haible  <bruno@clisp.org>
6700         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
6701         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6702         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
6703         an implementation based on other GCC built-ins.
6705 2020-07-01  Bruno Haible  <bruno@clisp.org>
6707         pthread-spin: Optimize fallback for GCC versions >= 4.7.
6708         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6709         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
6710         lock byte.
6712 2020-07-01  Bruno Haible  <bruno@clisp.org>
6714         pthread-spin: Add error checking.
6715         * lib/pthread-spin.c: Include <stdbool.h>.
6716         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
6717         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
6718         the unlocks.
6719         * modules/pthread-spin (Depends-on): Add stdbool.
6721 2020-07-01  Bruno Haible  <bruno@clisp.org>
6723         pthread-spin: Add tests.
6724         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
6725         * modules/pthread-spin-tests: New file.
6727 2020-07-01  Bruno Haible  <bruno@clisp.org>
6729         tests: Reduce code duplication.
6730         * tests/atomic-int-posix.h: New file, extracted from
6731         tests/test-pthread-mutex.c.
6732         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
6733         * tests/test-pthread-rwlock.c: Likewise.
6734         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
6735         * modules/pthread-rwlock-tests (Files): Likewise.
6737 2020-07-01  Bruno Haible  <bruno@clisp.org>
6739         tests: Refactor.
6740         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
6741         * tests/test-mtx.c: Include it. Remove the corresponding code.
6742         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
6744 2020-07-01  Bruno Haible  <bruno@clisp.org>
6746         tests: Refactor.
6747         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
6748         * tests/test-lock.c: Include it. Remove the corresponding code.
6749         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
6751 2020-06-29  Bruno Haible  <bruno@clisp.org>
6753         sys_socket: Don't define socklen_t if it is already defined on mingw.
6754         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
6755         <https://savannah.gnu.org/bugs/?57725>,
6756         by Rahul Das <bokul_4u@yahoo.com> in
6757         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
6758         and by Eli Zaretskii <eliz@gnu.org> in
6759         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
6760         * lib/sys_socket.in.h (socklen_t): Remove definition.
6762 2020-06-29  Bruno Haible  <bruno@clisp.org>
6764         alloca-opt: Fix warning on mingw.
6765         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
6766         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
6767         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
6768         whether alloca is defined.
6770 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
6772         getrandom: do not depend on ‘open’ on mingw
6773         Similarly for at-internal, getloadavg.  These modules do not call
6774         the ‘open’ function when they are compiled on mingw.  On mingw,
6775         this avoids having to compile open.c when building Emacs, which
6776         does its own thing with ‘open’.
6777         * modules/at-internal, modules/getloadavg, modules/getrandom:
6778         (Depends-on): Don’t depend on ‘open’ on mingw.
6779         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
6780         * modules/getloadavg (Depends-on):
6781         Depend on intprops, open, stdbool, stdlib only if compiling
6782         getloadavg.c.
6784 2020-06-28  Bruno Haible  <bruno@clisp.org>
6786         doc: Add a note about sigprocmask vs. pthread_sigmask.
6787         * doc/posix-functions/sigprocmask.texi: Add note.
6789 2020-06-28  Bruno Haible  <bruno@clisp.org>
6791         getrandom: Fix compilation errors on older versions of mingw.
6792         Reported by Eli Zaretskii <eliz@gnu.org> in
6793         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
6794         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
6795         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
6796         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
6797         BCryptGenRandom ourselves.
6799 2020-06-28  Bruno Haible  <bruno@clisp.org>
6801         clean-temp: Fix wrong errno in error message.
6802         * lib/clean-temp.c (create_temp_dir): Save errno around
6803         unblock_fatal_signals call.
6805 2020-06-27  Bruno Haible  <bruno@clisp.org>
6807         fatal-signal: Make multithread-safe.
6808         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
6810 2020-06-27  Bruno Haible  <bruno@clisp.org>
6812         clean-temp: Don't force deletion of temporary files on native Windows.
6813         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
6814         argument.
6815         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
6816         * NEWS: Mention the change.
6817         * lib/javacomp.c (write_temp_file): Update.
6819 2020-06-27  Bruno Haible  <bruno@clisp.org>
6821         fatal-signal: Make multithread-safe.
6822         * lib/fatal-signal.c: Include glthread/lock.h.
6823         (at_fatal_signal_lock): New variable.
6824         (at_fatal_signal): Use it.
6825         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
6826         (block_fatal_signals, unblock_fatal_signals): Use them.
6827         * modules/fatal-signal (Depends-on): Add lock.
6829 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
6831         getloadavg: don’t depend on fopen-gnu
6832         This is for Emacs, which does not need fopen-gnu for anything else,
6833         and which would need it only on a NetBSD platform where getloadavg
6834         does not work (does that even happen?).
6835         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
6836         * modules/getloadavg (Depends-on): Remove fopen-gnu.
6838         * tests/test-getloadavg.c (main): Fix typo.
6840 2020-06-27  Bruno Haible  <bruno@clisp.org>
6842         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
6843         * modules/tempname (Link): New section.
6844         * modules/mkdtemp (Link): Likewise.
6845         * modules/clean-temp (Link): Likewise.
6846         * modules/mkstemp (Link): Likewise.
6847         * modules/stdlib-safer (Link): Likewise.
6848         * modules/mkstemps (Link): Likewise.
6849         * modules/mkostemp (Link): Likewise.
6850         * modules/mkostemps (Link): Likewise.
6851         * modules/tmpfile (Link): Likewise.
6852         * modules/tmpfile-safer (Link): Likewise.
6853         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
6854         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
6855         $(LIB_GETRANDOM).
6856         * NEWS: Mention the changes.
6858 2020-06-27  Bruno Haible  <bruno@clisp.org>
6860         fopen-gnu: Simplify code.
6861         * lib/fopen.c: Include <stdbool.h>.
6862         (rpl_fopen): Use a single variable open_flags instead of
6863         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
6864         * modules/fopen (Depends-on): Add stdbool.
6866 2020-06-26  Bruno Haible  <bruno@clisp.org>
6868         canonicalize: Improve documentation.
6869         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
6870         return convention.
6872 2020-06-26  Bruno Haible  <bruno@clisp.org>
6874         xgetcwd: Improve documentation.
6875         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
6877 2020-06-26  Bruno Haible  <bruno@clisp.org>
6879         getcwd: Improve documentation.
6880         * lib/getcwd.c (__getcwd): Document the failure return convention.
6882 2020-06-26  Bruno Haible  <bruno@clisp.org>
6884         fchdir: Improve documentation.
6885         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
6886         convention.
6888 2020-06-26  Bruno Haible  <bruno@clisp.org>
6890         filenamecat-lgpl: Set errno upon failure.
6891         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
6892         return convention.
6893         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
6895 2020-06-26  Bruno Haible  <bruno@clisp.org>
6897         areadlink-with-size: Set errno upon failure.
6898         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
6899         fails.
6900         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
6902 2020-06-26  Bruno Haible  <bruno@clisp.org>
6904         copy-file: Shrink dependencies.
6905         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
6906         qcopy-acl.
6908 2020-06-26  Bruno Haible  <bruno@clisp.org>
6910         doc: Mention declaration fixes implemented by some modules.
6911         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
6912         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
6913         declaration appear in <unistd.h>.
6914         * doc/posix-functions/dup.texi: Likewise.
6915         * doc/posix-functions/dup2.texi: Likewise.
6916         * doc/posix-functions/gethostname.texi: Likewise.
6917         * doc/posix-functions/isatty.texi: Likewise.
6918         * doc/posix-functions/lseek.texi: Likewise.
6919         * doc/posix-functions/unlink.texi: Likewise.
6920         * doc/posix-functions/read.texi: Mention the module 'read'.
6921         * doc/posix-functions/write.texi: Mention the effects of the module
6922         'write'.
6924 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
6926         c-dtoastr, c-ldtoastr: new modules
6927         These modules provide the same functionality as the modules
6928         dtoastr and ldtoastr except for the formatting taking place in the
6929         C locale.
6930         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
6931         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
6932         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
6933         defined.  Use c_snprintf and c_strtod/c_strtold instead of
6934         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
6935         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
6936         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
6937         modules/c-ldtoastr-tests: New files.
6938         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
6939         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
6941 2020-06-21  Bruno Haible  <bruno@clisp.org>
6943         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
6944         * lib/tzset.c: Include <stdlib.h>, <string.h>.
6946 2020-06-16  Bruno Haible  <bruno@clisp.org>
6948         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
6949         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
6951 2020-06-16  Bruno Haible  <bruno@clisp.org>
6953         thread, thrd: Avoid a compiler warning.
6954         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
6956 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
6958         windows-thread: Avoid a compiler warning.
6959         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
6960         void.
6961         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
6963 2020-06-15  Bruno Haible  <bruno@clisp.org>
6965         unictype/joininggroup-name: Fix warning on 64-bit mingw.
6966         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
6967         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
6968         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
6969         first.
6971 2020-06-06  Bruno Haible  <bruno@clisp.org>
6973         calloc-gnu tests: Avoid a test failure with clang.
6974         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
6975         'volatile', to defeat compiler optimizations.
6977 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6979         getloadavg: fix double-increment bug
6980         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
6981         Linux without glibc, Android, Cygwin.  This fixes a bug I
6982         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
6983         Problem and fix reported by Semen Verchenko in:
6984         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
6986         tempname: use getrandom, not getentropy
6987         This removes a dependency, as getentropy depends on getrandom.
6988         * lib/tempname.c: Include sys/random.h instead of unistd.h.
6989         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
6990         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
6992 2020-06-01  Bruno Haible  <bruno@clisp.org>
6994         doc: New chapter 'Multithreading'.
6995         * doc/multithread.texi: New file.
6996         * doc/gnulib.texi: Include it.
6998 2020-06-01  Bruno Haible  <bruno@clisp.org>
7000         doc: Move 'Running self-tests under valgrind' section.
7001         * doc/gnulib.texi (Build Infrastructure Modules): Include
7002         valgrind-tests.texi here...
7003         (Miscellaneous Notes): ... not here.
7005 2020-06-01  Bruno Haible  <bruno@clisp.org>
7007         doc: Move 'Visual Studio Compatibility' section.
7008         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
7009         here...
7010         (Build Infrastructure Modules): ... not here.
7012 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
7014         doc: improve randomness discussion
7015         Inspired by comments from Jeffrey Walton in:
7016         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
7017         * doc/glibc-functions/getentropy.texi (getentropy):
7018         * doc/glibc-functions/getrandom.texi (getrandom):
7019         Improve discussion of problems with "random" data,
7020         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
7022 2020-06-01  Bruno Haible  <bruno@clisp.org>
7024         doc: Fix Texinfo syntax error.
7025         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
7027 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
7029         doc: Change '.' to '@.' where appropriate.
7030         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
7031         * doc/glibc-functions/fstatfs.texi: Likewise.
7032         * doc/glibc-functions/fts_children.texi: Likewise.
7033         * doc/glibc-functions/fts_read.texi: Likewise.
7034         * doc/glibc-functions/getdirentries.texi: Likewise.
7035         * doc/glibc-functions/mkostemp.texi: Likewise.
7036         * doc/glibc-functions/mkostemps.texi: Likewise.
7037         * doc/glibc-functions/mkstemps.texi: Likewise.
7038         * doc/glibc-functions/preadv.texi: Likewise.
7039         * doc/glibc-functions/pwritev.texi: Likewise.
7040         * doc/glibc-functions/sendfile.texi: Likewise.
7041         * doc/glibc-functions/statfs.texi: Likewise.
7042         * doc/gnulib-intro.texi: Likewise.
7043         * doc/gnulib-tool.texi: Likewise.
7044         * doc/intprops.texi: Likewise.
7045         * doc/lib-symbol-visibility.texi: Likewise.
7046         * doc/licenses-texi.texi: Likewise.
7047         * doc/pastposix-functions/bcmp.texi: Likewise.
7048         * doc/pastposix-functions/bcopy.texi: Likewise.
7049         * doc/pastposix-functions/bzero.texi: Likewise.
7050         * doc/pastposix-functions/ecvt.texi: Likewise.
7051         * doc/pastposix-functions/fcvt.texi: Likewise.
7052         * doc/pastposix-functions/ftime.texi: Likewise.
7053         * doc/pastposix-functions/gcvt.texi: Likewise.
7054         * doc/pastposix-functions/getwd.texi: Likewise.
7055         * doc/pastposix-functions/index.texi: Likewise.
7056         * doc/pastposix-functions/mktemp.texi: Likewise.
7057         * doc/pastposix-functions/rindex.texi: Likewise.
7058         * doc/pastposix-functions/wcswcs.texi: Likewise.
7059         * doc/posix-functions/aio_cancel.texi: Likewise.
7060         * doc/posix-functions/aio_error.texi: Likewise.
7061         * doc/posix-functions/aio_fsync.texi: Likewise.
7062         * doc/posix-functions/aio_read.texi: Likewise.
7063         * doc/posix-functions/aio_return.texi: Likewise.
7064         * doc/posix-functions/aio_suspend.texi: Likewise.
7065         * doc/posix-functions/aio_write.texi: Likewise.
7066         * doc/posix-functions/creat.texi: Likewise.
7067         * doc/posix-functions/ctime.texi: Likewise.
7068         * doc/posix-functions/daylight.texi: Likewise.
7069         * doc/posix-functions/fgetpos.texi: Likewise.
7070         * doc/posix-functions/fopen.texi: Likewise.
7071         * doc/posix-functions/freopen.texi: Likewise.
7072         * doc/posix-functions/fseeko.texi: Likewise.
7073         * doc/posix-functions/fsetpos.texi: Likewise.
7074         * doc/posix-functions/fstatat.texi: Likewise.
7075         * doc/posix-functions/fstatvfs.texi: Likewise.
7076         * doc/posix-functions/ftello.texi: Likewise.
7077         * doc/posix-functions/ftruncate.texi: Likewise.
7078         * doc/posix-functions/getrlimit.texi: Likewise.
7079         * doc/posix-functions/lio_listio.texi: Likewise.
7080         * doc/posix-functions/localtime.texi: Likewise.
7081         * doc/posix-functions/lseek.texi: Likewise.
7082         * doc/posix-functions/mkstemp.texi: Likewise.
7083         * doc/posix-functions/mktime.texi: Likewise.
7084         * doc/posix-functions/open.texi: Likewise.
7085         * doc/posix-functions/openat.texi: Likewise.
7086         * doc/posix-functions/opendir.texi: Likewise.
7087         * doc/posix-functions/pread.texi: Likewise.
7088         * doc/posix-functions/pwrite.texi: Likewise.
7089         * doc/posix-functions/readdir.texi: Likewise.
7090         * doc/posix-functions/readdir_r.texi: Likewise.
7091         * doc/posix-functions/scandir.texi: Likewise.
7092         * doc/posix-functions/seekdir.texi: Likewise.
7093         * doc/posix-functions/setrlimit.texi: Likewise.
7094         * doc/posix-functions/statvfs.texi: Likewise.
7095         * doc/posix-functions/strftime.texi: Likewise.
7096         * doc/posix-functions/telldir.texi: Likewise.
7097         * doc/posix-functions/timezone.texi: Likewise.
7098         * doc/posix-functions/tmpfile.texi: Likewise.
7099         * doc/posix-functions/truncate.texi: Likewise.
7100         * doc/posix-functions/tzname.texi: Likewise.
7101         * doc/posix-functions/wcsftime.texi: Likewise.
7102         * doc/windows-sockets.texi: Likewise.
7104 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
7106         getrandom-tests: do not assume GRND_RANDOM yields short read
7107         * tests/test-getrandom.c (main): Omit assertion that
7108         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
7109         when b’s size is 100000.  This assertion fails with Linux kernel
7110         5.6.13, as that kernel ignores the GRND_RANDOM flag.
7111         The separate blocking pool is going away in the Linux kernel, and
7112         they’ve added a flag GRND_INSECURE instead; see:
7113         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
7114         The assertion was iffy anyway; what’s to prevent a kernel from
7115         lazily filling a large buffer with random bytes?
7117         read-file-test: pacify --enable-gcc-warnings
7118         * tests/test-read-file.c (test_read_file): Now static.
7120         tempname: merge from glibc and coreutils
7121         Also, merge in Gnulib’s more-recent methods of making it easier
7122         to share between Gnulib and glibc, and fix a few randomness
7123         glitches.
7124         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
7125         (__set_errno): Remove; libc-config.h does that for us.
7126         Do not include <sys/time.h>.
7127         (__secure_getenv) [_LIBC]: New macro.
7128         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
7129         (RANDOM_BITS): Rewrite.
7130         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
7131         (random_value): New typedef.
7132         (try_file, try_dir, try_nocreate): Move up.
7133         (gen_tempname_len, try_tempname_len): New functions.
7134         (gen_tempname_len): Use a constant array rather than a switch.
7135         (try_tempname_len): Don’t assume string length fits in int.
7136         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
7137         has enough entropy (it’s a bit short).
7138         (__gen_tempname): Rewrite in terms of gen_tempname_len.
7139         (__try_tempname): Rewrite in terms of try_tempname_len.
7140         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
7141         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
7142         Add getentropy, libc-config.
7144 2020-05-31  Bruno Haible  <bruno@clisp.org>
7146         getrandom, getentropy: Mention the crypto/gc-random module.
7147         Suggested by Simon Josefsson in
7148         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
7149         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
7150         crypto/gc-random module.
7151         * doc/glibc-functions/getentropy.texi: Likewise.
7153 2020-05-31  Bruno Haible  <bruno@clisp.org>
7155         getentropy: Enhance tests.
7156         * tests/test-getentropy.c (main): Add one more test.
7157         * tests/test-unistd-c++.cc: Check the signature of getentropy.
7159 2020-05-31  Bruno Haible  <bruno@clisp.org>
7161         getentropy: Work around a macOS and Solaris problem.
7162         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
7163         'getentropy' module.
7164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7165         UNISTD_H_HAVE_SYS_RANDOM_H.
7166         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
7167         UNISTD_H_HAVE_SYS_RANDOM_H.
7168         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
7169         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
7170         problem. List more platforms.
7172 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
7174         fnmatch: merge from glibc
7175         Also, merge in Gnulib’s more-recent methods of making it easier
7176         to share between Gnulib and glibc.
7177         * lib/fnmatch.c: Reorder includes to match glibc better.
7178         Include libc-config.h instead of config.h.
7179         Include alloca.h only if _LIBC || HAVE_ALLOCA.
7180         Do not include "../locale/elem-hash.h" if _LIBC.
7181         Define macros for btowc, etc. if _LIBC.  All uses simplified.
7182         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
7183         Include intprops.h, since glibc has it now.
7184         (SIZE_MAX): Remove; use (size_t) -1 instead.
7185         Omit the "Comment out all this code" ifdef, since Gnulib
7186         has never really needed it.
7187         (STREQ): Remove; no longer used.
7188         (__libc_use_alloca, alloca, alloca_account): Define as
7189         needed if !_LIBC.
7190         (ISWCTYPE): Remove; all uses replaced by iswctype.
7191         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
7192         (internal_function): Remove.  All uses removed.
7193         (STRUCT): New macro.
7194         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
7195         (WMEMCMP): New macro.
7196         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
7197         and <locale/weightwc.h>.
7198         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
7199         __builtin_expect.  Check for integer overflow more
7200         systematically.  Account for alloca storage better when
7201         recursive.  Use strnlen instead of strlen for efficiency.
7202         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
7203         (struct STRUCT): New type.
7204         (FCT, EXT): New ENDS and ALLOCA_USED args.
7205         All callers changed.
7206         (FCT): Prefer __glibc_unlikely to __builtin_expect.
7207         Simplify by assuming WIDE_CHAR_SUPPORT.
7208         Copy _LIBC code from glibc without worrying Gnulib compatibility.
7209         Cast cold to UCHAR to avoid signedness warning.
7210         (END): Check for invalid pattern.
7211         (EXT): Improve alloca/malloc checking (taken from glibc),
7212         and improve it some more by using intprops.h and checking
7213         for integer overflow and using bool for booleans.
7214         * lib/libc-config.h (compat_symbol): New macro.
7215         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
7216         acceptable to non-GCC when a trailing semicolon is added.
7217         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
7218         libc-config, strnlen.  Remove alloca.
7220 2020-05-31  Bruno Haible  <bruno@clisp.org>
7222         getrandom: Doc and test tweaks.
7223         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
7224         it sets errno when failing.
7225         * tests/test-getrandom.c (main): Disable the high-quality check on those
7226         platforms on which it fails.
7227         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
7228         Cygwin to the list of platforms that don't have the function. Add a note
7229         about the quality of the result.
7230         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
7231         declaration; this is fixed by module 'getrandom'.
7233 2020-05-31  Bruno Haible  <bruno@clisp.org>
7235         getrandom: Add support for native Windows.
7236         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
7237         <wincrypt.h>.
7238         (CRYPT_VERIFY_CONTEXT): New macro.
7239         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
7240         'A'.
7241         (GetProcAddress): New macro.
7242         (BCryptGenRandomFuncType): New type.
7243         (BCryptGenRandomFunc, initialized): New variables.
7244         (initialize): New function.
7245         (getrandom): On native Windows, use <bcrypt.h> API when available, and
7246         <wincrypt.h> API as fallback.
7247         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
7248         * modules/getrandom (Link): New section.
7249         * modules/getentropy (Link): Likewise.
7250         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
7251         $(LIB_GETRANDOM).
7252         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
7253         $(LIB_GETRANDOM).
7254         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
7255         against $(LIB_GETRANDOM).
7256         * doc/glibc-functions/getrandom.texi: Mention the native Windows
7257         support.
7259 2020-05-31  Bruno Haible  <bruno@clisp.org>
7261         getrandom: Simplify the determination of the random number devices.
7262         Suggested by Paul Eggert in
7263         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
7264         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
7265         macros.
7266         * modules/getrandom (Depends-on): Remove crypto/gc-random.
7268 2020-05-31  Bruno Haible  <bruno@clisp.org>
7270         crypto/gc-random: Fix list of crypto devices for Solaris.
7271         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
7273 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
7275         list: fix GCC warnings
7276         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
7277         (gl_tree_next_node, gl_tree_node_nx_set_value)
7278         (gl_tree_previous_node, gl_tree_next_node):
7279         Mark unused arguments.
7280         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
7281         * lib/gl_anylinked_list2.h (gl_linked_node_value)
7282         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
7284         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
7285         the same variable name in nested scopes.
7287 2020-05-31  Bruno Haible  <bruno@clisp.org>
7289         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
7290         Reported by Akim Demaille in
7291         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
7292         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
7293         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
7294         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
7295         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
7296         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
7298 2020-05-30  Bruno Haible  <bruno@clisp.org>
7300         wmemchr: Relicense under LGPLv2+.
7301         * modules/wmemchr (License): Set to LGPLv2+.
7303 2020-05-30  Bruno Haible  <bruno@clisp.org>
7305         wmempcpy: New module.
7306         Reported by Paul Eggert in
7307         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
7308         * lib/wchar.in.h (wmempcpy): New declaration.
7309         * lib/wmempcpy.c: New file.
7310         * m4/wmempcpy.m4: New file.
7311         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
7312         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
7313         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
7314         HAVE_WMEMPCPY.
7315         * modules/wmempcpy: New file.
7316         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
7317         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
7318         * modules/mempcpy (Description): Fix typo.
7320 2020-05-30  Bruno Haible  <bruno@clisp.org>
7322         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
7323         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
7325 2020-05-30  Bruno Haible  <bruno@clisp.org>
7327         sys_random: Work around macOS bug.
7328         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
7329         <stdlib.h> before <sys/random.h>.
7330         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
7331         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
7332         first.
7333         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
7335 2020-05-30  Bruno Haible  <bruno@clisp.org>
7337         getrandom: Override incompatible system function on Solaris 11.
7338         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
7339         * lib/getrandom.c (getrandom): When the system has getrandom, just
7340         invoke it.
7341         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
7342         system's getrandom function's prototype is not the expected one.
7343         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
7344         REPLACE_GETRANDOM.
7345         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
7346         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
7347         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
7348         EAGAIN.
7349         * doc/glibc-functions/getrandom.texi: Mention the new module and the
7350         Solaris problem.
7352 2020-05-30  Bruno Haible  <bruno@clisp.org>
7354         sys_random: Add C++ tests.
7355         * tests/test-sys_random-c++.cc: New file.
7356         * modules/sys_random-c++-tests: New file.
7357         * modules/sys_random-tests (Depends-on): Depend on it.
7359         sys_random: Add tests.
7360         * tests/test-sys_random.c: New file.
7361         * modules/sys_random-tests: New file.
7363         sys_random: New module.
7364         * lib/sys_random.in.h: Use the common idioms for overridable header
7365         files.
7366         * m4/sys_random_h.m4: New file.
7367         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
7368         * modules/sys_random: New file.
7369         * modules/getrandom (Files): Remove lib/sys_random.in.h.
7370         (Depends-on): Add sys_random.
7371         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
7372         gl_UNISTD_MODULE_INDICATOR.
7373         (Makefile.am): Don't generate sys/random.h here.
7374         * doc/glibc-headers/sys_random.texi: New file.
7375         * doc/gnulib.texi: Include it.
7377 2020-05-30  Bruno Haible  <bruno@clisp.org>
7379         unistd: Remove conflicting declaration of getrandom().
7380         * lib/unistd.in.h (getrandom): Remove declaration.
7381         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
7382         declared.
7383         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
7384         HAVE_GETRANDOM.
7385         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
7386         HAVE_GETRANDOM.
7388 2020-05-30  Bruno Haible  <bruno@clisp.org>
7390         getrandom: Add tests.
7391         * tests/test-getrandom.c: New file.
7392         * modules/getrandom-tests: New file.
7394 2020-05-30  Bruno Haible  <bruno@clisp.org>
7396         crypto/gc-random: Fix link error on MSVC.
7397         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
7398         * modules/crypto/gc-random (Link): New section.
7399         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
7400         $(LIB_GC_RANDOM).
7402 2020-05-30  Bruno Haible  <bruno@clisp.org>
7404         Don't assume that UNICODE is not defined.
7405         Many Windows API functions are defined differently (redirecting to a
7406         function with suffix 'W') if the application defines the macro UNICODE
7407         than by default (redirecting to a function with suffix 'A').
7408         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
7409         variant with suffix 'A'.
7410         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
7411         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
7412         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
7413         * lib/getlogin.c (GetUserName): Likewise.
7414         * lib/getlogin_r.c (GetUserName): Likewise.
7415         * lib/gettimeofday.c (LoadLibrary): Likewise.
7416         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
7417         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
7418         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
7419         * lib/mountlist.c (GetDriveType): Likewise.
7420         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
7421         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
7422         Likewise.
7423         * lib/physmem.c (GetModuleHandle): Likewise.
7424         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7425         PeekMessage, DispatchMessage): Likewise.
7426         * lib/progreloc.c (GetModuleFileName): Likewise.
7427         * lib/putenv.c (SetEnvironmentVariable): Likewise.
7428         * lib/read.c (GetNamedPipeHandleState): Likewise.
7429         * lib/readdir.c (FindNextFile): Likewise.
7430         * lib/relocatable.c (GetModuleFileName): Likewise.
7431         * lib/rename.c (MoveFileEx): Likewise.
7432         * lib/rewinddir.c (FindFirstFile): Likewise.
7433         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7434         PeekMessage, DispatchMessage): Likewise.
7435         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
7436         * lib/socket.c (WSASocket): Likewise.
7437         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
7438         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
7439         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
7440         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
7441         * lib/tmpdir.c (GetTempPath): Likewise.
7442         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
7443         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
7444         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
7445         * lib/windows-cond.c (CreateEvent): Likewise.
7446         * lib/windows-rwlock.c (CreateEvent): Likewise.
7447         * lib/windows-timedmutex.c (CreateEvent): Likewise.
7448         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
7449         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
7450         * lib/write.c (GetNamedPipeHandleState): Likewise.
7452 2020-05-30  Bruno Haible  <bruno@clisp.org>
7454         physmem: Fix compilation errors on MSVC.
7455         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
7456         * modules/physmem (Depends-on): Add unistd.
7458 2020-05-29  Bruno Haible  <bruno@clisp.org>
7460         gnulib-tool: Fix link errors with a particular set of modules on mingw.
7461         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
7462         LDADD a second time, after the second occurrence of libtests.a.
7463         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
7465 2020-05-29  Bruno Haible  <bruno@clisp.org>
7467         fnmatch: Rely on more gnulib modules.
7468         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
7469         wmempcpy, mempcpy.
7470         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
7471         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
7472         HAVE_MEMPCPY are all 1.
7473         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
7474         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
7476 2020-05-29  Bruno Haible  <bruno@clisp.org>
7478         Avoid dynamic lookup of Windows API functions when possible.
7479         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
7480         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
7481         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
7482         (use_win32_p): Define differently.
7483         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
7484         CreateHardLinkFunc, initialized, initialize): Don't define in a build
7485         for Windows XP or higher.
7487 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7489         read-file: disable buffering if RF_SENSITIVE is set
7490         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
7491         Suggested by Glenn Strauss.
7492         (fread_file): Suggest calling setvbuf before calling this
7493         function.  Suggested by Bruno Haible.
7495 2020-05-29  Bruno Haible  <bruno@clisp.org>
7497         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
7498         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
7499         program.
7500         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
7501         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
7502         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
7503         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
7505 2020-05-29  Bruno Haible  <bruno@clisp.org>
7507         Fix compilation error on native Windows (regression from 2020-05-28).
7508         Reported by Daiki Ueno.
7509         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
7510         macro when not using dynamic loading.
7511         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
7512         QueryFullProcessImageNameFunc): Likewise.
7513         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
7514         GetFinalPathNameByHandleFunc): Likewise.
7516 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7518         fopen-gnu-tests: fix "\x" escape usage
7519         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
7521 2020-05-28  Bruno Haible  <bruno@clisp.org>
7523         Avoid dynamic loading of Windows API functions when possible.
7524         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7525         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
7526         * lib/gettimeofday.c (GetProcAddress,
7527         GetSystemTimePreciseAsFileTimeFuncType,
7528         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
7529         define in a build for Windows 8 or higher.
7530         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
7531         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
7532         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
7533         in a build for Windows Vista or higher.
7534         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
7535         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
7536         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
7538 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
7540         explicit_bzero-tests: improve -Wmissing-declarations pacification
7541         * tests/test-explicit_bzero.c: Now noinline.
7542         Suggested by Bruno Haible in:
7543         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
7545 2020-05-28  Bruno Haible  <bruno@clisp.org>
7547         Fix build errors due to read-file changes (regression from 2020-05-27).
7548         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
7549         invocation.
7550         * tests/test-sameacls.c (main): Likewise.
7551         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
7552         read_binary_file.
7553         * tests/test-pipe-filter-ii1.c (main): Likewise.
7555 2020-05-28  Bruno Haible  <bruno@clisp.org>
7557         fts: Make more robust in multithreaded applications.
7558         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
7559         * modules/fts (Depends-on): Add 'open'.
7561 2020-05-28  Bruno Haible  <bruno@clisp.org>
7563         relocatable-prog: Make more robust in multithreaded applications.
7564         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
7565         relocatable-prog-wrapper.
7566         (find_executable): Pass an O_CLOEXEC flag to open().
7567         * modules/relocatable-prog (Depends-on): Add 'open'.
7569 2020-05-28  Bruno Haible  <bruno@clisp.org>
7571         getloadavg: Make more robust in multithreaded applications.
7572         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
7573         Simplify use of O_CLOEXEC.
7574         * modules/getloadavg (Depends-on): Add 'open'.
7576 2020-05-28  Bruno Haible  <bruno@clisp.org>
7578         vma-iter: Make more robust in multithreaded applications.
7579         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
7580         open().
7581         * modules/vma-iter (Depends-on): Add 'open'.
7583 2020-05-28  Bruno Haible  <bruno@clisp.org>
7585         truncate: Make more robust in multithreaded applications.
7586         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
7588 2020-05-28  Bruno Haible  <bruno@clisp.org>
7590         pagealign_alloc: Make more robust in multithreaded applications.
7591         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
7592         open().
7593         * modules/pagealign_alloc (Depends-on): Add 'open'.
7595 2020-05-28  Bruno Haible  <bruno@clisp.org>
7597         openat: Make more robust in multithreaded applications.
7598         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
7600 2020-05-28  Bruno Haible  <bruno@clisp.org>
7602         at-internal: Make more robust in multithreaded applications.
7603         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
7604         open().
7606 2020-05-28  Bruno Haible  <bruno@clisp.org>
7608         mountlist: Make more robust in multithreaded applications.
7609         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
7610         open().
7611         * modules/mountlist (Depends-on): Add 'open'.
7613 2020-05-28  Bruno Haible  <bruno@clisp.org>
7615         login_tty: Make more robust in multithreaded applications.
7616         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
7617         * modules/login_tty (Depends-on): Add 'open'.
7619 2020-05-28  Bruno Haible  <bruno@clisp.org>
7621         javacomp: Make more robust in multithreaded applications.
7622         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
7623         open().
7624         * modules/javacomp (Depends-on): Add 'open'.
7626 2020-05-28  Bruno Haible  <bruno@clisp.org>
7628         getprogname: Make more robust in multithreaded applications.
7629         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
7630         * modules/getprogname (Depends-on): Add 'open'.
7632 2020-05-28  Bruno Haible  <bruno@clisp.org>
7634         get_progname_of: Make more robust in multithreaded applications.
7635         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
7636         open().
7637         * modules/get_progname_of (Depends-on): Add 'open'.
7639 2020-05-28  Bruno Haible  <bruno@clisp.org>
7641         get_ppid_of: Make more robust in multithreaded applications.
7642         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
7643         * modules/get_ppid_of (Depends-on): Add 'open'.
7645 2020-05-28  Bruno Haible  <bruno@clisp.org>
7647         get-rusage-as: Make more robust in multithreaded applications.
7648         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
7649         flag to open().
7650         * modules/get-rusage-as (Depends-on): Add 'open'.
7652 2020-05-28  Bruno Haible  <bruno@clisp.org>
7654         crypto/gc: Make more robust in multithreaded applications.
7655         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
7656         * modules/crypto/gc (Depends-on): Add 'open'.
7658 2020-05-28  Bruno Haible  <bruno@clisp.org>
7660         copy-file: Make more robust in multithreaded applications.
7661         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
7662         open().
7664 2020-05-28  Bruno Haible  <bruno@clisp.org>
7666         chown: Make more robust in multithreaded applications.
7667         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
7669 2020-05-28  Bruno Haible  <bruno@clisp.org>
7671         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
7672         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
7674 2020-05-28  Daiki Ueno  <ueno@gnu.org>
7676         fopen-gnu: make 'b' flag can be used with 'e' on Windows
7677         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
7678         specified on Windows.
7679         * tests/test-fopen-gnu.c (DATA): New define.
7680         (main): Add test for reading binary files with an 'e' flag.
7682 2020-05-27  Bruno Haible  <bruno@clisp.org>
7684         Don't assume that UNICODE is not defined.
7685         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
7686         differently if the application defines the macro UNICODE.
7687         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7688         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
7689         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
7690         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
7691         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
7693 2020-05-27  Bruno Haible  <bruno@clisp.org>
7695         Improve pattern for defining _WIN32_WINNT.
7696         Newer versions of the Windows API may not only add, but also remove API
7697         functions. Therefore, when the user is e.g. building for Windows 10, we
7698         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
7699         use of APIs that were present in Windows 8 but removed in Windows 10.
7700         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
7701         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
7702         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
7703         * lib/sethostname.c (_WIN32_WINNT): Likewise.
7704         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
7706 2020-05-27  Bruno Haible  <bruno@clisp.org>
7708         javacomp: Make more robust in multithreaded applications.
7709         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
7710         * modules/javacomp (Depends-on): Add fopen-gnu.
7712 2020-05-27  Bruno Haible  <bruno@clisp.org>
7714         mountlist: Make more robust in multithreaded applications.
7715         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
7716         to fopen.
7717         * modules/mountlist (Depends-on): Add fopen-gnu.
7719 2020-05-27  Bruno Haible  <bruno@clisp.org>
7721         sethostname: Make more robust in multithreaded applications.
7722         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
7723         * modules/sethostname (Depends-on): Add fopen-gnu.
7725 2020-05-27  Bruno Haible  <bruno@clisp.org>
7727         readutmp: Make more robust in multithreaded applications.
7728         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
7729         * modules/readutmp (Depends-on): Add fopen-gnu.
7731 2020-05-27  Bruno Haible  <bruno@clisp.org>
7733         getpass: Make more robust in multithreaded applications.
7734         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
7735         * modules/getpass (Depends-on): Add fopen-gnu.
7737 2020-05-27  Bruno Haible  <bruno@clisp.org>
7739         getloadavg: Make more robust in multithreaded applications.
7740         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
7741         * modules/getloadavg (Depends-on): Add fopen-gnu.
7743 2020-05-27  Bruno Haible  <bruno@clisp.org>
7745         exclude: Make more robust in multithreaded applications.
7746         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
7747         * modules/exclude (Depends-on): Add fopen-gnu.
7749 2020-05-27  Bruno Haible  <bruno@clisp.org>
7751         bitset: Make more robust in multithreaded applications.
7752         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
7753         'e' flag to fopen.
7754         * modules/bitset (Depends-on): Add fopen-gnu.
7756 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7758         read-file: add RF_SENSITIVE flag
7759         * lib/read-file.h (RF_SENSITIVE): New define.
7760         * lib/read-file.c (fread_file, read_file): Take into account of
7761         RF_SENSITIVE flag.
7762         * modules/read-file (Depends-on): Add explicit_bzero.
7763         This adds an alternative behavior of those functions to explicitly
7764         clear the internal memory block when it becomes unused.  This is
7765         useful for reading sensitive information from a file.
7767 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7769         read-file: add flags to modify reading behavior
7770         * lib/read-file.h (RF_BINARY): New define.
7771         (fread_file, read_file): Take FLAGS argument.
7772         (read_binary_file): Remove.
7773         * lib/read-file.c (internal_read_file): Merge into ...
7774         (read_file): ... here.
7775         * modules/read-file-tests (Files): Add "tests/macros.h".
7776         * tests/test-read-file.c (main): Refactor using ASSERT macro.
7777         * NEWS: Mention this change.
7779 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
7781         doc/gnulib-intro.texi: add missing "to" in sentence
7782         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
7783         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
7784         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
7786 2020-05-26  Bruno Haible  <bruno@clisp.org>
7788         count-one-bits: Fix MSVC specific code.
7789         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7790         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
7791         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
7792         using GCC.
7793         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
7794         (__popcnt64): In 32-bit mode, define as an inline function.
7795         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
7797 2020-05-26  Bruno Haible  <bruno@clisp.org>
7799         argz: Avoid name clashes through argz.h.
7800         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7801         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
7802         * lib/argz.h: Don't use __ prefixed identifiers.
7803         (const): Remove definition.
7804         (argz_next): Remove inline definitions.
7806 2020-05-26  Daiki Ueno  <ueno@gnu.org>
7808         read-file: make use of fopen-gnu
7809         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
7810         (read_binary_file): Likewise.
7811         * modules/read-file (Depends-on): Add fopen-gnu.
7813 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7815         getentropy, getrandom: new modules
7816         * MODULES.html.sh (func_all_modules):
7817         * lib/unistd.in.h (getentropy, getrandom):
7818         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
7819         * modules/unistd (unistd.h):
7820         Add support for getentropy, getrandom.
7821         * doc/glibc-functions/getentropy.texi (getentropy):
7822         * doc/glibc-functions/getrandom.texi (getrandom):
7823         These are now fixed on some platforms.
7824         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
7825         * m4/getentropy.m4, m4/getrandom.m4:
7826         * modules/getentropy, modules/getentropy-tests:
7827         * modules/getrandom, modules/getrandom-tests:
7828         * tests/test-getentropy.c, tests/test-getrandom.c:
7829         New files.
7831 2020-05-25  Bruno Haible  <bruno@clisp.org>
7833         Add missing C99 dependencies.
7834         Reported by Paul Smith <psmith@gnu.org> in
7835         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
7836         * modules/assert (Depends-on): Add c99.
7837         * modules/filenamecat-lgpl (Depends-on): Likewise.
7838         * modules/libc-config (Depends-on): Likewise.
7839         * modules/mktime (Depends-on): Likewise.
7840         * modules/random_r (Depends-on): Likewise.
7841         * modules/regex (Depends-on): Likewise.
7842         * modules/scratch_buffer (Depends-on): Likewise.
7843         * modules/timespec-add (Depends-on): Likewise.
7844         * modules/timespec-sub (Depends-on): Likewise.
7845         * modules/verify (Depends-on): Likewise.
7847 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7849         explicit_bzero-tests: pacify -Wmissing-declarations
7850         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
7851         Now static.
7853 2020-05-24  Bruno Haible  <bruno@clisp.org>
7855         fopen-gnu: Add tests.
7856         * tests/test-fopen-gnu.c: New file.
7857         * modules/fopen-gnu-tests: New file.
7859         fopen-gnu: New module.
7860         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
7861         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
7862         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
7863         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
7864         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
7865         * modules/fopen-gnu: New file.
7866         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
7868 2020-05-24  Bruno Haible  <bruno@clisp.org>
7870         open, openat: Really support O_CLOEXEC.
7871         * lib/open.c (open): When have_cloexec is still undecided, do pass a
7872         O_CLOEXEC flag to orig_open.
7873         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
7874         pass a O_CLOEXEC flag to orig_openat.
7875         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
7876         * modules/open-tests (Depends-on): Add fcntl.
7877         * modules/openat-tests (Depends-on): Likewise.
7878         * modules/fcntl-safer-tests (Depends-on): Likewise.
7880 2020-05-24  Bruno Haible  <bruno@clisp.org>
7882         fopen: Fix the trailing slash workaround.
7883         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
7884         write access. Pass the right flags to open().
7885         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
7887 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7889         assure: new macro ‘affirm’
7890         * lib/assure.h: Include verify.h.
7891         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
7892         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
7893         and commentary by Bruno Haible in:
7894         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
7895         * modules/assure (Depends-on:): Add verify.
7897 2020-05-23  Bruno Haible  <bruno@clisp.org>
7899         calloc-gnu: Make test work in non-flat address spaces.
7900         Uses code by Paul Eggert.
7901         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
7902         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
7904 2020-05-23  Bruno Haible  <bruno@clisp.org>
7906         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
7907         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
7908         AC_RUN_IFELSE invocations.
7910 2020-05-23  Bruno Haible  <bruno@clisp.org>
7912         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
7913         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
7914         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
7915         don't have it.
7916         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
7917         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
7918         don't have it.
7919         * lib/isnanf-nolibm.h (__has_builtin): New macro.
7920         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7921         it.
7922         * lib/isnanl-nolibm.h (__has_builtin): New macro.
7923         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7924         it.
7925         * lib/math.in.h (__has_builtin): New macro.
7926         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7927         it.
7928         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7929         it.
7930         (isnan): Don't use the builtins on clang versions that don't have
7931         __builtin_isnanf and __builtin_isnanl.
7933 2020-05-23  Bruno Haible  <bruno@clisp.org>
7935         calloc-gnu: Avoid wrong configure results with clang.
7936         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
7937         'volatile', to defeat compiler optimizations.
7939 2020-05-23  Bruno Haible  <bruno@clisp.org>
7941         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
7942         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
7943         'long double' values by reference, with values taken from a statically
7944         allocated array.
7946 2020-05-23  Bruno Haible  <bruno@clisp.org>
7948         findprog-in: Ignore directories.
7949         Reported by Frederick Eaton via Dmitry Goncharov in
7950         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7951         * lib/findprog-in.c (find_in_given_path): When the file found is a
7952         directory, set errno to EACCES and, during a PATH search, continue
7953         searching.
7954         * modules/findprog-in (Depends-on): Add sys_stat, stat.
7956 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7958         verify: document ‘assume’ better
7959         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
7961 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
7963         gendocs: Clarify licenses for templates.
7964         * doc/gendocs_template: Add a GNU All-Permissive license notice
7965         and bump Parent-Version.
7966         * doc/gendocs_template_min: Add a GNU All-Permissive license
7967         notice and copy the explanatory comment about the license notice
7968         at the bottom from gendocs_template.
7970 2020-05-21  Bruno Haible  <bruno@clisp.org>
7972         group-member: Relicense under LGPLv2+.
7973         Jim Meyering's approval is in
7974         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
7975         Paul Eggert's approval is in
7976         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
7977         Eric Blake's approval is in
7978         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
7979         * modules/group-member (License): Change to LGPLv2+.
7981 2020-05-21  Bruno Haible  <bruno@clisp.org>
7983         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
7984         Reported by Tim Rühsen in
7985         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7986         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
7988 2020-05-21  Bruno Haible  <bruno@clisp.org>
7990         regex: Avoid wrong configure results with "clang -fsanitize=leak".
7991         Reported by Tim Rühsen in
7992         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7993         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
7994         before returning with status 0.
7996 2020-05-21  Bruno Haible  <bruno@clisp.org>
7998         glob: Avoid wrong configure results with "clang -fsanitize=leak".
7999         Reported by Tim Rühsen in
8000         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
8001         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
8003 2020-05-21  Bruno Haible  <bruno@clisp.org>
8005         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
8006         Reported by Tim Rühsen in
8007         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
8008         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
8009         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
8010         respectively.
8012 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
8014         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
8015         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
8017 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8019         ftoastr: fix ifndef typo
8020         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
8022 2020-05-19  Bruno Haible  <bruno@clisp.org>
8024         havelib: Tweak documentation.
8025         * doc/havelib.texi (Searching for Libraries): Fix typo.
8027 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8029         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
8030         This was needed earlier because modules had to import the main script,
8031         but that is no longer true.  Rename the script so that it is
8032         consistent with all other scripts in gnulib and uses hyphens.
8033         * build-aux/vcs_to_changelog.py: Rename to...
8034         * build-aux/vcs-to-changelog.py: ... this.
8035         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
8036         * modules/vcs-to-changelog: Likewise.
8038 2020-05-17  Bruno Haible  <bruno@clisp.org>
8040         Clarify intended usage of the license file modules.
8041         Reported by Asher Gordon <AsDaGo@posteo.net> in
8042         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
8043         * doc/licenses-texi.texi (License Texinfo sources): Mention the
8044         GNU AGPL. Explain the intended usage of the modules.
8045         * modules/fdl (Notice): Discourage use as a module.
8046         * modules/fdl-1.3 (Notice): Likewise.
8048 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
8050         hash: add hash_xinsert
8051         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
8053 2020-05-16  Bruno Haible  <bruno@clisp.org>
8055         findprog-lgpl: Fix link error (existing since 2008-09-02).
8056         * modules/findprog-lgpl (Makefile.am): Arrange to compile
8057         findprog-lgpl.c, not findprog.c.
8058         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
8059         XNMALLOC.
8061 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
8063         c-stack: pacify -Wunused-result when DEBUG
8064         Problem reported by Marc Nieper-Wißkirchen in:
8065         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
8066         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
8067         Explicitly ignore write failures.
8069 2020-05-13  Jim Meyering  <meyering@fb.com>
8071         announce-gen: improve a comment
8072         * build-aux/announce-gen: Improve comment.
8074 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
8076         xalloc: pacify -Wanalyzer-possible-null-argument
8077         Problem reported for GCC 10.1.0 by Bruno Haible in:
8078         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
8079         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
8080         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
8081         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
8083 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
8085         careadlinkat: fix GCC 10 workaround
8086         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
8087         Massage the code so that it’s closer to what it was before
8088         the GCC 10.1.0 workaround was introduced.  This fixes
8089         a loop when !buffer and the bug workaround is in effect.
8090         Remove unnecessary casts.  Defend in a different way
8091         against (buffer && !buffer_size), by adding at least 1
8092         to buf_size each time through the loop.
8094 2020-05-10  Bruno Haible  <bruno@clisp.org>
8096         doc: Mark HP-UX as unsupported.
8097         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
8099 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
8101         careadlinkat: limit GCC workaround
8102         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
8103         10.1.0 and later, since the workaround is pretty bad and the GCC
8104         bug should get fixed.
8106 2020-05-10  Bruno Haible  <bruno@clisp.org>
8108         havelib: Enhance documentation.
8109         * doc/havelib.texi (Searching for Libraries): Mention the bad
8110         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
8112 2020-05-10  Bruno Haible  <bruno@clisp.org>
8114         attribute: Clarify list of attributes.
8115         * lib/attribute.h: Reorder the list of attributes, and group them by
8116         purpose.
8118 2020-05-10  Bruno Haible  <bruno@clisp.org>
8120         string: Fix compilation error in C++ mode.
8121         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
8122         _GL_WARN_ON_USE.
8123         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
8124         instead of _GL_WARN_ON_USE.
8126 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
8128         announce-gen: add support for dist-lzip
8129         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
8131 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8133         manywarnings: port to GCC 10.1
8134         * build-aux/gcc-warning.spec:
8135         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
8136         Add GCC 10.1.0 warnings.
8138         careadlinkat: pacify -Wreturn-local-addr
8139         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
8140         Pacify gcc 10’s -Wreturn-local-addr option.
8141         Simplify some of the later code.
8143 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8145         attribute: remove ATTRIBUTE_DEPRECATED
8146         * lib/attribute.h: Improve recently-added comments, mostly
8147         by shortening them (use active voice, etc.).
8148         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
8149         Problem reported by Bruno Haible in:
8150         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
8152 2020-05-09  Bruno Haible  <bruno@clisp.org>
8154         attribute: Add comments.
8155         * lib/attribute.h: Document each macro.
8157 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
8159         bitset: use the attribute module
8160         * modules/bitset: Depend on 'attribute'.
8161         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
8162         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
8163         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
8164         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
8166 2020-05-09  Bruno Haible  <bruno@clisp.org>
8168         c-stack: Fix warning when DEBUG is enabled.
8169         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8170         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
8171         * lib/c-stack.c: Include <stdio.h>.
8173 2020-05-09  Bruno Haible  <bruno@clisp.org>
8175         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
8176         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
8177         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8178         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8179         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8180         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8181         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8182         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8183         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8184         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
8185         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8186         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8187         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8189 2020-05-09  Bruno Haible  <bruno@clisp.org>
8191         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
8192         Reported by Akim Demaille in
8193         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
8194         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
8195         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
8196         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
8198 2020-05-09  Bruno Haible  <bruno@clisp.org>
8200         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
8201         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
8202         that usually comes from m4/gnulib-common.m4.
8203         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8205 2020-05-09  Bruno Haible  <bruno@clisp.org>
8207         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
8208         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
8209         that usually comes from m4/gnulib-common.m4.
8210         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8211         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8212         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8214 2020-05-09  Bruno Haible  <bruno@clisp.org>
8216         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
8217         * lib/uchar.in.h (char16_t): Define as macro if
8218         GNULIB_OVERRIDES_CHAR16_T.
8219         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
8220         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
8221         (gl_UCHAR_H): Invoke them.
8222         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
8223         GNULIB_OVERRIDES_CHAR32_T.
8224         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
8225         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
8226         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
8227         GNULIB_OVERRIDES_CHAR32_T.
8229 2020-05-09  Bruno Haible  <bruno@clisp.org>
8231         Macro tweaks.
8232         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
8233         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
8235 2020-05-08  Bruno Haible  <bruno@clisp.org>
8237         c32rtomb: Avoid compilation failure on Haiku.
8238         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
8239         inline definitions.
8240         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
8242 2020-05-08  Bruno Haible  <bruno@clisp.org>
8244         mbrtoc32: Avoid compilation failure on Haiku.
8245         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
8246         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
8247         AC_CHECK_FUNCS_ONCE.
8248         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
8250 2020-05-08  Bruno Haible  <bruno@clisp.org>
8252         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
8253         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
8255 2020-05-08  Bruno Haible  <bruno@clisp.org>
8257         list: Update documentation.
8258         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8259         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
8260         * doc/containers.texi (Container data types): Document the new list
8261         operations and their complexity.
8263 2020-05-08  Bruno Haible  <bruno@clisp.org>
8265         ignore-value tests: Use module 'attribute'.
8266         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
8267         * tests/test-ignore-value.c: Include attribute.h.
8268         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
8269         * modules/ignore-value-tests (Depends-on): Add attribute.
8271 2020-05-08  Bruno Haible  <bruno@clisp.org>
8273         uniname/uniname: Use module 'attribute'.
8274         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
8275         * lib/uniname/uninames.h: Regenerated.
8276         * lib/uniname/uniname.c: Include attribute.h.
8277         * modules/uniname/uniname (Depends-on): Add attribute.
8279 2020-05-08  Bruno Haible  <bruno@clisp.org>
8281         c32rtomb: Use module 'attribute'.
8282         * lib/c32rtomb.c: Include attribute.h.
8283         (FALLTHROUGH): Remove macro.
8284         * modules/c32rtomb (Depends-on): Add attribute.
8286 2020-05-08  Bruno Haible  <bruno@clisp.org>
8288         xsize: Use module 'attribute'.
8289         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
8290         * modules/xsize (Depends-on): Add attribute.
8292 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
8294         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
8296         * lib/attribute.h: Minor style fixes.
8298         Fix version-etc glitch on OpenIndiana
8299         Problem reported by Mats Erik Andersson in:
8300         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
8301         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
8302         that now clashes with gnulib-common.h.  All uses changed.
8304 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
8306         attribute: new module
8307         This simplifies use of GCC and C2X attributes like ‘deprecated’.
8308         * MODULES.html.sh: Add attribute.
8309         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
8310         * doc/gnulib.texi (Particular Modules): Add Attributes.
8311         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
8312         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
8313         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
8314         * lib/vasnprintf.c:
8315         Include attribute.h, and let it define FALLTHROUGH.
8316         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
8317         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
8318         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
8319         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
8320         This is a copy since Gawk doesn’t use Gnulib.
8321         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
8322         is incompatible with gl_COMMON_BODY’s.  All uses changed.
8323         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
8324         Keep the existing FALLTHROUGH definition since Glibc might use it,
8325         and it does no harm to Gnulib’s FALLTHROUGH.
8326         * lib/fts_.h, lib/inttostr.h:
8327         (__GNUC_PREREQ): Remove; no longer needed.
8328         (__attribute_warn_unused_result__): Remove.  All uses
8329         replaced by _GL_ATTRIBUTE_NODISCARD.
8330         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
8331         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
8332         __attribute__ ((__warn_unused_result__)), for forward
8333         compatibility to C2X.
8334         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
8335         _GL_ATTRIBUTE_NODISCARD.
8336         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
8337         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
8338         replaced by gl_COMMON_BODY’s implementation, which has a
8339         slightly different signature.
8340         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
8341         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
8342         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
8343         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
8344         No doubt all uses should be replaced, at some point.
8345         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
8346         (_Noreturn): Use it.
8347         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
8348         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
8349         (_GL_ATTRIBUTE_COLD)
8350         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
8351         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
8352         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
8353         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
8354         (_GL_ATTRIBUTE_MAYBE_UNUSED)
8355         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
8356         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
8357         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
8358         (_GL_ATTRIBUTE_RETURNS_NONNULL)
8359         (_GL_ATTRIBUTE_SENTINEL): New macros.
8360         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
8361         * modules/fnmatch, modules/freopen-safer, modules/fts:
8362         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
8363         * modules/quotearg, modules/savewd:
8364         * modules/unistdio/u16-u16-vasnprintf:
8365         * modules/unistdio/u16-vasnprintf:
8366         * modules/unistdio/u32-u32-vasnprintf:
8367         * modules/unistdio/u32-vasnprintf:
8368         * modules/unistdio/u8-u8-vasnprintf:
8369         * modules/unistdio/u8-vasnprintf:
8370         * modules/unistdio/ulc-vasnprintf:
8371         * modules/unistr/u8-uctomb, modules/vasnprintf:
8372         (Depends-on:): Add attribute module.
8374 2020-05-03  Bruno Haible  <bruno@clisp.org>
8376         bison: Fix today's commit.
8377         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
8379 2020-05-03  Bruno Haible  <bruno@clisp.org>
8381         list-c++: Add get_first, get_last, set_first, set_last operations.
8382         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
8383         set_first, set_last.
8384         * lib/gl_list.h: Tweak comments.
8386 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
8388         bison: rely on bison's %require to check a version requirement
8389         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
8390         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
8391         enough of not.
8392         So far it is the only know Yacc tool that supports '%require'.
8393         Other yaccs will actually even choke on seeing the -o option after the
8394         input file name.
8395         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
8397 2020-05-02  Bruno Haible  <bruno@clisp.org>
8399         list: Add get_first, get_last, set_first, set_last operations.
8400         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
8401         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
8402         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
8404 2020-05-02  Bruno Haible  <bruno@clisp.org>
8406         list: Remove redundant code for remove_first and remove_last operations.
8407         * lib/gl_list.h (struct gl_list_implementation): Remove fields
8408         remove_first, remove_last.
8409         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
8410         * lib/gl_array_list.c: Revert last change.
8411         * lib/gl_carray_list.c: Likewise.
8412         * lib/gl_anylinked_list2.h: Likewise.
8413         * lib/gl_linked_list.c: Likewise.
8414         * lib/gl_linkedhash_list.c: Likewise.
8415         * lib/gl_anytree_list2.h: Likewise.
8416         * lib/gl_avltree_list.c: Likewise.
8417         * lib/gl_avltreehash_list.c: Likewise.
8418         * lib/gl_rbtree_list.c: Likewise.
8419         * lib/gl_rbtreehash_list.c: Likewise.
8420         * lib/gl_sublist.c: Likewise.
8422 2020-05-02  Bruno Haible  <bruno@clisp.org>
8424         bison-i18n: Add support for cross-compilation.
8425         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
8426         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
8427         via Akim Demaille <akim@lrde.epita.fr>.
8428         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
8429         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
8430         Don't use bison's --print-localedir option when cross-compiling.
8431         Also, fix an error message and a comment.
8433 2020-05-01  Bruno Haible  <bruno@clisp.org>
8435         list: Add remove_first and remove_last operations.
8436         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8437         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
8438         * lib/gl_list.h (struct gl_list_implementation): Add fields
8439         remove_first, remove_last.
8440         (gl_list_remove_first, gl_list_remove_last): New functions.
8441         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
8442         functions, based on gl_array_remove_at.
8443         (gl_array_list_implementation): Implement the new operations.
8444         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
8445         New functions, based on gl_carray_remove_at.
8446         (gl_carray_list_implementation): Implement the new operations.
8447         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
8448         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
8449         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
8450         new operations.
8451         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
8452         Likewise.
8453         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
8454         New functions, based on gl_tree_remove_at.
8455         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
8456         new operations.
8457         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
8458         Likewise.
8459         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
8460         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
8461         Likewise.
8462         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
8463         New functions, based on gl_sublist_remove_at.
8464         (gl_sublist_list_implementation): Implement the new operations.
8465         * lib/gl_list.hh (class gl_List): Add methods remove_first,
8466         remove_last.
8467         * tests/test-array_list.c (main): Test also gl_list_remove_first and
8468         gl_list_remove_last.
8469         * tests/test-avltree_list.c (main): Likewise.
8470         * tests/test-avltreehash_list.c (main): Likewise.
8471         * tests/test-carray_list.c (main): Likewise.
8472         * tests/test-linked_list.c (main): Likewise.
8473         * tests/test-linkedhash_list.c (main): Likewise.
8474         * tests/test-rbtree_list.c (main): Likewise.
8475         * tests/test-rbtreehash_list.c (main): Likewise.
8477 2020-05-01  Bruno Haible  <bruno@clisp.org>
8479         parse-datetime: Fix a build failure with an older bison version.
8480         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
8481         parse-datetime.tab.c if a suitable version of bison was not found.
8483 2020-05-01  Bruno Haible  <bruno@clisp.org>
8485         bison: New module.
8486         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
8487         m4/parse-datetime.m4.
8488         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
8489         * modules/bison: New file.
8490         * modules/parse-datetime (Files): Remove m4/bison.m4.
8491         (Depends-on): Add bison.
8493 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
8495         Update users.txt.
8496         * users.txt: Add poke.
8498 2020-04-28  Bruno Haible  <bruno@clisp.org>
8500         posix_spawn_file_actions_addfchdir tests: Enhance test.
8501         * tests/test-posix_spawn5.c: Include findprog.h.
8502         (test): New function, extracted from main.
8503         (main): Invoke it. Also, invoke it with a program name such as
8504         "bin/pwd".
8505         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
8506         findprog.
8508 2020-04-28  Bruno Haible  <bruno@clisp.org>
8510         posix_spawn_file_actions_addchdir tests: Enhance test.
8511         * tests/test-posix_spawn4.c: Include findprog.h.
8512         (test): New function, extracted from main.
8513         (main): Invoke it. Also, invoke it with a program name such as
8514         "bin/pwd".
8515         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
8516         findprog.
8518 2020-04-28  Bruno Haible  <bruno@clisp.org>
8520         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
8521         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
8522         access elements of the wrong union member.
8524 2020-04-27  Bruno Haible  <bruno@clisp.org>
8526         getdate: Remove deprecated module.
8527         * modules/getdate: Remove file.
8528         * doc/getdate.texi: Remove file.
8529         * lib/getdate.h: Remove file.
8530         * NEWS: Mention the removal.
8532 2020-04-27  Bruno Haible  <bruno@clisp.org>
8534         realloc: Remove deprecated module.
8535         * modules/realloc: Remove file.
8536         * NEWS: Mention the removal.
8538 2020-04-27  Bruno Haible  <bruno@clisp.org>
8540         calloc: Remove deprecated module.
8541         * modules/calloc: Remove file.
8542         * NEWS: Mention the removal.
8544 2020-04-27  Bruno Haible  <bruno@clisp.org>
8546         malloc: Remove deprecated module.
8547         * modules/malloc: Remove file.
8548         * NEWS: Mention the removal.
8550 2020-04-27  Bruno Haible  <bruno@clisp.org>
8552         fnmatch-posix: Remove deprecated module.
8553         * modules/fnmatch-posix: Remove file.
8554         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
8555         * NEWS: Mention the removal.
8557 2020-04-27  Bruno Haible  <bruno@clisp.org>
8559         pipe: Remove deprecated module.
8560         * modules/pipe: Remove file.
8561         * lib/pipe.h: Remove file.
8562         * NEWS: Mention the removal.
8564 2020-04-27  Bruno Haible  <bruno@clisp.org>
8566         getopt: Remove deprecated module.
8567         * modules/getopt: Remove file.
8568         * NEWS: Mention the removal.
8570 2020-04-27  Bruno Haible  <bruno@clisp.org>
8572         remove-dest-slash: Remove deprecated module.
8573         * modules/rename-dest-slash: Remove file.
8574         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
8575         Update.
8576         * NEWS: Mention the removal.
8578 2020-04-27  Bruno Haible  <bruno@clisp.org>
8580         unictype/bidicategory-*: Remove deprecated modules.
8581         * modules/unictype/bidicategory-all: Remove file.
8582         * modules/unictype/bidicategory-byname: Remove file.
8583         * modules/unictype/bidicategory-name: Remove file.
8584         * modules/unictype/bidicategory-of: Remove file.
8585         * modules/unictype/bidicategory-test: Remove file.
8586         * MODULES.html.sh (Unicode string functions): Update.
8587         * NEWS: Mention the removals.
8589 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8591         Tune fts for FTS_LOGICAL+FTS_NOSTAT
8592         From a suggestion by Askar Safin in:
8593         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
8594         * lib/fts.c (fts_build): If file types are known, optimize
8595         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
8596         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
8597         non-directories.
8599 2020-04-19  Bruno Haible  <bruno@clisp.org>
8601         vasnprintf: Add support for printing wide characters using escapes.
8602         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
8603         (wctomb_fallback): New function.
8604         (local_wctomb): New function.
8605         (local_wcrtomb): New function or macro.
8606         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
8607         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
8608         %lc.
8610 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8612         fts: remove NOSTAT_LEAF_OPTIMIZATION
8613         It caused ‘find’ and ‘du’ to dump core, and it was useful
8614         only for obsolescent Linux filesystems anyway.  Problem reported in:
8615         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
8616         Quite possibly there is still a serious underlying fts bug with
8617         tight-loop-check and mutating file systems, but if so this patch
8618         should cause the bug to be triggered less often.
8619         * lib/fts.c (enum leaf_optimization): Remove
8620         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
8621         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
8622         (leaf_optimization): Remove special cases for ReiserFS and XFS.
8623         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
8624         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
8625         Remove.  All uses removed.
8627 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8629         explicit_bzero: Improve code style.
8630         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
8632 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8634         explicit_bzero: On native Windows, use SecureZeroMemory().
8635         * lib/explicit_bzero.c: Include <windows.h>.
8636         (explicit_bzero): On native Windows, use SecureZeroMemory.
8638 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8640         explicit_bzero: Use memset_s() when available.
8641         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
8642         (explicit_bzero): Use memset_s when available.
8643         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
8645 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8647         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
8648         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
8649         free() that overwrite the memory with canaries.
8651 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
8653         bootstrap: recommend git submodule update --init
8654         Reported by Bruno Haible.
8655         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
8656         * build-aux/bootstrap: recommand "git submodule update --init"
8657         rather than "git submodule init".
8659 2020-04-12  Bruno Haible  <bruno@clisp.org>
8661         explicit_bzero: Add tests.
8662         * tests/test-explicit_bzero.c: New file.
8663         * modules/explicit_bzero-tests: New file.
8665 2020-04-11  Bruno Haible  <bruno@clisp.org>
8667         explicit_bzero: Relicense under LGPLv2+.
8668         Approved by Paul Eggert.
8669         * modules/explicit_bzero (License): Change to LGPLv2+.
8671 2020-04-10  Bruno Haible  <bruno@clisp.org>
8673         findprog, relocatable-prog: Ignore directories during PATH search.
8674         Reported by Frederick Eaton via Dmitry Goncharov in
8675         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
8677         * lib/findprog.c (find_in_path): When the file found in a PATH element
8678         is a directory, continue searching.
8679         * modules/findprog (Depends-on): Add sys_stat, stat.
8680         * modules/findprog-lgpl (Depends-on): Likewise.
8682         * lib/progreloc.c (maybe_executable): When the file found in a PATH
8683         element is a directory, continue searching.
8684         * lib/relocwrapper.c: Update comments.
8685         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
8686         (configure.ac-early): New section.
8688 2020-04-10  Bruno Haible  <bruno@clisp.org>
8690         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
8691         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8692         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
8693         * MODULES.html.sh: In a git-less tarball, use the date of the first
8694         ChangeLog entry.
8696 2020-04-04  Bruno Haible  <bruno@clisp.org>
8698         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
8699         * m4/gettext.m4: Fix comments regarding the gettext library.
8700         * m4/intl-thread-locale.m4: Likewise.
8701         * m4/intlmacosx.m4: Likewise.
8702         * m4/lcmessage.m4: Likewise.
8703         * m4/nls.m4: Likewise.
8704         * m4/po.m4: Likewise.
8705         * m4/progtest.m4: Likewise.
8707 2020-04-04  Jim Meyering  <meyering@fb.com>
8709         maint: remove a stray inter-word space in a 6x-repeated comment
8710         Induce the changes by running this:
8711           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
8712         * build-aux/announce-gen: Change "by  perl" to "by perl".
8713         * build-aux/gitlog-to-changelog: Likewise.
8714         * build-aux/prefix-gnulib-mk: Likewise.
8715         * build-aux/update-copyright: Likewise.
8716         * build-aux/useless-if-before-free: Likewise.
8717         * tests/test-update-copyright.sh: Likewise.
8719 2020-03-28  Bruno Haible  <bruno@clisp.org>
8721         Use module 'filename' instead of module 'dosname'.
8723         * lib/at-func.c: Include filename.h instead of dosname.h.
8724         * lib/unlinkat.c: Likewise.
8725         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
8726         * modules/areadlinkat-with-size (Depends-on): Likewise.
8727         * modules/faccessat (Depends-on): Likewise.
8728         * modules/fchmodat (Depends-on): Likewise.
8729         * modules/fchownat (Depends-on): Likewise.
8730         * modules/fstatat (Depends-on): Likewise.
8731         * modules/mkdirat (Depends-on): Likewise.
8732         * modules/mkfifoat (Depends-on): Likewise.
8733         * modules/readlinkat (Depends-on): Likewise.
8734         * modules/selinux-at (Depends-on): Likewise.
8735         * modules/symlinkat (Depends-on): Likewise.
8736         * modules/unlinkat (Depends-on): Likewise.
8737         * modules/utimensat (Depends-on): Likewise.
8739         * lib/at-func2.c: Include filename.h instead of dosname.h.
8740         * modules/linkat (Depends-on): Add filename. Remove dosname.
8741         * modules/renameatu (Depends-on): Likewise.
8743         * lib/canonicalize.c: Include filename.h instead of dosname.h.
8744         * lib/canonicalize-lgpl.c: Likewise.
8745         * modules/canonicalize (Depends-on): Add filename.
8746         * modules/canonicalize-lgpl (Depends-on): Likewise.
8748         * lib/dirname.h: Include filename.h instead of dosname.h.
8749         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
8751         * lib/fchdir.c: Include filename.h instead of dosname.h.
8752         * modules/fchdir (Depends-on): Add filename. Remove dosname.
8754         * lib/openat.c: Include filename.h instead of dosname.h.
8755         * modules/openat (Depends-on): Add filename. Remove dosname.
8757         * lib/rmdir.c: Include filename.h instead of dosname.h.
8758         * modules/rmdir (Depends-on): Add filename. Remove dosname.
8760         * lib/savewd.c: Include filename.h instead of dosname.h.
8761         * modules/savewd (Depends-on): Add filename. Remove dosname.
8763         * lib/unlink.c: Include filename.h instead of dosname.h.
8764         * modules/unlink (Depends-on): Add filename. Remove dosname.
8766         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
8767         * lib/relocwrapper.c: Update comments.
8769         * modules/lstat (Depends-on): Remove dosname.
8771 2020-03-28  Bruno Haible  <bruno@clisp.org>
8773         dosname: Redirect to 'filename'.
8774         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8775         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
8776         * lib/dosname.h: Remove all definitions. Just include filename.h.
8777         * modules/dosname (Status, Notice): Mark as deprecated.
8778         (Depends-on): Add 'filename'.
8780 2020-03-28  Bruno Haible  <bruno@clisp.org>
8782         dosname: Change IS_RELATIVE_FILE_NAME.
8783         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
8784         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
8785         * NEWS: Mention the change.
8787 2020-03-28  Bruno Haible  <bruno@clisp.org>
8789         filename: Copy some definitions from module 'dosname'.
8790         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
8791         (HAS_DEVICE): Document macro.
8792         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
8793         (IS_ABSOLUTE_FILE_NAME): Consider
8794         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
8795         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
8796         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
8797         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
8798         IS_PATH_WITH_DIR.
8799         (DllMain): Update.
8800         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
8801         IS_PATH_WITH_DIR.
8802         (find_executable): Update.
8803         * NEWS: Document the deprecations.
8805 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8807         getopt-posix: port __GETOPT_PREFIX to macOS
8808         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
8809         Define to work around a problem with asm on macOS (Bug#40205).
8811 2020-03-22  Bruno Haible  <bruno@clisp.org>
8813         MODULES.html.sh: Add support for reproducible builds.
8814         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8815         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
8816         * MODULES.html.sh: Print the date of the last gnulib commit, not the
8817         current date.
8819 2020-03-22  Bruno Haible  <bruno@clisp.org>
8821         Several modules: Depend on stat.
8822         * modules/acl-permissions (Depends-on): Add stat.
8823         * modules/canonicalize (Depends-on): Likewise.
8824         * modules/file-has-acl (Depends-on): Likewise.
8825         * modules/fstat (Depends-on): Likewise.
8826         * modules/fstatat (Depends-on): Likewise.
8827         * modules/glob (Depends-on): Likewise.
8828         * modules/javacomp (Depends-on): Likewise.
8829         * modules/linkat (Depends-on): Likewise.
8830         * modules/mkdir (Depends-on): Likewise.
8831         * modules/pt_chown (Depends-on): Likewise.
8832         * modules/ptsname_r (Depends-on): Likewise.
8833         * modules/readlinkat (Depends-on): Likewise.
8834         * modules/rename (Depends-on): Likewise.
8835         * modules/renameatu (Depends-on): Likewise.
8836         * modules/tmpdir (Depends-on): Likewise.
8837         * modules/utimens (Depends-on): Likewise.
8838         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
8839         * modules/same (Depends-on): Remove stat.
8841 2020-03-22  Bruno Haible  <bruno@clisp.org>
8843         acl-permissions: Improve autoconf macro.
8844         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
8845         more reliably.
8847 2020-03-22  Bruno Haible  <bruno@clisp.org>
8849         file-has-acl: Fix module description.
8850         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
8851         (Depends-on): Depend on acl-permissions unconditionally.
8853 2020-03-21  Bruno Haible  <bruno@clisp.org>
8855         unlink: Ensure errno also on native Windows.
8856         * modules/unlink (Depends-on): Add malloc-posix.
8858 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8860         unlink: fix malloc errno typo
8861         Problem reported by Tim Rühsen in:
8862         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
8863         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
8865 2020-03-16  Bruno Haible  <bruno@clisp.org>
8867         *printf-posix: Fix m4 error (regression from 2020-03-08).
8868         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
8869         brackets in AC_COMPILE_IFELSE invocation.
8871 2020-03-08  Bruno Haible  <bruno@clisp.org>
8873         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
8874         * modules/crypto/af_alg (Depends-on): Add fstat.
8875         * modules/renameatu (Depends-on): Likewise.
8876         * modules/same (Depends-on): Likewise.
8877         * modules/term-style-control (Depends-on): Likewise.
8879 2020-03-08  Bruno Haible  <bruno@clisp.org>
8881         *printf-posix: Document why it's overridden on some glibc systems.
8882         Reported by Adrian Bunk <bunk@stusta.de> in
8883         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
8884         * doc/posix-functions/*printf.texi: Document the problem with the %n
8885         directive on some glibc systems.
8886         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
8887         the cross-compilation guesses accordingly.
8889 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8891         open, openat: port to (O_RDWR | O_RDONLY) != 0
8892         Potential portability problem reported by Dan Gohman in:
8893         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
8894         * lib/open.c (open):
8895         * lib/openat.c (rpl_openat):
8896         Don’t assume O_RDONLY is disjoint from O_RDWR.
8898 2020-03-07  Bruno Haible  <bruno@clisp.org>
8900         openat: Fix theoretically possible issue on GNU/Hurd.
8901         Reported by Dan Gohman <sunfish@mozilla.com> in
8902         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
8903         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
8904         ignore the bits that are also set in O_RDONLY.
8906 2020-02-24  Bruno Haible  <bruno@clisp.org>
8908         getloadavg: Don't use /usr/local when cross-compiling on AIX.
8909         Reported by Jens Rehsack <sno@netbsd.org> in
8910         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
8911         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
8912         cross-compiling.
8914 2020-02-24  Bruno Haible  <bruno@clisp.org>
8916         fcntl: Add witness of gnulib override.
8917         Reported by Jens Rehsack <sno@netbsd.org> in
8918         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
8919         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
8920         macros.
8922 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
8924         Update users.txt.
8925         * users.txt: Add datamash, time.
8927 2020-02-23  Bruno Haible  <bruno@clisp.org>
8929         uni*/base: Use 'restrict'.
8930         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
8931         from lib/regex.h.
8932         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
8933         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
8934         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
8935         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
8936         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
8937         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
8938         '_UC_RESTRICT'.
8939         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
8940         u32_conv_to_encoding): Use '_UC_RESTRICT'.
8941         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
8942         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
8943         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
8944         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
8945         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
8946         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
8947         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
8948         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
8949         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
8950         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
8951         '_UC_RESTRICT'.
8952         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
8953         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
8954         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
8955         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
8956         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
8957         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
8958         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
8959         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
8961 2020-02-23  Bruno Haible  <bruno@clisp.org>
8963         glob, spawn: Use improved '_Restrict_' definition.
8964         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
8965         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
8967 2020-02-23  Bruno Haible  <bruno@clisp.org>
8969         crypto/gc: Use 'restrict'.
8970         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
8971         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
8973         crypto/hmac-*: Use 'restrict'.
8974         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
8975         'restrict'.
8976         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
8977         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
8978         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
8979         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
8981         crypto/sm3: Use 'restrict'.
8982         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
8983         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
8985         crypto/*-buffer: Use 'restrict'.
8986         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
8987         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
8989         crypto/sha512-buffer: Use 'restrict'.
8990         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
8991         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
8992         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
8994         crypto/sha256-buffer: Use 'restrict'.
8995         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
8996         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
8997         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
8999         crypto/sha1-buffer: Use 'restrict'.
9000         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
9001         'restrict'.
9002         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
9004         crypto/md5-buffer: Use 'restrict'.
9005         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
9006         'restrict'.
9007         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
9009         crypto/md4: Use 'restrict'.
9010         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
9011         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
9013         crypto/md2: Use 'restrict'.
9014         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
9015         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
9017         crypto/rijndael: Use 'restrict'.
9018         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
9019         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
9020         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
9022         crypto/arctwo: Use 'restrict'.
9023         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
9024         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
9026         crypto/arcfour: Use 'restrict'.
9027         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
9028         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
9030         careadlinkat: Use 'restrict'.
9031         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
9032         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
9033         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
9035         regex-quote: Use 'restrict'.
9036         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
9037         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
9039         system-quote: Use 'restrict'.
9040         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
9041         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
9043         sh-quote: Use 'restrict'.
9044         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
9045         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
9047         quotearg: Use 'restrict'.
9048         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
9049         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
9051         parse-datetime: Use 'restrict'.
9052         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
9053         'restrict'.
9054         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
9056         nstrftime: Use 'restrict'.
9057         * lib/strftime.h (nstrftime): Use 'restrict'.
9058         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
9060         mbstok_r: Use 'restrict'.
9061         * lib/string.in.h (mbstok_r): Use 'restrict'.
9063         xmemcoll: Use 'restrict'.
9064         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
9065         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
9067         memcoll: Use 'restrict'.
9068         * lib/memcoll.h (memcoll): Use 'restrict'.
9069         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
9071         vasnprintf: Use 'restrict'.
9072         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
9073         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
9075         c-vasnprintf: Use 'restrict'.
9076         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
9077         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
9079         c-vsnprintf: Use 'restrict'.
9080         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
9081         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
9083         c-snprintf: Use 'restrict'.
9084         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
9085         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
9087         astrxfrm: Use 'restrict'.
9088         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
9089         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
9091         amemxfrm: Use 'restrict'.
9092         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
9093         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
9095 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
9097         fchmodat, lchmod: simplify
9098         It appears that we may have overengineered lchmod and fchmodat,
9099         in that the code was prepared for some hypothetical platforms but
9100         was so complicated that it was hard to understand.  I attempted to
9101         improve the situation by simplifying the code when this
9102         simplification should not hurt on real platforms; we can re-add
9103         complexity later to port to platforms I didn’t know about.
9104         * lib/fchmodat.c (fchmodat):
9105         * lib/lchmod.c (lchmod):
9106         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
9107         around the /proc code that needs it.
9108         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
9109         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
9110         Do not include <config.h> twice.
9111         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
9112         lchmod on any known hosts.
9113         (lchmod): Do not defer to fchmodat, so that the lchmod module
9114         need not depend on the fchmodat module (which is a circular
9115         dependency).  Do not use openat, since ‘open’ suffices.
9116         Coalesce calls to lchmod/chmod.
9117         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
9118         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
9119         * modules/lchmod (Depends-on, configure.ac):
9120         * modules/sys_stat (Depends-on):
9121         Do not worry about replacing lchmod, since that shouldn’t happen.
9122         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
9123         Do not worry about whether lchmod works on non-symlinks,
9124         since every known lchmod works on non-symlinks.
9125         * modules/lchmod (Depends-on):
9126         Remove circular dependency on fchmodat.
9128 2020-02-22  Bruno Haible  <bruno@clisp.org>
9130         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
9131         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
9132         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
9134 2020-02-22  Bruno Haible  <bruno@clisp.org>
9136         Use 'restrict' in all POSIX function declarations.
9137         * lib/iconv.in.h (iconv): Use 'restrict'.
9138         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
9139         * lib/monetary.in.h (strfmon_l): Likewise.
9140         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
9141         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
9142         pthread_mutex_timedlock, pthread_rwlock_init,
9143         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
9144         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
9145         * lib/search.in.h (tdelete): Likewise.
9146         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
9147         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
9148         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
9149         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
9150         Likewise.
9151         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
9152         strtoull): Likewise.
9153         * lib/string.in.h (strncat): Likewise.
9154         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
9155         recvfrom): Likewise.
9156         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
9157         * lib/time.in.h (strftime): Likewise.
9158         * lib/unistd.in.h (readlink, readlinkat): Likewise.
9159         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
9160         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
9161         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
9162         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
9163         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
9164         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
9165         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
9166         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
9167         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
9168         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
9169         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9170         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9171         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9172         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9173         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
9174         other *_h.m4 files.
9175         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
9177 2020-02-22  Bruno Haible  <bruno@clisp.org>
9179         Update NEWS.
9180         * NEWS: Mention the last change.
9182 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
9184         chmodat, chownat: new modules
9185         These are split from fchmodat, fchownat.  GNU Emacs needs the
9186         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
9187         lchmodat.  Split the latter two into a new module chmodat.
9188         Similarly for fchownat.  This the same basic idea for why statat
9189         was split from fstatat on 2013-01-23.
9190         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
9191         Rename from FCHMODAT_INLINE.  All uses changed.
9192         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
9193         Rename from FCHOWNAT_INLINE.  All uses changed.
9194         * lib/openat.h:
9195         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
9196         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
9197         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
9198         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
9199         (configure.ac): Remove fchmodat module indicator.
9200         (Makefile.am): Omit chmodat.c.
9201         (Maintainer): Add self.
9202         * modules/fchownat: Similarly, but for chown.
9203         * tests/test-fchownat.c (BASE): Don't define if already defined.
9204         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
9206 2020-02-22  Bruno Haible  <bruno@clisp.org>
9208         users.txt: Add groff.
9209         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
9210         * users.txt: Add groff.
9212 2020-02-22  Bruno Haible  <bruno@clisp.org>
9214         gnulib-tool: Ensure copied files are writable.
9215         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
9216         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
9217         * gnulib-tool (func_ensure_writable): New function.
9218         (func_ln_s, func_hardlink, func_lookup_file, func_import,
9219         func_create_testdir, copy-file): Invoke it after copying a file.
9221 2020-02-22  Bruno Haible  <bruno@clisp.org>
9223         users.txt: Update.
9224         * users.txt: Update URLs to projects that have moved or switched to git.
9225         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
9226         over the summary view. Add gawk.
9228 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
9230         largefile: remove _DARWIN_USE_64_BIT_INODE
9231         It’s not needed in currently-supported macOS versions, and was
9232         problematic anyway in MacOS X 10.5 which was the only version that
9233         could use it.  Problem reported by Peter Eisentraut in:
9234         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
9235         * m4/largefile.m4 (AC_SYS_LARGEFILE):
9236         Don’t define _DARWIN_USE_64_BIT_INODE.
9237         This syncs with Autoconf master.
9239         Add ‘extern "C"’ to count-one-bits.h etc.
9240         This ports these .h files to C++.
9241         Problem reported by Simon Marchi in:
9242         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
9243         * lib/count-leading-zeros.h, lib/count-one-bits.h:
9244         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
9246 2020-02-19  Bruno Haible  <bruno@clisp.org>
9248         uninorm/decompose-internal: Avoid "no previous prototype" warning.
9249         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9250         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
9251         * lib/array-mergesort.h: Accept an optional macro definition
9252         STATIC_FROMTO.
9253         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
9255 2020-02-16  Bruno Haible  <bruno@clisp.org>
9257         fchmodat: Make more future-proof.
9258         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
9259         NEED_FCHMODAT_NONSYMLINK_FIX.
9260         (gl_PREREQ_FCHMODAT): New macro.
9261         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
9262         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
9263         without lchmod function.
9264         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
9266 2020-02-16  Bruno Haible  <bruno@clisp.org>
9268         lchmod: Make more future-proof.
9269         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
9270         (gl_PREREQ_LCHMOD): New macro.
9271         * lib/lchmod.c (orig_lchmod): New function.
9272         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
9273         Return EOPNOTSUPP only on Linux and on platforms without lchmod
9274         function.
9275         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
9277         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
9278         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
9280 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9282         xnanosleep: prefer pause, and get remaining time
9283         Problem reported by Vladimir Panteleev in:
9284         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
9285         * lib/xnanosleep.c: Include intprops.h, unistd.h.
9286         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
9287         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
9288         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
9289         * modules/xnanosleep (Depends-on): Add intprops, unistd.
9291 2020-02-16  Bruno Haible  <bruno@clisp.org>
9293         lchmod: Improve cross-compilation guess.
9294         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
9295         cross-compiling, guess depending on the platform.
9297 2020-02-16  Bruno Haible  <bruno@clisp.org>
9299         fstrcmp: Add API to clean up resources.
9300         Reported by Akim Demaille <akim@lrde.epita.fr> in
9301         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
9302         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
9303         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
9305 2020-02-14  Bruno Haible  <bruno@clisp.org>
9307         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
9308         Reported by Christian Biesinger in
9309         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
9310         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
9311         corresponding module is not enabled.
9312         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
9313         prototype if the corresponding module is not enabled.
9315 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
9317         fchmodat, lchmod: port to buggy Linux filesystems
9318         Problem reported by Florian Weimer in:
9319         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
9320         * lib/fchmodat.c (fchmodat):
9321         * lib/lchmod.c (lchmod):
9322         Don’t assume that chmod on the O_PATH-opened fd will do
9323         the right thing on a symbolic link.
9324         * lib/fchmodat.c (fchmodat):
9325         Don’t attempt to special-case
9326         any flag value other than AT_SYMLINK_NOFOLLOW.
9328 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
9330         lchmod: pacify Coverity CID 1491216
9331         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
9332         not complain about unreachable code at the ‘struct stat st;’
9333         declaration.
9335 2020-02-10  Bruno Haible  <bruno@clisp.org>
9337         copysignf: Fix link error on HP-UX with cc.
9338         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
9339         HP-UX, set COPYSIGNF_LIBM to -lm.
9341 2020-02-10  Bruno Haible  <bruno@clisp.org>
9343         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
9344         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
9345         with $(LIB_SEMAPHORE).
9346         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
9347         with $(LIB_SEMAPHORE).
9349 2020-02-10  Bruno Haible  <bruno@clisp.org>
9351         ptsname_r-tests: Avoid unused function warning.
9352         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
9354 2020-02-08  Bruno Haible  <bruno@clisp.org>
9356         lchmod: Add tests.
9357         * tests/test-lchmod.c: New file.
9358         * modules/lchmod-tests: New file.
9360 2020-02-08  Bruno Haible  <bruno@clisp.org>
9362         lchmod: Ensure declaration on HP-UX.
9363         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
9364         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
9366 2020-02-08  Bruno Haible  <bruno@clisp.org>
9368         fchmodat: Strengthen tests.
9369         * tests/test-fchmodat.c (BASE): New macro.
9370         (main): Use it, to avoid conflicts with other unit tests. Verify that
9371         fchmodat changed the file permission bits.
9373 2020-02-08  Bruno Haible  <bruno@clisp.org>
9375         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
9376         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
9377         '#undef __need_system_sys_stat_h'.
9379 2020-02-08  Bruno Haible  <bruno@clisp.org>
9381         fchmodat: Improve cross-compilation guesses.
9382         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
9383         cross-compiling, guess depending on the platform.
9384         * doc/posix-functions/fchmodat.texi: Clarify.
9386 2020-02-08  Bruno Haible  <bruno@clisp.org>
9388         Fix compilation errors in a testdir created with --with-c++-tests.
9389         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
9390         since it does not work any more with g++ >= 4.4.
9392 2020-02-08  Bruno Haible  <bruno@clisp.org>
9394         doc: Update for glibc 2.31.
9395         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
9396         * doc/gnulib.texi: Include it.
9397         * doc/pastposix-functions/h_errno.texi: Update.
9398         * doc/posix-functions/*.texi: Likewise.
9400 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
9402         mountlist: consider smb3 file systems as remote
9403         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
9404         "smb3" as remote.
9406 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9408         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
9409         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
9410         they act like chmod on non-symlinks.
9411         * NEWS:
9412         * doc/glibc-functions/lchmod.texi (lchmod):
9413         * doc/posix-functions/fchmodat.texi (fchmodat):
9414         Mention this.
9415         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
9416         config.h, and undef it after including sys/stat.h the first time.
9417         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
9418         sys/stat.h a second time after defining orig_fchmodat.
9419         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
9420         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
9421         * lib/lchmod.c: New file.
9422         * lib/sys_stat.in.h (fchmodat, lchmod):
9423         Support replacing these functions.
9424         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
9425         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
9426         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
9427         Test that lchmod works on non-symlinks.
9428         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
9429         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
9430         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
9431         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
9432         * modules/lchmod (Files): Add lib/lchmod.c.
9433         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
9434         (configure.ac): Compile lchmod.c if needed.
9435         (lib_SOURCES): Add lchmod.c.
9436         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
9437         and REPLACE_LCHMOD.
9438         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
9439         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
9441 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
9443         mountlist: Consider AFS filesystems as remote
9444         df --local relies on the ME_REMOTE macro to determine if a given
9445         mount entry should be considered "local".  There is special logic
9446         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
9447         kernel's kafs module or AuriStorFS is treated as a local mount.
9448         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
9449         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
9451 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
9453         Port _Noreturn to older Clang
9454         Problem reported by Jeffery Walton in:
9455         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
9456         * lib/_Noreturn.h (_Noreturn):
9457         * m4/gnulib-common.m4 (gl_COMMON_BODY):
9458         Assume _Noreturn works in Clang 3.5 and later.
9459         It is documented to work in Clang 3.5:
9460         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
9461         and is not documented in Clang 3.4:
9462         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
9463         Apple sets __clang_version__ to a different value, so use
9464         __apple_build_version__ there.  See:
9465         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
9467 2020-02-04  Pádraig Brady  <P@draigBrady.com>
9469         test-canonicalize: avoid unused function warning
9470         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
9471         with the same guard as that used to protect usage of the null_ptr
9472         function, so that one doesn't get a -Wunused warning.
9473         * tests/test-canonicalize-lgpl.c: Likewise.
9475 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
9477         libc-config: port to Apple’s Clang variant
9478         * lib/libc-config.h (__glibc_clang_prereq):
9479         Port to Apple’s Clang variant, which uses a different
9480         numbering scheme for __clang_major__.
9482 2020-02-02  Bruno Haible  <bruno@clisp.org>
9484         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
9485         * doc/containers.texi: Document these new modules.
9487 2020-02-02  Bruno Haible  <bruno@clisp.org>
9489         omap-c++: Add tests.
9490         * tests/test-omap-c++.cc: New file.
9491         * modules/omap-c++-tests: New file.
9493         omap-c++: New module.
9494         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
9495         * modules/omap-c++: New file.
9497 2020-02-02  Bruno Haible  <bruno@clisp.org>
9499         map-c++: Add tests.
9500         * tests/test-map-c++.cc: New file.
9501         * modules/map-c++-tests: New file.
9503         map-c++: New module.
9504         * lib/gl_map.hh: New file, based on lib/gl_map.h.
9505         * modules/map-c++: New file.
9507 2020-02-02  Bruno Haible  <bruno@clisp.org>
9509         oset-c++: Add tests.
9510         * tests/test-oset-c++.cc: New file.
9511         * modules/oset-c++-tests: New file.
9513         oset-c++: New module.
9514         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
9515         * modules/oset-c++: New file.
9517 2020-02-02  Bruno Haible  <bruno@clisp.org>
9519         set-c++: Add tests.
9520         * tests/test-set-c++.cc: New file.
9521         * modules/set-c++-tests: New file.
9523         set-c++: New module.
9524         * lib/gl_set.hh: New file, based on lib/gl_set.h.
9525         * modules/set-c++: New file.
9527 2020-02-02  Bruno Haible  <bruno@clisp.org>
9529         list-c++: Add tests.
9530         * tests/test-list-c++.cc: New file.
9531         * modules/list-c++-tests: New file.
9533         list-c++: New module.
9534         * lib/gl_list.hh: New file, based on lib/gl_list.h.
9535         * modules/list-c++: New file.
9537 2020-02-02  Bruno Haible  <bruno@clisp.org>
9539         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
9540         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
9541         '_Noreturn'.
9542         * lib/sigpipe-die.h (sigpipe_die): Likewise.
9544 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9546         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
9547         On x86_64 with glibc-2.30, gcc 9.2 is giving:
9548           error: argument 2 value '18446744073709551615'
9549           exceeds maximum object size 9223372036854775807
9550           [-Werror=alloc-size-larger-than=]
9551         The details of this restriction are discussed at:
9552         https://stackoverflow.com/q/42574890/4421
9553         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
9555 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9557         sysctl.h: avoid including on glibc
9558         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
9559         * lib/physmem.c: Likewise.
9561 2020-02-02  Bruno Haible  <bruno@clisp.org>
9563         list, set, oset, map, omap: Avoid imperative voice in documentation.
9564         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
9565         in the specification of functions.
9566         * lib/gl_set.h: Likewise.
9567         * lib/gl_oset.h: Likewise.
9568         * lib/gl_map.h: Likewise.
9569         * lib/gl_omap.h: Likewise.
9570         * lib/gl_*.h: Likewise.
9572 2020-02-01  Bruno Haible  <bruno@clisp.org>
9574         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
9575         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
9576         does.
9578 2020-01-29  Bruno Haible  <bruno@clisp.org>
9580         array-map, hash-map, linkedhash-map: Fix module description.
9581         * modules/array-map (Description): Fix description.
9582         * modules/hash-map (Description): Likewise.
9583         * modules/linkedhash-map (Description): Likewise.
9585 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9587         dfa: do not depend on isblank
9588         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
9589         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
9590         * modules/dfa (Depends-on): Remove isblank.
9591         * modules/isblank: Add a module indicator, for lib/dfa.c.
9593         dfa: do not assume 64-bit int
9594         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
9595         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
9596         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
9597         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
9598         Fall back to 32-bit words.
9599         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
9600         of 4 64-bit args.  All uses changed.
9602 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9604         regex: remove limits-h dependency
9605         * modules/regex (Depends-on): Remove limits-h, since the
9606         code no longer depends on ULONG_WIDTH already being defined.
9608         regex: port to non-GCC pre-IEC-60559
9609         Problem reported by Arnold Robbins in:
9610         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
9611         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
9613 2020-01-25  Bruno Haible  <bruno@clisp.org>
9615         c32isxdigit: Add tests.
9616         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
9617         * tests/test-c32isxdigit.sh: New file.
9618         * modules/c32isxdigit-tests: New file.
9620         c32isxdigit: New module.
9621         * lib/c32isxdigit.c: New file.
9622         * modules/c32isxdigit: New file.
9623         * doc/posix-functions/iswxdigit.texi: Mention the new module.
9625 2020-01-25  Bruno Haible  <bruno@clisp.org>
9627         c32isupper: Add tests.
9628         * tests/test-c32isupper.c: New file.
9629         * tests/test-c32isupper.sh: New file.
9630         * modules/c32isupper-tests: New file.
9632         c32isupper: New module.
9633         * lib/c32isupper.c: New file.
9634         * modules/c32isupper: New file.
9635         * doc/posix-functions/iswupper.texi: Mention the new module.
9637 2020-01-25  Bruno Haible  <bruno@clisp.org>
9639         c32isspace: Add tests.
9640         * tests/test-c32isspace.c: New file.
9641         * tests/test-c32isspace.sh: New file.
9642         * modules/c32isspace-tests: New file.
9644         c32isspace: New module.
9645         * lib/c32isspace.c: New file.
9646         * modules/c32isspace: New file.
9647         * doc/posix-functions/iswspace.texi: Mention the new module.
9649 2020-01-25  Bruno Haible  <bruno@clisp.org>
9651         c32ispunct: Add tests.
9652         * tests/test-c32ispunct.c: New file.
9653         * tests/test-c32ispunct.sh: New file.
9654         * modules/c32ispunct-tests: New file.
9656         c32ispunct: New module.
9657         * lib/c32ispunct.c: New file.
9658         * modules/c32ispunct: New file.
9659         * doc/posix-functions/iswpunct.texi: Mention the new module.
9661 2020-01-25  Bruno Haible  <bruno@clisp.org>
9663         c32isprint: Add tests.
9664         * tests/test-c32isprint.c: New file.
9665         * tests/test-c32isprint.sh: New file.
9666         * modules/c32isprint-tests: New file.
9668         c32isprint: New module.
9669         * lib/c32isprint.c: New file.
9670         * modules/c32isprint: New file.
9671         * doc/posix-functions/iswprint.texi: Mention the new module.
9673 2020-01-25  Bruno Haible  <bruno@clisp.org>
9675         c32islower: Add tests.
9676         * tests/test-c32islower.c: New file.
9677         * tests/test-c32islower.sh: New file.
9678         * modules/c32islower-tests: New file.
9680         c32islower: New module.
9681         * lib/c32islower.c: New file.
9682         * modules/c32islower: New file.
9683         * doc/posix-functions/iswlower.texi: Mention the new module.
9685 2020-01-25  Bruno Haible  <bruno@clisp.org>
9687         c32isgraph: Add tests.
9688         * tests/test-c32isgraph.c: New file.
9689         * tests/test-c32isgraph.sh: New file.
9690         * modules/c32isgraph-tests: New file.
9692         c32isgraph: New module.
9693         * lib/c32isgraph.c: New file.
9694         * modules/c32isgraph: New file.
9695         * doc/posix-functions/iswgraph.texi: Mention the new module.
9697 2020-01-25  Bruno Haible  <bruno@clisp.org>
9699         c32isdigit: Add tests.
9700         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
9701         * tests/test-c32isdigit.sh: New file.
9702         * modules/c32isdigit-tests: New file.
9704         c32isdigit: New module.
9705         * lib/c32isdigit.c: New file.
9706         * modules/c32isdigit: New file.
9707         * doc/posix-functions/iswdigit.texi: Mention the new module.
9709 2020-01-25  Bruno Haible  <bruno@clisp.org>
9711         c32iscntrl: Add tests.
9712         * tests/test-c32iscntrl.c: New file.
9713         * tests/test-c32iscntrl.sh: New file.
9714         * modules/c32iscntrl-tests: New file.
9716         c32iscntrl: New module.
9717         * lib/c32iscntrl.c: New file.
9718         * modules/c32iscntrl: New file.
9719         * doc/posix-functions/iswcntrl.texi: Mention the new module.
9721 2020-01-25  Bruno Haible  <bruno@clisp.org>
9723         c32isblank: Add tests.
9724         * tests/test-c32isblank.c: New file.
9725         * tests/test-c32isblank.sh: New file.
9726         * modules/c32isblank-tests: New file.
9728         c32isblank: New module.
9729         * lib/c32isblank.c: New file.
9730         * modules/c32isblank: New file.
9731         * doc/posix-functions/iswblank.texi: Mention the new module.
9733 2020-01-25  Bruno Haible  <bruno@clisp.org>
9735         c32isalpha: Add tests.
9736         * tests/test-c32isalpha.c: New file.
9737         * tests/test-c32isalpha.sh: New file.
9738         * modules/c32isalpha-tests: New file.
9740         c32isalpha: New module.
9741         * lib/c32isalpha.c: New file.
9742         * modules/c32isalpha: New file.
9743         * doc/posix-functions/iswalpha.texi: Mention the new module.
9745 2020-01-25  Bruno Haible  <bruno@clisp.org>
9747         c32isalnum: Add tests.
9748         * tests/test-c32isalnum.c: New file.
9749         * tests/test-c32isalnum.sh: New file.
9750         * modules/c32isalnum-tests: New file.
9752         c32isalnum: New module.
9753         * lib/c32isalnum.c: New file.
9754         * lib/c32is-impl.h: New file.
9755         * modules/c32isalnum: New file.
9756         * doc/posix-functions/iswalnum.texi: Mention the new module.
9758 2020-01-25  Bruno Haible  <bruno@clisp.org>
9760         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
9761         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
9762         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
9763         c32isupper, c32isxdigit): New declarations.
9764         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
9765         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9766         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9767         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9768         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9769         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
9770         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9771         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9772         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9773         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9774         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
9775         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
9776         c32ispunct, c32isspace, c32isupper, c32isxdigit.
9778 2020-01-25  Bruno Haible  <bruno@clisp.org>
9780         mbchar, wctype: Use the corrected iswxdigit function.
9781         * modules/mbchar (Depends-on): Add iswxdigit.
9782         * modules/wctype (Depends-on): Likewise.
9784         iswxdigit: Add tests.
9785         * tests/test-iswxdigit.c: New file.
9786         * tests/test-iswxdigit.sh: New file.
9787         * modules/iswxdigit-tests: New file.
9789         iswxdigit: New module.
9790         * m4/iswxdigit.m4: New file.
9791         * lib/wctype.in.h (iswxdigit): Potentially override.
9792         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
9793         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
9794         * lib/iswxdigit.c: New file.
9795         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
9796         REPLACE_ISWXDIGIT.
9797         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
9798         REPLACE_ISWXDIGIT.
9799         * modules/iswxdigit: New file.
9800         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
9802 2020-01-25  Bruno Haible  <bruno@clisp.org>
9804         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
9805         Reported by John Donoghue <john.david.donoghue@gmail.com> in
9806         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
9807         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
9808         off_t on mingw, invoke _lseeki64 instead of lseek.
9810 2020-01-25  Bruno Haible  <bruno@clisp.org>
9812         iswdigit tests: Avoid test failure on Cygwin.
9813         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
9814         byte sequence, return 0.
9816         iswdigit: Fix test failure on native Windows.
9817         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
9819         mbchar, wctype: Use the corrected iswdigit function.
9820         * modules/mbchar (Depends-on): Add iswdigit.
9821         * modules/wctype (Depends-on): Likewise.
9823         iswdigit: Add tests.
9824         * tests/test-iswdigit.c: New file.
9825         * tests/test-iswdigit.sh: New file.
9826         * modules/iswdigit-tests: New file.
9828         iswdigit: New module.
9829         * m4/iswdigit.m4: New file.
9830         * lib/wctype.in.h (iswdigit): Potentially override.
9831         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
9832         * lib/iswdigit.c: New file.
9833         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
9834         REPLACE_ISWDIGIT.
9835         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
9836         REPLACE_ISWDIGIT.
9837         * modules/iswdigit: New file.
9838         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
9840 2020-01-25  Bruno Haible  <bruno@clisp.org>
9842         hard-locale tests: Make it easy to reuse the musl test.
9843         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
9844         * modules/hard-locale-tests (Files): Add it.
9845         (configure.ac): Invoke gl_MUSL_LIBC.
9847 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9849         regex: port to Gawk on nonstandard platforms
9850         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
9851         This is useful for Gawk, which does not use the Gnulib stdlib-h
9852         module.  Problem reported by Arnold Robbins in:
9853         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
9855 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
9857         regex: fix bug with >=16 subexpressions
9858         * lib/regex_internal.h (struct re_backref_cache_entry):
9859         Use bitset_word_t as the type of eps_reachable_subexps_map,
9860         instead of unsigned short int.  This fixes a bug I introduced
9861         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
9862         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
9863         Remove unused member 'unused'.
9865         regex: simplify definition of BITSET_WORD_BITS
9866         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
9867         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
9868         * lib/regex_internal.h (BITSET_WORD_BITS):
9869         * modules/regex (Depends-on): Add limits-h.
9870         Simplify now that we can use ULONG_WIDTH.
9872 2020-01-20  Bruno Haible  <bruno@clisp.org>
9874         mbrtoc32: Add note about FreeBSD 12.
9875         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
9876         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
9877         affected.
9879 2020-01-20  Bruno Haible  <bruno@clisp.org>
9881         unistr/u8-uctomb: Fix warning.
9882         Reported by Andreas Schwab <schwab@suse.de> in
9883         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
9884         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
9885         (u8_uctomb): Add FALLTHROUGH markers.
9887 2020-01-20  Bruno Haible  <bruno@clisp.org>
9889         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
9890         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
9891         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
9892         (glthread_once): Use it.
9894 2020-01-19  Bruno Haible  <bruno@clisp.org>
9896         threadlib: Disable use of weak symbols on FreeBSD 11.
9897         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9898         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
9899         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
9900         against a bug in FreeBSD 11.
9902 2020-01-19  Bruno Haible  <bruno@clisp.org>
9904         iconv_open: Improve z/OS support.
9905         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
9906         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
9907         Remove mapping for EUC-TW.
9909 2020-01-18  Bruno Haible  <bruno@clisp.org>
9911         Rename ~~gnulib.m4 to zzgnulib.m4.
9912         Suggested by Paul Eggert.
9913         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
9914         * gnulib-tool (func_get_filelist): Update.
9915         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9917 2020-01-18  Bruno Haible  <bruno@clisp.org>
9919         doc: Update license notices.
9920         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
9921         reference to a section or to a "file as part of this distribution".
9923 2020-01-18  Bruno Haible  <bruno@clisp.org>
9925         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
9926         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9927         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
9928         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
9929         AC_EGREP_CPP.
9931 2020-01-18  Bruno Haible  <bruno@clisp.org>
9933         Ensure Automake does not drop ~~gnulib.m4.
9934         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
9935         * m4/gnulib-common.m4 (gl_COMMON): Require it.
9937 2020-01-18  Bruno Haible  <bruno@clisp.org>
9939         Fix major regression from 2020-01-10.
9940         Reported by Paul Eggert in
9941         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
9942         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9943         Don't AC_REQUIRE anything.
9944         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
9945         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
9946         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
9947         use ac_compile instead.
9948         (AC_CHECK_DECL): Remove override.
9949         * m4/~~gnulib.m4: New file.
9950         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
9951         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9953 2020-01-17  Bruno Haible  <bruno@clisp.org>
9954             Paul Eggert  <eggert@cs.ucla.edu>
9956         glob: Fix use-after-free bug.
9957         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9958         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
9959         * lib/glob.c (__glob): Delay freeing dirname until after the use of
9960         end_name.
9962 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9964         vcs-to-changelog: Fix parsing of fndecl without args.
9965         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
9966         for empty arguments.
9968 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9970         vcs-to-changelog: Add documentation.
9971         * doc/vcs-to-changelog.texi: New file.
9972         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
9973         section.
9975 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9977         vcs-to-changelog: Allow loading of custom quirks file.
9978         * build-aux/vcs_to_changelog.py: New commandline option -q.
9980 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9982         vcs-to-changelog: Fix formatting of ChangeLog output.
9983         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
9984         output.
9986 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9988         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
9989         Reported in
9990         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
9991         * build-aux/vcstocl/frontend_c.py: Remove shebang.
9993 2020-01-15  Simon Josefsson  <simon@josefsson.org>
9995         crypto/gc-pbkdf2: New module.
9996         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
9997         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
9998         * lib/gc-pbkdf2.c: New file.
9999         * lib/gc-pbkdf2-sha1.c: Use new interface.
10000         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
10001         * modules/crypto/gc-pbkdf2: New file.
10002         * modules/crypto/gc-pbkdf2-tests: New file.
10003         * tests/test-gc-pbkdf2.c: New file.
10005 2020-01-12  Bruno Haible  <bruno@clisp.org>
10007         c32stombs: Add tests.
10008         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
10009         * tests/test-c32stombs-1.sh: New file, based on
10010         tests/test-c32srtombs-1.sh.
10011         * tests/test-c32stombs-2.sh: New file, based on
10012         tests/test-c32srtombs-2.sh.
10013         * tests/test-c32stombs-3.sh: New file, based on
10014         tests/test-c32srtombs-3.sh.
10015         * tests/test-c32stombs-4.sh: New file, based on
10016         tests/test-c32srtombs-4.sh.
10017         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
10019         c32stombs: New module.
10020         * lib/uchar.in.h (c32stombs): New declaration.
10021         * lib/c32stombs.c: New file.
10022         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
10023         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
10024         * modules/c32stombs: New file.
10025         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
10026         * doc/posix-functions/wcstombs.texi: Mention the new module.
10028 2020-01-11  Jim Meyering  <meyering@fb.com>
10030         perl: require the "warnings" module
10031         * m4/perl.m4: Also "use warnings", so we reject the perl found
10032         on at least one IRIX 6.5 system. Reported by Bruno Haible in
10033         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
10035 2020-01-10  Bruno Haible  <bruno@clisp.org>
10037         Fix major regression from 2020-01-04.
10038         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
10039         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
10040         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
10041         AC_DEFUN_ONCE.
10042         (AC_CHECK_DECL): Invoke, not require, it.
10044 2020-01-10  Bruno Haible  <bruno@clisp.org>
10046         c32snrtombs: Add tests.
10047         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
10048         * tests/test-c32snrtombs-1.sh: New file, based on
10049         tests/test-wcsnrtombs1.sh.
10050         * tests/test-c32snrtombs-2.sh: New file, based on
10051         tests/test-wcsnrtombs2.sh.
10052         * tests/test-c32snrtombs-3.sh: New file, based on
10053         tests/test-wcsnrtombs3.sh.
10054         * tests/test-c32snrtombs-4.sh: New file, based on
10055         tests/test-wcsnrtombs4.sh.
10056         * modules/c32snrtombs-tests: New file, based on
10057         modules/wcsnrtombs-tests.
10059         c32snrtombs: New module.
10060         * lib/uchar.in.h (c32snrtombs): New declaration.
10061         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
10062         INTERNAL_STATE, WCRTOMB.
10063         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
10064         * lib/c32snrtombs.c: New file.
10065         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
10066         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
10067         * modules/c32snrtombs: New file.
10068         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
10069         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
10071 2020-01-09  Bruno Haible  <bruno@clisp.org>
10073         c32srtombs: Add tests.
10074         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
10075         * tests/test-c32srtombs-1.sh: New file, based on
10076         tests/test-wcsrtombs1.sh.
10077         * tests/test-c32srtombs-2.sh: New file, based on
10078         tests/test-wcsrtombs2.sh.
10079         * tests/test-c32srtombs-3.sh: New file, based on
10080         tests/test-wcsrtombs3.sh.
10081         * tests/test-c32srtombs-4.sh: New file, based on
10082         tests/test-wcsrtombs4.sh.
10083         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
10085         c32srtombs: New module.
10086         * lib/uchar.in.h (c32srtombs): New declaration.
10087         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
10088         INTERNAL_STATE, WCRTOMB.
10089         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
10090         * lib/c32srtombs.c: New file.
10091         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
10092         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
10093         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
10094         * modules/c32srtombs: New file.
10095         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
10096         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
10098 2020-01-08  Bruno Haible  <bruno@clisp.org>
10100         c32tob: Make consistent with mbrtoc32.
10101         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
10102         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
10103         use c32rtomb, not wctob.
10104         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
10105         (Depends-on): Add c32rtomb.
10106         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
10108 2020-01-08  Bruno Haible  <bruno@clisp.org>
10110         c32rtomb: Add tests.
10111         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
10112         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
10113         * tests/test-c32rtomb-w32.c: New file, based on
10114         tests/test-wcrtomb-w32.c.
10115         * tests/test-c32rtomb-w32-1.sh: New file, based on
10116         tests/test-wcrtomb-w32-1.sh.
10117         * tests/test-c32rtomb-w32-2.sh: New file, based on
10118         tests/test-wcrtomb-w32-2.sh.
10119         * tests/test-c32rtomb-w32-3.sh: New file, based on
10120         tests/test-wcrtomb-w32-3.sh.
10121         * tests/test-c32rtomb-w32-4.sh: New file, based on
10122         tests/test-wcrtomb-w32-4.sh.
10123         * tests/test-c32rtomb-w32-5.sh: New file, based on
10124         tests/test-wcrtomb-w32-5.sh.
10125         * tests/test-c32rtomb-w32-6.sh: New file, based on
10126         tests/test-wcrtomb-w32-6.sh.
10127         * tests/test-c32rtomb-w32-7.sh: New file, based on
10128         tests/test-wcrtomb-w32-7.sh.
10129         * modules/c32rtomb-tests: New file.
10131         c32rtomb: New module.
10132         * lib/uchar.in.h (c32rtomb): New declaration.
10133         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
10134         * m4/c32rtomb.m4: New file.
10135         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
10136         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
10137         REPLACE_C32RTOMB.
10138         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
10139         HAVE_C32RTOMB, REPLACE_C32RTOMB.
10140         * modules/c32rtomb: New file.
10141         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
10142         * doc/posix-functions/c32rtomb.texi: Document the new module.
10143         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10145 2020-01-08  Bruno Haible  <bruno@clisp.org>
10147         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
10148         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
10149         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
10150         but is not working.
10151         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
10152         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
10153         differ, use the system's mbrtoc32, adding workarounds.
10154         * modules/mbrtoc32 (Depends-on): Add hard-locale.
10155         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
10156         Windows problem.
10157         * lib/btoc32.c: Include <stdio.h>, <string.h>.
10158         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
10159         use mbrtoc32, not btowc.
10160         * modules/btoc32 (Depends-on): Add mbrtoc32.
10161         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
10162         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
10163         * modules/mbsrtoc32s (Depends-on): Update conditions.
10164         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
10165         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
10166         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
10167         * modules/mbsnrtoc32s (Depends-on): Update conditions.
10168         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
10170 2020-01-07  Bruno Haible  <bruno@clisp.org>
10172         wcrtomb: Make multithread-safe, except possibly on IRIX.
10173         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
10174         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
10175         WCRTOMB_RETVAL_BUG.
10176         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
10177         wctomb only on IRIX.
10179 2020-01-05  Jim Meyering  <meyering@fb.com>
10181         tests: skip thread-using tests when threading is disabled
10182         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
10183         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
10184         of those, so they are skipped in this case.
10185         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
10186         * tests/test-setlocale_null-mt-all.c (main): Likewise.
10187         * tests/test-setlocale_null-mt-one.c (main): Likewise.
10189 2020-01-05  Bruno Haible  <bruno@clisp.org>
10191         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
10192         Reported by Jim Meyering in
10193         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
10194         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
10195         (GNULIB_defined_ptsname_r): New macro.
10196         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
10197         (main): Disable the NULL argument test if canonicalize_file_name does
10198         not come from gnulib.
10199         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
10200         (main): Disable the NULL argument test if canonicalize_file_name does
10201         not come from gnulib.
10202         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
10203         (test_errors): Disable the NULL argument test if ptsname_r does not come
10204         from gnulib.
10206 2020-01-04  Jim Meyering  <meyering@fb.com>
10208         update-copyright: reenable its always-skipped test
10209         * tests/test-update-copyright.sh: Restore the "-pi" options removed
10210         on 2019-06-15. Without those, an internal preliminary test would
10211         fail, causing this test always to be skipped.
10212         Verify that the test is now run and passes via this:
10213           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
10215 2020-01-05  Bruno Haible  <bruno@clisp.org>
10217         mbstoc32s: Add tests.
10218         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
10219         * tests/test-mbstoc32s-1.sh: New file, based on
10220         tests/test-mbsrtoc32s-1.sh.
10221         * tests/test-mbstoc32s-2.sh: New file, based on
10222         tests/test-mbsrtoc32s-2.sh.
10223         * tests/test-mbstoc32s-3.sh: New file, based on
10224         tests/test-mbsrtoc32s-3.sh.
10225         * tests/test-mbstoc32s-4.sh: New file, based on
10226         tests/test-mbsrtoc32s-4.sh.
10227         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
10229         mbstoc32s: New module.
10230         * lib/uchar.in.h (mbstoc32s): New declaration.
10231         * lib/mbstoc32s.c: New file.
10232         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
10233         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
10234         * modules/mbstoc32s: New file.
10235         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
10236         * doc/posix-functions/mbstowcs.texi: Mention the new module.
10238 2020-01-05  Bruno Haible  <bruno@clisp.org>
10240         Tweak recently added tests.
10241         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
10242         * tests/test-mbsrtoc32s.c: Likewise.
10243         * tests/test-mbsnrtoc32s.c: Likewise.
10245 2020-01-04  Bruno Haible  <bruno@clisp.org>
10247         mbsnrtoc32s: Add tests.
10248         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
10249         * tests/test-mbsnrtoc32s-1.sh: New file, based on
10250         tests/test-mbsnrtowcs1.sh.
10251         * tests/test-mbsnrtoc32s-2.sh: New file, based on
10252         tests/test-mbsnrtowcs2.sh.
10253         * tests/test-mbsnrtoc32s-3.sh: New file, based on
10254         tests/test-mbsnrtowcs3.sh.
10255         * tests/test-mbsnrtoc32s-4.sh: New file, based on
10256         tests/test-mbsnrtowcs4.sh.
10257         * modules/mbsnrtoc32s-tests: New file, based on
10258         modules/mbsnrtowcs-tests.
10260         mbsnrtoc32s: New module.
10261         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
10262         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
10263         INTERNAL_STATE, MBRTOWC.
10264         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
10265         * lib/mbsnrtoc32s.c: New file.
10266         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
10267         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
10268         * modules/mbsnrtoc32s: New file.
10269         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
10270         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
10272 2020-01-04  Bruno Haible  <bruno@clisp.org>
10274         mbsrtoc32s tests: Enhance test.
10275         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
10276         test strings for UTF-8 and GB18030.
10278 2020-01-04  Bruno Haible  <bruno@clisp.org>
10280         mbsrtoc32s: Fix bug.
10281         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
10282         that SMALL_WCHAR_T is defined.
10284 2020-01-04  Bruno Haible  <bruno@clisp.org>
10286         mbsrtoc32s: Add tests.
10287         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
10288         * tests/test-mbsrtoc32s-1.sh: New file, based on
10289         tests/test-mbsrtowcs1.sh.
10290         * tests/test-mbsrtoc32s-2.sh: New file, based on
10291         tests/test-mbsrtowcs2.sh.
10292         * tests/test-mbsrtoc32s-3.sh: New file, based on
10293         tests/test-mbsrtowcs3.sh.
10294         * tests/test-mbsrtoc32s-4.sh: New file, based on
10295         tests/test-mbsrtowcs4.sh.
10296         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
10298         mbsrtoc32s: New module.
10299         * lib/uchar.in.h (mbsrtoc32s): New declaration.
10300         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
10301         INTERNAL_STATE, MBRTOWC.
10302         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
10303         * lib/mbsrtoc32s.c: New file.
10304         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
10305         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
10306         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
10307         * modules/mbsrtoc32s: New file.
10308         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
10309         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
10311 2020-01-04  Bruno Haible  <bruno@clisp.org>
10313         mbrtowc, mbrtoc32: Tighten dependendies.
10314         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
10315         REPLACE_MBSTATE_T is 1.
10316         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
10317         REPLACE_MBSTATE_T is 0.
10318         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
10319         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
10320         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
10321         REPLACE_MBSTATE_T is 0.
10323 2020-01-04  Bruno Haible  <bruno@clisp.org>
10325         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
10326         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
10327         * modules/uchar (Files): Add stdint.m4.
10328         (Makefile.am): Substitute SMALL_WCHAR_T.
10329         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
10331 2020-01-04  Bruno Haible  <bruno@clisp.org>
10333         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
10334         Reported by Martin Storsjö <martin@martin.st> in
10335         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
10336         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
10337         New macros.
10338         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
10340 2020-01-04  Bruno Haible  <bruno@clisp.org>
10342         btoc32: Add tests.
10343         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
10344         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
10345         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
10346         * modules/btoc32-tests: New file, based on modules/btowc-tests.
10348         btoc32: New module.
10349         * lib/uchar.in.h (btoc32): New declaration.
10350         * lib/btoc32.c: New file.
10351         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
10352         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
10353         * modules/btoc32: New file.
10354         * tests/test-uchar-c++.cc: Test the signature of btoc32.
10355         * doc/posix-functions/btowc.texi: Mention the new module.
10357 2020-01-03  Bruno Haible  <bruno@clisp.org>
10359         uchar tests: Avoid compilation error with HP cc.
10360         * tests/test-uchar.c: Disable a test when HP cc is in use.
10362 2020-01-03  Bruno Haible  <bruno@clisp.org>
10364         mbrtoc32: Add tests.
10365         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
10366         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
10367         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
10368         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
10369         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
10370         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
10371         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
10372         * tests/test-mbrtoc32-w32-1.sh: New file, based on
10373         tests/test-mbrtowc-w32-1.sh.
10374         * tests/test-mbrtoc32-w32-2.sh: New file, based on
10375         tests/test-mbrtowc-w32-2.sh.
10376         * tests/test-mbrtoc32-w32-3.sh: New file, based on
10377         tests/test-mbrtowc-w32-3.sh.
10378         * tests/test-mbrtoc32-w32-4.sh: New file, based on
10379         tests/test-mbrtowc-w32-4.sh.
10380         * tests/test-mbrtoc32-w32-5.sh: New file, based on
10381         tests/test-mbrtowc-w32-5.sh.
10382         * tests/test-mbrtoc32-w32-6.sh: New file, based on
10383         tests/test-mbrtowc-w32-6.sh.
10384         * tests/test-mbrtoc32-w32-7.sh: New file, based on
10385         tests/test-mbrtowc-w32-7.sh.
10386         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
10388         mbrtoc32: New module.
10389         * lib/uchar.in.h (mbrtoc32): New declaration.
10390         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
10391         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
10392         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
10393         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
10394         REPLACE_MBRTOC32.
10395         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
10396         HAVE_MBRTOC32, REPLACE_MBRTOC32.
10397         * modules/mbrtoc32: New file, based on modules/mbrtowc.
10398         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
10399         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
10400         $(LIB_MBRTOWC).
10401         * doc/posix-functions/mbrtoc32.texi: Document the new module.
10402         * doc/posix-functions/mbrtowc.texi: Mention the new module.
10404 2020-01-03  Bruno Haible  <bruno@clisp.org>
10406         mbrtowc: Refactor to share code with mbrtoc32.
10407         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
10408         * lib/mbrtowc-impl-utf8.h: Likewise.
10409         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
10410         mbrtowc-impl.h.
10411         * modules/mbrtowc (Files): Add the new files.
10413 2020-01-03  Jim Meyering  <meyering@fb.com>
10415         doc: fix time.texi wording
10416         * doc/posix-headers/time.texi (time.h): Typo.
10418 2020-01-03  Bruno Haible  <bruno@clisp.org>
10420         mbrtowc: Refactor locale charset dispatching.
10421         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
10422         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
10423         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
10424         localcharset.h, streq.h.
10425         (enc_t): Remove type.
10426         (locale_enc): Remove function.
10427         (cached_locale_enc): Remove variable.
10428         (locale_enc_cached): Remove function.
10429         (mbrtowc): Invoke locale_encoding_classification.
10430         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
10431         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
10432         lc-charset-dispatch.c.
10433         (configure.ac): Arrange to compile lc-charset-dispatch.c.
10435 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10437         doc: mention 32-bit time_t issue
10438         * doc/posix-headers/sys_stat.texi (sys/stat.h):
10439         * doc/posix-headers/time.texi (time.h): Mention 2038.
10441 2020-01-03  Bruno Haible  <bruno@clisp.org>
10443         mbrtowc: Ensure the mbtowc_lock is unique.
10444         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
10445         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
10446         lib/setlocale_null.c.
10447         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
10448         glthread/lock.h. Include mbtowc-lock.h.
10449         (mbtowc_lock): Remove declaration.
10450         (mbrtowc): Use mbtowc_with_lock.
10451         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
10452         threads.h. Set LIB_MBRTOWC.
10453         (gl_PREREQ_MBTOWC_LOCK): New macro.
10454         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
10455         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
10456         (Depends-on): Remove lock.
10457         (configure.ac): Arrange to compile mbtowc-lock.c.
10458         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
10459         * modules/acl (Link): Likewise.
10460         * modules/argmatch (Link): Likewise.
10461         * modules/backup-rename (Link): Likewise.
10462         * modules/backupfile (Link): Likewise.
10463         * modules/closein (Link): Likewise.
10464         * modules/closeout (Link): Likewise.
10465         * modules/copy-file (Link): Likewise.
10466         * modules/csharpcomp (Link): Likewise.
10467         * modules/csharpexec (Link): Likewise.
10468         * modules/dfa (Link): Likewise.
10469         * modules/exclude (Link): Likewise.
10470         * modules/fnmatch (Link): Likewise.
10471         * modules/fnmatch-gnu (Link): Likewise.
10472         * modules/fnmatch-posix (Link): Likewise.
10473         * modules/glob (Link): Likewise.
10474         * modules/human (Link): Likewise.
10475         * modules/javacomp (Link): Likewise.
10476         * modules/javaexec (Link): Likewise.
10477         * modules/javaversion (Link): Likewise.
10478         * modules/mbfile (Link): Likewise.
10479         * modules/mbiter (Link): Likewise.
10480         * modules/mbmemcasecmp (Link): Likewise.
10481         * modules/mbmemcasecoll (Link): Likewise.
10482         * modules/mbrlen (Link): Likewise.
10483         * modules/mbscasecmp (Link): Likewise.
10484         * modules/mbscasestr (Link): Likewise.
10485         * modules/mbschr (Link): Likewise.
10486         * modules/mbscspn (Link): Likewise.
10487         * modules/mbsinit (Link): Likewise.
10488         * modules/mbslen (Link): Likewise.
10489         * modules/mbsncasecmp (Link): Likewise.
10490         * modules/mbsnlen (Link): Likewise.
10491         * modules/mbsnrtowcs (Link): Likewise.
10492         * modules/mbspbrk (Link): Likewise.
10493         * modules/mbspcasecmp (Link): Likewise.
10494         * modules/mbsrchr (Link): Likewise.
10495         * modules/mbsrtowcs (Link): Likewise.
10496         * modules/mbssep (Link): Likewise.
10497         * modules/mbsspn (Link): Likewise.
10498         * modules/mbsstr (Link): Likewise.
10499         * modules/mbstok_r (Link): Likewise.
10500         * modules/mbswidth (Link): Likewise.
10501         * modules/mbuiter (Link): Likewise.
10502         * modules/mkdir-p (Link): Likewise.
10503         * modules/propername (Link): Likewise.
10504         * modules/quote (Link): Likewise.
10505         * modules/quotearg (Link): Likewise.
10506         * modules/quotearg-simple (Link): Likewise.
10507         * modules/regex-quote (Link): Likewise.
10508         * modules/rpmatch (Link): Likewise.
10509         * modules/sh-quote (Link): Likewise.
10510         * modules/system-quote (Link): Likewise.
10511         * modules/trim (Link): Likewise.
10512         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10513         * modules/unistdio/ulc-fprintf (Link): Likewise.
10514         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10515         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10516         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10517         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10518         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10519         * modules/xfreopen (Link): Likewise.
10520         * modules/xmemcoll (Link): Likewise.
10521         * modules/yesno (Link): Likewise.
10522         * modules/regex (Link): Add $(LIB_MBRTOWC).
10523         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
10524         instead of $(LIBTHREAD).
10525         * modules/argmatch-tests (Makefile.am): Likewise.
10526         * modules/closein-tests (Makefile.am): Likewise.
10527         * modules/copy-file-tests (Makefile.am): Likewise.
10528         * modules/dfa-tests (Makefile.am): Likewise.
10529         * modules/fnmatch-tests (Makefile.am): Likewise.
10530         * modules/glob-tests (Makefile.am): Likewise.
10531         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10532         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10533         * modules/mbrtowc-tests (Makefile.am): Likewise.
10534         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10535         * modules/mbscasestr-tests (Makefile.am): Likewise.
10536         * modules/mbschr-tests (Makefile.am): Likewise.
10537         * modules/mbscspn-tests (Makefile.am): Likewise.
10538         * modules/mbsinit-tests (Makefile.am): Likewise.
10539         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10540         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10541         * modules/mbspbrk-tests (Makefile.am): Likewise.
10542         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10543         * modules/mbsrchr-tests (Makefile.am): Likewise.
10544         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10545         * modules/mbsspn-tests (Makefile.am): Likewise.
10546         * modules/mbsstr-tests (Makefile.am): Likewise.
10547         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10548         * modules/quotearg-tests (Makefile.am): Likewise.
10549         * modules/readtokens-tests (Makefile.am): Likewise.
10550         * modules/sh-quote-tests (Makefile.am): Likewise.
10551         * modules/system-quote-tests (Makefile.am): Likewise.
10552         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10553         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10554         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10555         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10556         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10557         * modules/yesno-tests (Makefile.am): Likewise.
10558         * modules/exclude-tests (Makefile.am): Link the programs with
10559         $(LIB_MBRTOWC).
10560         * modules/regex-tests (Makefile.am): Likewise.
10561         * modules/regex-quote-tests (Makefile.am): Likewise.
10563 2020-01-03  Bruno Haible  <bruno@clisp.org>
10565         getopt-posix: Fix compilation failure in testdirs.
10566         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
10567         when the gnulib module 'getopt-posix' is enabled.
10568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
10569         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
10570         module indicator.
10571         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
10573 2020-01-03  Bruno Haible  <bruno@clisp.org>
10575         doc: Mention the 64-bit inode number problem.
10576         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
10577         64-bit inode number problem.
10578         * doc/posix-functions/stat.texi: Mention that this module fixes the
10579         64-bit inode number problem.
10580         * doc/posix-functions/lstat.texi: Likewise.
10581         * doc/posix-functions/fstat.texi: Likewise.
10582         * doc/posix-functions/readdir.texi: Add more details.
10583         * doc/posix-functions/readdir_r.texi: Likewise.
10585 2020-01-02  Bruno Haible  <bruno@clisp.org>
10587         wcrtomb: Add more tests.
10588         * tests/test-wcrtomb-w32.c: Include localcharset.h.
10589         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10590         locale_charset() returns the expected value; otherwise, skip the test.
10591         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
10592         * tests/test-wcrtomb-w32-7.sh: Likewise.
10593         * modules/wcrtomb-tests (Files): Add these files.
10594         (Depends-on): Add localcharset.
10595         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
10597 2020-01-02  Bruno Haible  <bruno@clisp.org>
10599         mbrtowc: Add more tests.
10600         * tests/test-mbrtowc-w32.c: Include localcharset.h.
10601         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10602         locale_charset() returns the expected value; otherwise, skip the test.
10603         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
10604         * tests/test-mbrtowc-w32-7.sh: Likewise.
10605         * modules/mbrtowc-tests (Files): Add these files.
10606         (Depends-on): Add localcharset.
10607         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
10609 2020-01-02  Bruno Haible  <bruno@clisp.org>
10611         mbrtowc: Fix test failures on MSVC (regression by previous commit).
10612         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
10613         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
10614         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
10615         MBRTOWC_STORES_INCOMPLETE_BUG.
10616         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
10618 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
10620         doc: mention glibc bug 24269
10621         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
10622         Reformat slightly so that it looks nicer in the Grep manual.
10624 2020-01-02  Bruno Haible  <bruno@clisp.org>
10626         mbrtowc: Don't replace mbstate_t on MSVC.
10627         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
10628         a missing mbsinit function on native Windows.
10629         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
10630         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
10631         MSVC bug.
10632         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
10634 2020-01-02  Bruno Haible  <bruno@clisp.org>
10636         setlocale-null: Avoid crashing the MSVC linker.
10637         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
10638         MSVC.
10640 2020-01-02  Bruno Haible  <bruno@clisp.org>
10642         wchar: Make the HP-UX workaround work on HP-UX 11.31.
10643         * modules/wchar (Depends-on): Add inttypes-incomplete.
10644         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
10645         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
10646         of strtoimax.
10648 2020-01-02  Bruno Haible  <bruno@clisp.org>
10650         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
10651         * lib/mbrtowc.c: Include <stdint.h>.
10652         * modules/mbrtowc (Depends-on): Add stdint.
10654 2020-01-01  Pádraig Brady  <P@draigBrady.com>
10656         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
10657         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
10658         which will auto enable use of openssl, only for >= version 3,
10659         which is newly licensed under the Apache Software License.
10661 2020-01-01  Bruno Haible  <bruno@clisp.org>
10663         mbrtowc: Include function name in macro names.
10664         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
10665         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
10666         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
10667         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
10668         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
10669         C_LOCALE_MAYBE_EILSEQ.
10671 2020-01-01  Bruno Haible  <bruno@clisp.org>
10673         c32tob: New module.
10674         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
10675         (c32tob): New declaration.
10676         * lib/c32tob.c: New file.
10677         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
10678         macros.
10679         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
10680         * modules/uchar (Depends-on): Add snippet/c++defs.
10681         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
10682         uchar.h.
10683         * modules/c32tob: New file.
10684         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
10685         defined.
10686         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
10687         c32tob.
10688         * modules/uchar-c++-tests (Files): Add tests/signature.h.
10689         * doc/posix-functions/wctob.texi: Mention the new module.
10691 2020-01-01  Bruno Haible  <bruno@clisp.org>
10693         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
10694         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
10695         $(LIB_SETLOCALE).
10697 2020-01-01  Bruno Haible  <bruno@clisp.org>
10699         hard-locale tests: Fix a conflict with the C++ tests.
10700         * modules/hard-locale-tests (Makefile.am): Build a program named
10701         'current-locale', not 'locale'.
10703 2020-01-01  Bruno Haible  <bruno@clisp.org>
10705         doc: Update documentation about wchar_t.
10706         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
10707         wchar_t type.
10709 2020-01-01  Bruno Haible  <bruno@clisp.org>
10711         mbrtowc tests: Fix typos.
10712         * tests/test-mbrtowc.c (main): Fix typo.
10713         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
10715 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10717         maint: update copyright notices
10718         Before doing the following changes done by hand, I also ran ‘make
10719         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
10720         to do most of the copyright years automatically.  A few upstream
10721         sources are still in 2019 but these should eventually be changed
10722         automatically too.
10723         * build-aux/declared.sh (func_version):
10724         * build-aux/libtool-next-version (func_version):
10725         * build-aux/run-test (func_version):
10726         Update these notices by hand.  Put just the last year
10727         in output of programs, as per GNU coding standards.
10729 2019-12-31  Bruno Haible  <bruno@clisp.org>
10731         uchar: Add C++ tests.
10732         * tests/test-uchar-c++.cc: New file.
10733         * tests/test-uchar-c++2.cc: New file.
10734         * modules/uchar-c++-tests: New file.
10736         uchar: Add tests.
10737         * tests/test-uchar.c: New file.
10738         * modules/uchar-tests: New file.
10740         uchar: New module.
10741         * lib/uchar.in.h: New file.
10742         * m4/uchar.m4: New file.
10743         * modules/uchar: New file.
10744         * doc/posix-headers/uchar.texi: Mention the new module.
10746 2019-12-30  Jim Meyering  <meyering@fb.com>
10748         localeinfo: ->simple would be wrong for LC_ALL=C
10749         That would lead to using unnecessary and expensive code paths in dfa.c.
10750         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
10751         error that would have made grep many times slower in the C locale.
10752         With this change, and a file created like this:
10753           yes 00 | head -10000000 > in
10754         Running grep as follows becomes more than 40 times faster:
10755           LC_ALL=C grep -Fw 0 in
10757 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
10759         doc: document trouble with back-references
10760         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
10762 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10764         doc: use “back-reference” for \1 etc.
10765         * doc/regex.texi: Consistently spell “back-reference” with
10766         a hyphen, since that’s how POSIX does it.
10768 2019-12-26  Jim Meyering  <meyering@fb.com>
10770         test-framework-sh: tighten an internal grep regexp
10771         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
10772         that helps test for a working printf.
10774 2019-12-26  Bruno Haible  <bruno@clisp.org>
10776         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
10777         Reported by Paul Eggert in
10778         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
10779         Simplification by Jim Meyering.
10780         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
10781         octal escape sequence in a UTF-8 locale.
10783 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
10785         mbrtowc: port better to narrow-wchar_t platforms
10786         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
10787         wchar_t is too narrow to represent all the Unicode characters,
10788         consider a byte sequence for an out-of-wchar_t-range character to
10789         be an encoding error.  This fixes grep’s surrogate-pair test
10790         failure on AIX 7.2.
10792 2019-12-24  Bruno Haible  <bruno@clisp.org>
10794         localcharset: Avoid referencing rpl_setlocale on native Windows.
10795         * lib/localcharset.c (setlocale): Undefine.
10797 2019-12-24  Bruno Haible  <bruno@clisp.org>
10799         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
10800         * m4/semaphore.m4: New file.
10801         * modules/lock-tests (Files): Add it.
10802         (configure.ac): Require gl_SEMAPHORE.
10803         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
10805 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
10807         strptime: fix typo in previous patch
10808         Problem and fix reported by Bruno Haible in:
10809         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
10810         * lib/strptime.c (day_of_the_week): Fix paren bug.
10812 2019-12-24  Bruno Haible  <bruno@clisp.org>
10814         setlocale-null: Make it easy to rely on the lock in another library.
10815         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
10816         defined.
10818 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10820         gethrxtime, mktime, nstrftime, strptime: tweak division performance
10821         Performanced analyzed by Bruno Haible in:
10822         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
10823         * config/srclist.txt: Do not sync mktime.c for now.
10824         * lib/mktime.c (shr, ydhms_diff):
10825         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
10826         * lib/strptime.c (day_of_the_week):
10827         * lib/xtime.h (xtime_sec):
10828         Redo with neither ‘%’ nor conditional branches.
10830 2019-12-23  Bruno Haible  <bruno@clisp.org>
10832         setlocale-null: Export the lock function also on non-Windows platforms.
10833         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
10834         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
10835         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
10836         * modules/setlocale-null (configure.ac): Invoke it.
10837         (Files): Add m4/visibility.m4.
10839 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10841         gethrxtime: fix rounding bug with negative args
10842         Problem reported by Bruno Haible in:
10843         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
10844         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
10845         with negative rounding.  Common platforms can compute / and % with
10846         a single instruction, so the simplified code should be shorter and
10847         faster on these platforms anyway.
10849 2019-12-22  Bruno Haible  <bruno@clisp.org>
10851         gethrxtime: remove incorrect overflow detection
10852         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
10853         integer overflow, as it didn’t suffice.  This reverts the xtime.h
10854         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
10855         cannot now see the need for anyway (even in cases where it works),
10856         as the patch is helpful only when the signs of S and NS disagree,
10857         and all callers pass nonnegative values for S and NS.
10859 2019-12-22  Bruno Haible  <bruno@clisp.org>
10861         setlocale-null: Add standalone include file.
10862         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
10863         * lib/locale.in.h: Include setlocale_null.h.
10864         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
10865         setlocale_null): Remove declarations.
10866         * lib/setlocale_null.c: Include setlocale_null.h.
10867         * lib/localename.c: Likewise.
10868         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
10869         (Depends-on): Add snippet/arg-nonnull.
10870         (Include): Allow either "setlocale_null.h" or <locale.h>.
10872 2019-12-22  Bruno Haible  <bruno@clisp.org>
10874         strfmon_l: Fix test failures on FreeBSD and Cygwin.
10875         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
10876         AC_RUN_IFELSE test.
10877         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
10878         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
10879         problem.
10881 2019-12-22  Bruno Haible  <bruno@clisp.org>
10883         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
10884         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
10885         unconditional AC_LIBOBJ.
10886         * modules/selinux-at: Likewise.
10887         * modules/xmemdup0: Likewise.
10888         * modules/xstrtoll: Likewise.
10890 2019-12-22  Bruno Haible  <bruno@clisp.org>
10892         longlong: Mark module obsolete.
10893         * modules/longlong (Status, Notice): New sections.
10895         stdint: Assume that the compiler supports 'long long'.
10896         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
10897         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
10898         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10899         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
10900         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10901         * modules/stdint (Files): Remove longlong.m4.
10902         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
10903         HAVE_UNSIGNED_LONG_LONG_INT.
10905         inttypes-incomplete: Assume that the compiler supports 'long long'.
10906         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10907         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
10908         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10909         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
10910         HAVE_LONG_LONG_INT to be 1.
10911         * modules/inttypes-incomplete (Makefile.am): Don't substitute
10912         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
10914         malloca: Assume that the compiler supports 'long long'.
10915         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
10916         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
10917         * modules/malloca (Files): Remove longlong.m4.
10918         * modules/relocatable-prog-wrapper (Files): Likewise.
10920         atoll: Assume that the compiler supports 'long long'.
10921         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
10922         * modules/atoll (Files): Remove longlong.m4.
10924         strtoll: Assume that the compiler supports 'long long'.
10925         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
10926         * modules/strtoll (Files): Remove longlong.m4.
10928         strtoull: Assume that the compiler supports 'long long'.
10929         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
10930         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10931         * modules/strtoull (Files): Remove longlong.m4.
10933         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
10934         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
10935         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10936         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
10937         AC_TYPE_LONG_LONG_INT.
10938         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
10939         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10940         * modules/strtoimax (Files): Remove longlong.m4.
10941         * modules/strtoumax (Files): Likewise.
10943         xstrtoll: Assume that the compiler supports 'long long'.
10944         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
10945         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
10947         vasnprintf: Assume that the compiler supports 'long long'.
10948         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
10949         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
10950         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10951         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
10952         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
10953         require AC_TYPE_LONG_LONG_INT.
10954         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
10955         gl_PREREQ_VASNPRINTF): Likewise.
10956         * modules/vasnprintf (Files): Remove longlong.m4.
10957         * modules/c-vasnprintf (Files): Likewise.
10958         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10959         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10960         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10961         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10962         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10963         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10964         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10966         gethrxtime: Assume that the compiler supports 'long long'.
10967         * lib/xtime.h (xtime_t): Define to 'long long int' always.
10968         (XTIME_PRECISION): Define to 1000000000 always.
10969         (xtime_make, xtime_sec): Optimize accordingly.
10970         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
10971         * modules/gethrxtime (Files): Remove longlong.m4.
10973         integer_length*: Assume that the compiler supports 'long long'.
10974         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
10975         * modules/integer_length (Files): Remove longlong.m4.
10976         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10977         * modules/integer_length_l (Files): Remove longlong.m4.
10978         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10979         * modules/integer_length_ll (Files): Remove longlong.m4.
10980         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10982         count-one-bits: Assume that the compiler supports 'long long'.
10983         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
10984         * m4/count-one-bits.m4: Remove file.
10985         * modules/count-one-bits (Files): Remove it.
10986         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
10987         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
10988         unconditionally.
10990         count-trailing-zeros: Assume that the compiler supports 'long long'.
10991         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
10992         unconditionally.
10993         * m4/count-trailing-zeros.m4: Remove file.
10994         * modules/count-trailing-zeros (Files): Remove it.
10995         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
10996         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
10997         unconditionally.
10999         count-leading-zeros: Assume that the compiler supports 'long long'.
11000         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
11001         unconditionally.
11002         * m4/count-leading-zeros.m4: Remove file.
11003         * modules/count-leading-zeros (Files): Remove it.
11004         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
11005         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
11006         unconditionally.
11008 2019-12-22  Bruno Haible  <bruno@clisp.org>
11010         localcharset: Update support for OpenBSD.
11011         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
11013 2019-12-21  Bruno Haible  <bruno@clisp.org>
11015         pthread_sigmask: Avoid test failure on NetBSD 8.0.
11016         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
11017         NetBSD.
11018         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
11020 2019-12-21  Bruno Haible  <bruno@clisp.org>
11022         threadlib: Improve code structure.
11023         * m4/threadlib.m4: Reorder macros. Add comments.
11025 2019-12-21  Bruno Haible  <bruno@clisp.org>
11027         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
11028         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
11029         here from m4/threads.m4).
11030         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
11031         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
11032         (gl_STDTHREADLIB): New macro.
11033         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
11034         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
11036 2019-12-21  Bruno Haible  <bruno@clisp.org>
11038         sched_yield: Don't depend on threadlib and yield.
11039         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
11040         LIB_SCHED_YIELD.
11041         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
11042         m4/yield.m4).
11043         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
11044         gl_THREADLIB and gl_YIELD.
11045         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
11046         based on $(LIB_SCHED_YIELD).
11047         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
11048         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
11049         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
11050         (Depends-on): Remove threadlib.
11051         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
11052         * modules/threads-h (Files): Remove m4/yield.m4.
11053         * modules/pthread-cond-tests (Makefile.am): Link the programs against
11054         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
11055         * modules/pthread-mutex-tests (Makefile.am): Likewise.
11056         * modules/pthread-once-tests (Makefile.am): Likewise.
11057         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
11058         * modules/pthread-tss-tests (Makefile.am): Likewise.
11060 2019-12-21  Bruno Haible  <bruno@clisp.org>
11062         threads-h: Don't depend on threadlib.
11063         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
11064         not gl_THREADLIB_EARLY.
11066 2019-12-21  Bruno Haible  <bruno@clisp.org>
11068         nl_langinfo tests: Fix link error (regression from 2019-12-18).
11069         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
11070         with $(LIB_SETLOCALE).
11072 2019-12-21  Bruno Haible  <bruno@clisp.org>
11074         threadlib: Remove unused dependency (left over from 2019-07-06).
11075         * modules/threadlib (Depends-on): Remove havelib.
11077 2019-12-21  Bruno Haible  <bruno@clisp.org>
11079         New convention for multithread-safety tests.
11080         * tests/test-setlocale_null-mt-one.c: Renamed from
11081         tests/test-setlocale_null-one.c.
11082         * tests/test-setlocale_null-mt-all.c: Renamed from
11083         tests/test-setlocale_null-all.c.
11084         * modules/setlocale-null-tests (Files, Makefile.am): Update.
11086 2019-12-21  Bruno Haible  <bruno@clisp.org>
11088         quotearg tests: Fix conflict with hard-locale tests.
11089         * tests/testlocale: Renamed from tests/locale.
11090         * modules/quotearg-tests (Files): Update.
11091         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
11093 2019-12-21  Bruno Haible  <bruno@clisp.org>
11095         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
11096         Reported by Daniel Richard G. in
11097         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
11098         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
11099         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
11100         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
11101         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
11102         alternative to PTHREAD_RWLOCK_INITIALIZER.
11103         * lib/glthread/lock.c: Likewise.
11105 2019-12-21  Bruno Haible  <bruno@clisp.org>
11107         memcmp tests: Work around the clang bug.
11108         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
11109         the clang optimization.
11111 2019-12-20  Bruno Haible  <bruno@clisp.org>
11113         localcharset: Add support for z/OS encoding names.
11114         * lib/localcharset.h: Mention which encodings are used as locale
11115         encodings on z/OS.
11117 2019-12-20  Bruno Haible  <bruno@clisp.org>
11119         iconv_open: Add support for z/OS encoding names.
11120         Reported by Daniel Richard G. in
11121         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
11122         * lib/iconv_open-zos.gperf: New file.
11123         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
11124         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
11125         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
11126         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
11127         * doc/posix-functions/iconv_open.texi: Mention z/OS.
11129 2019-12-20  Bruno Haible  <bruno@clisp.org>
11131         doc: Document the problem of the per-thread locale functions on z/OS.
11132         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
11133         * doc/posix-functions/newlocale.texi: Likewise.
11134         * doc/posix-functions/duplocale.texi: Likewise.
11135         * doc/posix-functions/freelocale.texi: Likewise.
11137 2019-12-20  Bruno Haible  <bruno@clisp.org>
11139         localename, gettext: Fix host_os value for z/OS.
11140         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
11141         cross-configuration code.
11143 2019-12-19  Jim Meyering  <meyering@fb.com>
11145         nstrftime: avoid a shadowing warning
11146         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
11147         to avoid shadowing an "i" declared hundreds of lines above.
11149 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11151         dfa: struct dfamust now uses flexible array
11152         * lib/dfa.c: Include flexmember.h.
11153         (dfamust, dfamustfree): Adjust to struct dfamust change.
11154         This saves a call to malloc+free.
11155         * lib/dfa.h (struct dfamust): Make the final member a
11156         flexible array member.
11157         * modules/dfa (Depends-on): Add flexmember.
11159         dfa: fast->small for array elements
11160         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
11161         since this type is used in arrays.  This change is more for
11162         documentation than for any practical effect, since the two types
11163         are the same on all known platforms.
11165 2019-12-19  Bruno Haible  <bruno@clisp.org>
11167         iconv tests: Test canonicalized, not system-dependent, encoding names.
11168         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
11169         * modules/iconv-tests (Depends-on): Add iconv_open.
11171 2019-12-18  Bruno Haible  <bruno@clisp.org>
11173         localename: Fix test failure on AIX 7.2.
11174         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
11175         locales on AIX.
11176         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
11177         locales on AIX.
11179 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
11181         Improve port of AC_C_RESTRICT to Oracle C++
11182         Problem reported by Christian Biesinger in:
11183         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
11184         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
11185         Oracle Developer Studio C++ 12.5 or later.
11187 2019-12-18  Bruno Haible  <bruno@clisp.org>
11189         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
11190         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
11192 2019-12-18  Bruno Haible  <bruno@clisp.org>
11194         localename: Ensure multithread-safety in future changes.
11195         * lib/localename.c (setlocale): Reference the system's setlocale().
11196         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
11197         (gl_locale_name_posix): Likewise.
11198         * modules/localename (Depends-on): Add setlocale-null.
11200 2019-12-18  Bruno Haible  <bruno@clisp.org>
11202         setlocale-null: Make API more useful.
11203         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
11204         callers changed.
11205         (setlocale_null): New declaration.
11206         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
11207         extracted from setlocale_null_unlocked.
11208         (setlocale_null_unlocked): Invoke it.
11209         (setlocale_null_r): Renamed from setlocale_null.
11210         (setlocale_null): New function, extracted from setlocale_mtsafe in
11211         setlocale.c.
11212         * lib/setlocale.c: Don't include <errno.h>.
11213         (setlocale_mtsafe): Invoke setlocale_null.
11214         * lib/setlocale-lock.c: Update comments.
11215         * doc/posix-functions/setlocale.texi: Mention both functions.
11217 2019-12-18  Bruno Haible  <bruno@clisp.org>
11219         localename: Optimize code for native Windows.
11220         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
11221         category (not allowed here).
11223 2019-12-18  Bruno Haible  <bruno@clisp.org>
11225         setlocale: Make calls with NULL argument multithread-safe.
11226         * lib/setlocale.c: Include <errno.h>.
11227         (setlocale_mtsafe): New function.
11228         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
11229         (setlocale_improved): Renamed from rpl_setlocale.
11230         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11231         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
11232         LIB_SETLOCALE.
11233         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
11234         (Link): New section.
11235         * tests/locale.c: Undefine setlocale.
11236         * tests/test-setlocale_null-one.c: Likewise.
11237         * tests/test-setlocale_null-all.c: Likewise.
11238         * modules/setlocale-tests (Makefile.am): Link the test programs with
11239         $(LIB_SETLOCALE).
11240         * modules/astrxfrm-tests (Makefile.am): Likewise.
11241         * modules/btowc-tests (Makefile.am): Likewise.
11242         * modules/c-ctype-tests (Makefile.am): Likewise.
11243         * modules/c-snprintf-tests (Makefile.am): Likewise.
11244         * modules/c-strcase-tests (Makefile.am): Likewise.
11245         * modules/c-vasprintf-tests (Makefile.am): Likewise.
11246         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
11247         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
11248         * modules/dfa-tests (Makefile.am): Likewise.
11249         * modules/duplocale-tests (Makefile.am): Likewise.
11250         * modules/hard-locale-tests (Makefile.am): Likewise.
11251         * modules/localcharset-tests (Makefile.am): Likewise.
11252         * modules/localename-tests (Makefile.am): Likewise.
11253         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11254         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11255         * modules/mbrtowc-tests (Makefile.am): Likewise.
11256         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11257         * modules/mbscasestr-tests (Makefile.am): Likewise.
11258         * modules/mbschr-tests (Makefile.am): Likewise.
11259         * modules/mbscspn-tests (Makefile.am): Likewise.
11260         * modules/mbsinit-tests (Makefile.am): Likewise.
11261         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11262         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11263         * modules/mbspbrk-tests (Makefile.am): Likewise.
11264         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11265         * modules/mbsrchr-tests (Makefile.am): Likewise.
11266         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11267         * modules/mbsspn-tests (Makefile.am): Likewise.
11268         * modules/mbsstr-tests (Makefile.am): Likewise.
11269         * modules/nl_langinfo-tests (Makefile.am): Likewise.
11270         * modules/quotearg-tests (Makefile.am): Likewise.
11271         * modules/regex-tests (Makefile.am): Likewise.
11272         * modules/strfmon_l-tests (Makefile.am): Likewise.
11273         * modules/strtod-tests (Makefile.am): Likewise.
11274         * modules/strtold-tests (Makefile.am): Likewise.
11275         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
11276         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
11277         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
11278         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
11279         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
11280         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
11281         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
11282         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11283         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
11284         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
11285         * modules/wcrtomb-tests (Makefile.am): Likewise.
11286         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
11287         * modules/wcsrtombs-tests (Makefile.am): Likewise.
11288         * modules/wcwidth-tests (Makefile.am): Likewise.
11289         * doc/posix-functions/setlocale.texi: Mention that the multithread-
11290         safety fix is also available in module 'setlocale'.
11292 2019-12-18  Bruno Haible  <bruno@clisp.org>
11294         hard-locale: Make multithread-safe.
11295         * lib/hard-locale.h (hard_locale): Move documentation to here.
11296         * lib/hard-locale.c: Don't include <stdlib.h>.
11297         (GLIBC_VERSION): Remove macro.
11298         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
11299         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
11300         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
11301         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
11302         (Link): New section.
11303         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
11304         $(LIB_HARD_LOCALE).
11306 2019-12-18  Bruno Haible  <bruno@clisp.org>
11308         hard-locale: Avoid test failure on Haiku.
11309         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
11311 2019-12-18  Bruno Haible  <bruno@clisp.org>
11313         setlocale-null: Handle NULL result from setlocale.
11314         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
11315         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
11316         from setlocale or _wsetlocale.
11318 2019-12-18  Bruno Haible  <bruno@clisp.org>
11320         hard-locale: Add test.
11321         * tests/test-hard-locale.c: New file.
11322         * tests/locale.c: New file.
11323         * modules/hard-locale-tests: New file.
11325 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11327         dfa: do not match invalid UTF-8
11328         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
11329         from 5 to 9 tokens; this is needed due to the changes to
11330         add_utf8_anychar.
11331         (charclass_index): 2nd arg is now pointer-to-const.
11332         (add_utf8_anychar): Match only valid UTF-8 byte sequences
11333         instead of allowing overlong encodings or surrogate halves.
11335         dfa: simplify charclass by assuming C99
11336         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
11337         (charclass_word): Now always uint_fast64_t.
11338         (CHARCLASS_PAIR): Remove.
11339         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
11341         fts: tune via calloc
11342         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
11344         dfa: tune via xzalloc
11345         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
11347 2019-12-17  Bruno Haible  <bruno@clisp.org>
11349         localcharset: Fix multithread-safety bug on Windows and OS/2.
11350         * lib/localcharset.h (locale_charset): Clarify when the result becomes
11351         invalid.
11352         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
11353         assemble the result.
11355 2019-12-17  Bruno Haible  <bruno@clisp.org>
11357         localcharset: Optimize code for native Windows.
11358         * lib/localcharset.c (locale_charset): Don't bother calling
11359         setlocale (LC_ALL, NULL) since we're not interested in its result.
11361 2019-12-17  Bruno Haible  <bruno@clisp.org>
11363         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
11364         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
11365         setlocale.
11366         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
11367         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
11368         * modules/nl_langinfo (Depends-on): Add setlocale-null.
11370 2019-12-17  Bruno Haible  <bruno@clisp.org>
11372         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
11373         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
11374         stack-allocated buffer to assemble each result and different static
11375         buffers to return it.
11376         * tests/test-nl_langinfo-mt.c: New file.
11377         * modules/nl_langinfo-tests (Files): Add it.
11378         (Depends-on): Add thread, nanosleep.
11379         (Makefile.am): Build test-nl_langinfo-mt test.
11381 2019-12-17  Bruno Haible  <bruno@clisp.org>
11383         langinfo: Document more details.
11384         * doc/posix-headers/langinfo.texi: List platform details.
11385         * doc/posix-functions/nl_langinfo.texi: Likewise.
11387 2019-12-17  Bruno Haible  <bruno@clisp.org>
11389         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
11390         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
11391         and Martin Storsjö <martin@martin.st>
11392         in <https://savannah.gnu.org/bugs/?57406>.
11393         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
11394         mingw.
11396 2019-12-17  Bruno Haible  <bruno@clisp.org>
11398         glob: Avoid warning on mingw.
11399         Reported by Christian Biesinger <cbiesinger@google.com> in
11400         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
11401         * lib/glob.c (__stat64): Undefine first.
11403 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11405         xalloc: tune xzalloc for fresh allocations
11406         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
11407         because when the memory is freshly allocated from the OS via sbrk
11408         or mmap, calloc can avoid doing the memset.
11410         dfa: new function dfacopysyntax
11411         * lib/dfa.c (struct dfa): Move syntax member later so
11412         that dfacopysyntax can easily clear earlier members.
11413         (dfacopysyntax): New function, used by Gawk.
11415 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11417         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
11418         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
11419         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
11420         if not already defined.
11422         dfa: remove one dependency on MB_CUR_MAX
11423         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
11425         dfa: remove struct lexer_state.cur_mb_len
11426         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
11427         as it’s not needed and the code is simpler without it.
11428         All uses removed.
11430 2019-12-16  Bruno Haible  <bruno@clisp.org>
11432         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
11433         Reported by Arnold Robbins <arnold@skeeve.com>.
11434         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
11435         copied from lib/glthread/lock.h.
11436         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
11437         (setlocale_null_with_lock): If pthread_in_use() is false, use
11438         setlocale_null_unlocked directly.
11439         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
11440         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
11441         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
11442         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
11443         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
11444         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
11446 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11448         dfa: make dfasyntax thread-safe
11449         Problem reported by Bruno Haible in:
11450         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
11451         * lib/dfa.c: Do not include locale.h.
11452         (struct dfa): Remove simple_locale member.
11453         All uses replaced by localeinfo.simple.
11454         (using_simple_locale): Remove; now present (with some
11455         changes) in localeinfo.c.
11456         (dfasyntax): No need to initialize removed member.
11458         localeinfo: record whether locale is simple
11459         * lib/localeinfo.c (using_simple_locale): New function,
11460         copied here from lib/dfa.c but with a change: it uses
11461         strcoll for its heuristic, instead of using setlocale.
11462         This lets it be thread-safe.
11463         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
11465 2019-12-15  Bruno Haible  <bruno@clisp.org>
11467         duplocale: Fix multithread-safety bug on AIX.
11468         * lib/duplocale.c: Don't include <stdlib.h>.
11469         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
11470         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11471         Set LIB_DUPLOCALE.
11472         * modules/duplocale (Depends-on): Add setlocale-null.
11473         (Link): New section.
11474         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
11475         $(LIB_DUPLOCALE).
11477 2019-12-15  Bruno Haible  <bruno@clisp.org>
11479         setlocale-null: Add tests.
11480         * tests/test-setlocale_null.c: New file.
11481         * tests/test-setlocale_null-one.c: New file.
11482         * tests/test-setlocale_null-all.c: New file.
11483         * modules/setlocale-null-tests: New file.
11485         setlocale-null: New module.
11486         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
11487         setlocale_null): New declarations.
11488         * lib/setlocale_null.c: New file.
11489         * lib/setlocale-lock.c: New file.
11490         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
11491         * m4/setlocale_null.m4: New file.
11492         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
11493         GNULIB_SETLOCALE_NULL.
11494         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
11495         * modules/setlocale-null: New file.
11496         * doc/posix-functions/setlocale.texi: Mention the new module.
11498 2019-12-15  Bruno Haible  <bruno@clisp.org>
11500         lock tests: Skip test when no multithreading is enabled.
11501         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
11503 2019-12-14  Bruno Haible  <bruno@clisp.org>
11505         locale, duplocale, localename: Fix last patch.
11506         Reported by Daniel Richard G. in
11507         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
11508         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
11509         Don't define if locale_t does not exist.
11511 2019-12-13  Bruno Haible  <bruno@clisp.org>
11513         locale, duplocale, localename: Fix errors if locale_t does not exist.
11514         Reported by Daniel Richard G. in
11515         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
11516         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
11517         macros.
11518         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
11519         HAVE_NEWLOCALE.
11520         * tests/test-localename.c: Likewise.
11521         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
11522         HAVE_DUPLOCALE.
11523         * tests/test-locale-c++.cc: Likewise.
11525 2019-12-13  Bruno Haible  <bruno@clisp.org>
11527         wcstok: Fix test failure on HP-UX.
11528         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
11529         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
11531 2019-12-12  Bruno Haible  <bruno@clisp.org>
11533         strtod, strtold tests: Avoid test failure on AIX 7.2.
11534         * tests/test-strtod1.c (main): Allow implementations in which ',' and
11535         '.' both are radix characters.
11536         * tests/test-strtold1.c (main): Likewise.
11538 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
11540         dfa: prefer ptrdiff_t for API, too
11541         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
11542         but do this only for internal use for now.
11543         * NEWS: Mention the API change.
11544         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
11545         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
11546         values known to be nonnegative.
11547         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
11548         Prefer idx_t or ptrdiff_t to size_t for API.
11549         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
11550         Prefer ptrdiff_t to size_t for API.
11552         stdalign: port to xlclang 16.01
11553         Problem reportd by Bruno Haible in:
11554         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
11555         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
11556         ((__aligned__ (...))) with xlclang, as a top-level
11557         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
11558         xlclang version 16.01.0000.0001; the alignment directive is ignored.
11560 2019-12-12  Bruno Haible  <bruno@clisp.org>
11562         duplocale: Fix test failure on AIX 7.2 with xlclang.
11563         * lib/duplocale.c: Include <stdlib.h>.
11564         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
11565         value.
11567 2019-12-12  Bruno Haible  <bruno@clisp.org>
11569         stddef: Document the AIX xlc issue.
11570         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
11572 2019-12-12  Bruno Haible  <bruno@clisp.org>
11574         duplocale: Don't attempt to override if locale_t does not exist.
11575         Reported by Daniel Richard G. in
11576         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
11577         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
11578         HAVE_DUPLOCALE to 0.
11580 2019-12-12  Bruno Haible  <bruno@clisp.org>
11582         wcwidth: Avoid test failure on AIX 7.2.
11583         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
11584         negative.
11585         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
11587 2019-12-12  Bruno Haible  <bruno@clisp.org>
11589         ilogbl: Work around Cygwin bug.
11590         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
11591         correct.
11592         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
11594 2019-12-12  Bruno Haible  <bruno@clisp.org>
11596         strtold: Work around Cygwin bug.
11597         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
11598         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
11599         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
11600         STRTOLD_HAS_UNDERFLOW_BUG is defined.
11601         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
11603 2019-12-12  Bruno Haible  <bruno@clisp.org>
11605         strtold: Fix autoconf test.
11606         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
11608 2019-12-11  Bruno Haible  <bruno@clisp.org>
11610         fsync tests: Skip test that is known to fail.
11611         * doc/posix-functions/fsync.texi: Update list of platforms.
11612         * tests/test-fsync.c (main): Skip test with read-only file descriptors
11613         that is known to fail on AIX and Cygwin.
11615 2019-12-11  Bruno Haible  <bruno@clisp.org>
11617         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
11618         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
11619         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
11620         HAVE_GETADDRINFO as a C macro.
11621         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
11622         declare as replacement functions.
11623         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
11624         define as no-op overrides.
11625         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
11626         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
11627         * modules/getaddrinfo (Depends-on, configure.ac): Test
11628         REPLACE_GETADDRINFO.
11629         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
11630         problem.
11631         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
11632         convention problems.
11634 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
11636         dfa: prefer signed integers for internals
11637         Signed integers can be checked more easily for integer overflow.
11638         * lib/dfa.c (position, struct lexer_state, struct parser_state)
11639         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
11640         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
11641         (nsubtoks, copytoks, closure, alloc_position_set, delete)
11642         (replace, state_index, epsclosure, charclass_context)
11643         (state_separate_contexts, merge_nfa_state, dfaoptimize)
11644         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
11645         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
11646         (comsubs, inboth, allocmust):
11647         Prefer a signed to an unsigned integer when calculating indexes,
11648         unless the integer is part of the external API (a bigger deal,
11649         and to be done later).
11651         dfa: fix index overflow
11652         * lib/dfa.c (compare): Avoid integer overflow when analyzing
11653         very large regular expressions.
11655         dfa: update commentary for previous change
11656         * NEWS: Mention the change.
11657         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
11659 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11661         dfa: separate parse and compile phase
11662         ‘dfamust’ must be called after parsing and before tokens are
11663         reordered, but both are executed in the compilation phase.
11664         Token reordering was introduced in Gnulib commit
11665         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
11666         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
11667         * lib/dfa.c (dfaparse): Change it to global function.
11668         (dfacomp): If first argument is NULL, skip parse.
11669         * lib/dfa.h: (dfaparse): Add a prototype.
11671 2019-12-11  Bruno Haible  <bruno@clisp.org>
11673         unistd tests: Fix link error on MSVC.
11674         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
11675         $(LIB_GETLOGIN).
11677 2019-12-11  Bruno Haible  <bruno@clisp.org>
11679         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
11680         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
11681         and POSIX substitutes are supported in C++ mode.
11682         * NEWS: Likewise.
11684 2019-12-11  Bruno Haible  <bruno@clisp.org>
11686         stddef: Fix compilation error in C++ mode on MSVC.
11687         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
11688         instead, include <cstddef>.
11690 2019-12-11  Bruno Haible  <bruno@clisp.org>
11692         unistd: Fix compilation error in C++ mode on MSVC.
11693         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
11694         does not have <unistd.h>.
11696 2019-12-11  Bruno Haible  <bruno@clisp.org>
11698         locale: Fix compilation error in C++ mode on MSVC.
11699         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
11700         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
11701         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
11702         int_n_sep_by_space): Define as macros on MSVC.
11704 2019-12-11  Bruno Haible  <bruno@clisp.org>
11706         wchar: Fix compilation error in C++ mode on MSVC.
11707         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
11709 2019-12-11  Bruno Haible  <bruno@clisp.org>
11711         pthread-thread: Fix compilation error in C++ mode on MSVC.
11712         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
11713         _GL_CXXALIAS_RPL invocation.
11715 2019-12-08  Bruno Haible  <bruno@clisp.org>
11717         Fix compilation errors in C++ mode on Haiku.
11718         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
11719         non-glibc systems.
11720         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
11721         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11722         posix_spawnattr_setschedparam): Likewise.
11723         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
11724         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11725         * lib/unistd.in.h (usleep): Likewise.
11727 2019-12-08  Bruno Haible  <bruno@clisp.org>
11729         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
11730         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
11731         * modules/fseeko (configure.ac-early): Require it instead of
11732         AC_FUNC_FSEEKO.
11733         * modules/ftello (configure.ac-early): Likewise.
11734         * modules/fflush (configure.ac-early): Likewise.
11736 2019-12-08  Bruno Haible  <bruno@clisp.org>
11738         Fix compilation error in C++ mode on HP-UX 11.
11739         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
11740         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
11742 2019-12-08  Bruno Haible  <bruno@clisp.org>
11744         Fix compilation errors on HP-UX 11/ia64.
11745         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
11746         _GL_FUNCDECL_SYS.
11748 2019-12-08  Bruno Haible  <bruno@clisp.org>
11750         Fix compilation error in C++ mode on OpenBSD.
11751         * lib/signal.in.h (signal): Declare on OpenBSD.
11753 2019-12-08  Bruno Haible  <bruno@clisp.org>
11755         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
11756         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
11757         instead of #error.
11759 2019-12-08  Bruno Haible  <bruno@clisp.org>
11761         Fix compilation errors in C++ mode on FreeBSD.
11762         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
11763         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
11764         * lib/threads.in.h (thrd_exit): Likewise.
11765         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
11767 2019-12-08  Bruno Haible  <bruno@clisp.org>
11769         Fix compilation errors in C++ mode on macOS and FreeBSD.
11770         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
11771         or FreeBSD with clang, use the approach without C preprocessor macro.
11773 2019-12-07  Bruno Haible  <bruno@clisp.org>
11775         Fix compilation errors in C++ mode on AIX with xlclang++.
11776         Reported by Christian Biesinger <cbiesinger@google.com> in
11777         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11778         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
11780 2019-12-07  Bruno Haible  <bruno@clisp.org>
11782         Document compilation error in C++ mode on NetBSD 8.0.
11783         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
11785 2019-12-07  Bruno Haible  <bruno@clisp.org>
11787         Fix compilation errors in C++ mode on Solaris 10.
11788         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
11789         to non-empty on Solaris with a non-GCC compiler.
11790         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
11792 2019-12-07  Bruno Haible  <bruno@clisp.org>
11794         Reword NEWS entry.
11795         * NEWS: Reword the latest NEWS entry.
11797 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
11799         Move xstrtol_fatal to a new xstrtol-error module.
11800         * lib/xstrtol.h: Stop including <getopt.h>.
11801         (xstrtol_fatal): Move ...
11802         * lib/xstrtol-error.h: ... here.  New file.
11803         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
11804         * tests/test-xstrtol.c: Likewise.
11805         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
11806         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
11807         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
11808         * modules/xstrtol-error: New file.
11809         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
11810         * MODULES.html.sh: Add xstrtol-error.
11811         * NEWS: Document the change.
11813 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11815         nstrftime: better width support for %N, %z
11816         * lib/nstrftime.c (width_add, width_add1, width_cpy):
11817         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
11818         a new WIDTH parameter.
11819         (add, add1, cpy): Use these macros.
11820         (width_add): Do not treat digits == 0 as a special case,
11821         do not pad if padding is ‘-’, and do not use a negative width.
11822         (__strftime_internal): Redo formatting of nanoseconds and numeric
11823         timezones to avoid buffer misuse in unusual cases, and so that
11824         widths make more sense.  Add support for widths greater than 9 to
11825         the %N format; they are zero filled on the right.
11826         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
11828 2019-12-05  Bruno Haible  <bruno@clisp.org>
11830         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
11831         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
11832         set REPLACE_ISFINITE to 1.
11833         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
11834         REPLACE_ISINF to 1.
11835         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
11836         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
11837         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11838         * lib/threads.in.h (call_once): Likewise.
11839         * lib/iconv.in.h (iconv): Likewise.
11841 2019-12-05  Bruno Haible  <bruno@clisp.org>
11843         wchar: Add more C++ tests.
11844         Reported by Christian Biesinger <cbiesinger@google.com> in
11845         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11846         * tests/test-wchar-c++3.cc: New file.
11847         * modules/wchar-c++-tests (Files): Add it.
11848         (Makefile.am): Compile it.
11850 2019-12-05  Bruno Haible  <bruno@clisp.org>
11852         Add more C++ tests.
11854         assert-h: Add C++ tests.
11855         * tests/test-assert-h-c++.cc: New file.
11856         * tests/test-assert-h-c++2.cc: New file.
11857         * modules/assert-h-c++-tests: New file.
11858         * modules/assert-h-tests: New file.
11860         ctype: Add C++ tests.
11861         * tests/test-ctype-c++.cc: New file.
11862         * tests/test-ctype-c++2.cc: New file.
11863         * modules/ctype-c++-tests: New file.
11864         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
11866         errno: Add C++ tests.
11867         * tests/test-errno-c++.cc: New file.
11868         * tests/test-errno-c++2.cc: New file.
11869         * modules/errno-c++-tests: New file.
11870         * modules/errno-tests (Depends-on): Add errno-c++-tests.
11872         float: Add C++ tests.
11873         * tests/test-float-c++.cc: New file.
11874         * tests/test-float-c++2.cc: New file.
11875         * modules/float-c++-tests: New file.
11876         * modules/float-tests (Depends-on): Add float-c++-tests.
11878         inttypes: Add more C++ tests.
11879         * tests/test-inttypes-c++2.cc: New file.
11880         * modules/inttypes-c++-tests (Files): Add it.
11881         (Makefile.am): Compile it.
11883         limits-h: Add C++ tests.
11884         * tests/test-limits-h-c++.cc: New file.
11885         * tests/test-limits-h-c++2.cc: New file.
11886         * modules/limits-h-c++-tests: New file.
11887         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
11889         stdarg: Add C++ tests.
11890         * tests/test-stdarg-c++.cc: New file.
11891         * tests/test-stdarg-c++2.cc: New file.
11892         * modules/stdarg-c++-tests: New file.
11893         * modules/stdarg-tests: New file.
11895         stdbool: Add C++ tests.
11896         * tests/test-stdbool-c++.cc: New file.
11897         * tests/test-stdbool-c++2.cc: New file.
11898         * modules/stdbool-c++-tests: New file.
11899         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
11901         stddef: Add C++ tests.
11902         * tests/test-stddef-c++.cc: New file.
11903         * tests/test-stddef-c++2.cc: New file.
11904         * modules/stddef-c++-tests: New file.
11905         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
11907         stdint: Add C++ tests.
11908         * tests/test-stdint-c++.cc: New file.
11909         * tests/test-stdint-c++2.cc: New file.
11910         * modules/stdint-c++-tests: New file.
11911         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
11913         wchar: Add more C++ tests.
11914         * tests/test-wchar-c++2.cc: New file.
11915         * modules/wchar-c++-tests (Files): Add it.
11916         (Makefile.am): Compile it.
11918         wctype-h: Add more C++ tests.
11919         * tests/test-wctype-h-c++2.cc: New file.
11920         * modules/wctype-h-c++-tests (Files): Add it.
11921         (Makefile.am): Compile it.
11923 2019-12-04  Bruno Haible  <bruno@clisp.org>
11925         Fix compilation errors in C++ mode with xlclang++ on AIX.
11926         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
11927         C++ mode on AIX.
11928         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
11929         without C preprocessor macro.
11930         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
11931         _GL_CXXALIAS_SYS.
11932         * lib/threads.in.h (thrd_exit): Likewise.
11934 2019-12-04  Bruno Haible  <bruno@clisp.org>
11936         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
11937         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
11938         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
11940 2019-12-04  Bruno Haible  <bruno@clisp.org>
11942         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
11943         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
11944         _GL_CXXALIASWARN invocation on non-glibc systems.
11945         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
11946         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
11947         iswctype, towlower, towupper): Likewise.
11949 2019-12-03  Bruno Haible  <bruno@clisp.org>
11951         Avoid hassles caused by [[noreturn]] in C++.
11952         Reported by Christian Biesinger <cbiesinger@google.com> in
11953         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
11954         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
11955         * lib/_Noreturn.h: Likewise.
11957 2019-12-02  Bruno Haible  <bruno@clisp.org>
11959         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
11960         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
11961         LIBMULTITHREAD.
11962         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
11963         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
11964         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
11965         gl_THREADLIB.
11966         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
11968 2019-12-02  Bruno Haible  <bruno@clisp.org>
11970         Fix some more link errors with --enable-threads=isoc.
11971         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
11972         * modules/pthread-rwlock (Depends-on): Likewise.
11974 2019-12-02  Bruno Haible  <bruno@clisp.org>
11976         Fix link errors with --enable-threads=posix on AIX.
11977         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
11978         program with $(LIBTHREAD).
11979         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
11980         program with $(LIBTHREAD).
11982 2019-12-02  Bruno Haible  <bruno@clisp.org>
11984         Fix link errors with --enable-threads=posix on AIX.
11985         * modules/mbrtowc (Link): New section.
11986         * modules/acl (Link): Likewise.
11987         * modules/argmatch (Link): Likewise.
11988         * modules/backup-rename (Link): Likewise.
11989         * modules/backupfile (Link): Likewise.
11990         * modules/closein (Link): Likewise.
11991         * modules/closeout (Link): Likewise.
11992         * modules/copy-file (Link): Likewise.
11993         * modules/csharpcomp (Link): Likewise.
11994         * modules/csharpexec (Link): Likewise.
11995         * modules/dfa (Link): Likewise.
11996         * modules/exclude (Link): Likewise.
11997         * modules/fnmatch (Link): Likewise.
11998         * modules/fnmatch-gnu (Link): Likewise.
11999         * modules/fnmatch-posix (Link): Likewise.
12000         * modules/glob (Link): Likewise.
12001         * modules/human (Link): Likewise.
12002         * modules/javacomp (Link): Likewise.
12003         * modules/javaexec (Link): Likewise.
12004         * modules/javaversion (Link): Likewise.
12005         * modules/mbfile (Link): Likewise.
12006         * modules/mbiter (Link): Likewise.
12007         * modules/mbmemcasecmp (Link): Likewise.
12008         * modules/mbmemcasecoll (Link): Likewise.
12009         * modules/mbrlen (Link): Likewise.
12010         * modules/mbscasecmp (Link): Likewise.
12011         * modules/mbscasestr (Link): Likewise.
12012         * modules/mbschr (Link): Likewise.
12013         * modules/mbscspn (Link): Likewise.
12014         * modules/mbsinit (Link): Likewise.
12015         * modules/mbslen (Link): Likewise.
12016         * modules/mbsncasecmp (Link): Likewise.
12017         * modules/mbsnlen (Link): Likewise.
12018         * modules/mbsnrtowcs (Link): Likewise.
12019         * modules/mbspbrk (Link): Likewise.
12020         * modules/mbspcasecmp (Link): Likewise.
12021         * modules/mbsrchr (Link): Likewise.
12022         * modules/mbsrtowcs (Link): Likewise.
12023         * modules/mbssep (Link): Likewise.
12024         * modules/mbsspn (Link): Likewise.
12025         * modules/mbsstr (Link): Likewise.
12026         * modules/mbstok_r (Link): Likewise.
12027         * modules/mbswidth (Link): Likewise.
12028         * modules/mbuiter (Link): Likewise.
12029         * modules/mkdir-p (Link): Likewise.
12030         * modules/propername (Link): Likewise.
12031         * modules/quote (Link): Likewise.
12032         * modules/quotearg (Link): Likewise.
12033         * modules/quotearg-simple (Link): Likewise.
12034         * modules/regex-quote (Link): Likewise.
12035         * modules/rpmatch (Link): Likewise.
12036         * modules/sh-quote (Link): Likewise.
12037         * modules/system-quote (Link): Likewise.
12038         * modules/trim (Link): Likewise.
12039         * modules/unistdio/ulc-asnprintf (Link): Likewise.
12040         * modules/unistdio/ulc-fprintf (Link): Likewise.
12041         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
12042         * modules/unistdio/ulc-vasprintf (Link): Likewise.
12043         * modules/unistdio/ulc-vfprintf (Link): Likewise.
12044         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
12045         * modules/unistdio/ulc-vsprintf (Link): Likewise.
12046         * modules/xfreopen (Link): Likewise.
12047         * modules/xmemcoll (Link): Likewise.
12048         * modules/yesno (Link): Likewise.
12049         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
12050         * modules/argmatch-tests (Makefile.am): Likewise.
12051         * modules/closein-tests (Makefile.am): Likewise.
12052         * modules/copy-file-tests (Makefile.am): Likewise.
12053         * modules/dfa-tests (Makefile.am): Likewise.
12054         * modules/fnmatch-tests (Makefile.am): Likewise.
12055         * modules/glob-tests (Makefile.am): Likewise.
12056         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
12057         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
12058         * modules/mbrtowc-tests (Makefile.am): Likewise.
12059         * modules/mbscasecmp-tests (Makefile.am): Likewise.
12060         * modules/mbscasestr-tests (Makefile.am): Likewise.
12061         * modules/mbschr-tests (Makefile.am): Likewise.
12062         * modules/mbscspn-tests (Makefile.am): Likewise.
12063         * modules/mbsinit-tests (Makefile.am): Likewise.
12064         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
12065         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
12066         * modules/mbspbrk-tests (Makefile.am): Likewise.
12067         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
12068         * modules/mbsrchr-tests (Makefile.am): Likewise.
12069         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
12070         * modules/mbsspn-tests (Makefile.am): Likewise.
12071         * modules/mbsstr-tests (Makefile.am): Likewise.
12072         * modules/quotearg-tests (Makefile.am): Likewise.
12073         * modules/quotearg-simple-tests (Makefile.am): Likewise.
12074         * modules/readtokens-tests (Makefile.am): Likewise.
12075         * modules/regex-quote-tests (Makefile.am): Likewise.
12076         * modules/sh-quote-tests (Makefile.am): Likewise.
12077         * modules/system-quote-tests (Makefile.am): Likewise.
12078         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
12079         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
12080         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
12081         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
12082         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
12083         * modules/yesno-tests (Makefile.am): Likewise.
12085 2019-12-02  Bruno Haible  <bruno@clisp.org>
12087         Simplify link sections.
12088         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
12089         * modules/lock (Link): Likewise.
12090         * modules/cond (Link): Likewise.
12091         * modules/tls (Link): Likewise.
12092         * modules/yield (Link): Likewise.
12093         * modules/regex (Link): Likewise.
12094         * modules/localename (Link): Likewise.
12095         * modules/unicase/locale-language (Link): Likewise.
12096         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
12098 2019-12-02  Bruno Haible  <bruno@clisp.org>
12100         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
12101         * tests/test-thread_self.c (main): Disable test on AIX.
12103 2019-12-01  Bruno Haible  <bruno@clisp.org>
12105         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
12106         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
12107         gl_THREADLIB_EARLY_BODY.
12108         (gl_THREADLIB_EARLY_BODY): Invoke it.
12109         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
12110         (gl_THREADLIB_BODY): Invoke it.
12111         (gl_PTHREADLIB): New macro.
12112         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
12113         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
12114         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
12115         * modules/pthread-h (Files): Add threadlib.m4.
12116         (Depends-on): Remove threadlib.
12117         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
12118         and _THREAD_SAFE here.
12119         (Link): Use LIBPTHREAD, not LIBTHREAD.
12120         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
12121         LIBMULTITHREAD.
12122         * modules/pthread-once (Link): Likewise.
12123         * modules/pthread-mutex (Link): Likewise.
12124         * modules/pthread-rwlock (Link): Likewise.
12125         * modules/pthread-cond (Link): Likewise.
12126         * modules/pthread-tss (Link): Likewise.
12127         * modules/pthread-spin (Link): Likewise.
12128         * modules/pthread (Link): Likewise.
12129         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
12130         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
12131         * modules/pthread-once-tests (test_pthread_once1_LDADD,
12132         test_pthread_once2_LDADD): Likewise.
12133         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
12134         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
12135         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
12136         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
12138 2019-12-01  Bruno Haible  <bruno@clisp.org>
12140         cond: State linking requirements.
12141         * modules/cond (Link): New section.
12143 2019-12-01  Bruno Haible  <bruno@clisp.org>
12145         threadlib: Remove unnecessary file (left over from 2019-07-06).
12146         * modules/threadlib (Files): Remove config.rpath.
12148 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
12150         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
12151         Reported by Dagobert Michelsen <dam@opencsw.org> in
12152         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
12153         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
12154         list of strings instead of one string.
12155         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
12156         * pygnulib/GLImport.py (execute): Likewise.
12158 2019-11-27  Bruno Haible  <bruno@clisp.org>
12160         openpty, forkpty: Fix build error on Solaris 11.4.
12161         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
12162         also in <termios.h>.
12163         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
12164         of the function also in <termios.h>.
12165         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
12166         * doc/glibc-functions/forkpty.texi: Likewise.
12168 2019-11-27  Bruno Haible  <bruno@clisp.org>
12170         New options --enable-threads=isoc and --enable-threads=isoc+posix.
12171         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
12172         --enable-threads=isoc and --enable-threads=isoc+posix.
12173         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
12174         When both the ISO C and the POSIX threads API are available, choose
12175         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
12176         --enable-threads=isoc+posix was specified. When only the ISO C threads
12177         API is available and --enable-threads=iso was specified, choose
12178         USE_ISOC_THREADS.
12179         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
12180         USE_ISOC_AND_POSIX_THREADS.
12181         * lib/glthread/lock.c: Likewise.
12182         * lib/glthread/cond.h: Likewise.
12183         * lib/glthread/cond.c: Likewise.
12184         * lib/glthread/tls.h: Likewise.
12185         * lib/glthread/tls.c: Likewise.
12186         * lib/glthread/yield.h: Likewise.
12187         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
12188         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
12189         * lib/glthread/thread.c: Likewise.
12190         * lib/glthread/threadlib.c: Likewise.
12191         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
12192         USE_ISOC_AND_POSIX_THREADS.
12193         * tests/test-cond.c: Consider USE_ISOC_THREADS and
12194         USE_ISOC_AND_POSIX_THREADS.
12195         * tests/test-tls.c: Likewise.
12196         * tests/test-thread_create.c (main): Likewise.
12197         * tests/test-pthread-cond.c: Likewise.
12198         * tests/test-pthread-mutex.c: Likewise.
12199         * tests/test-pthread-once2.c: Likewise.
12200         * tests/test-pthread-rwlock.c: Likewise.
12201         * tests/test-pthread-tss.c: Likewise.
12202         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
12203         USE_POSIX_THREADS.
12205 2019-11-24  Bruno Haible  <bruno@clisp.org>
12207         mbrtowc: Modernize autoconf test.
12208         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
12209         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
12210         try a UTF-8 locale.
12211         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
12213 2019-11-24  Bruno Haible  <bruno@clisp.org>
12215         Fix errors in C++ mode on mingw.
12216         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
12217         instead of _GL_CXXALIAS_SYS.
12218         * lib/signal.in.h (pthread_sigmask): Likewise.
12219         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
12220         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
12221         Likewise.
12222         * lib/wchar.in.h (btowc): Likewise.
12224 2019-11-24  Bruno Haible  <bruno@clisp.org>
12226         sys_time: Fix errors in C++ mode on mingw.
12227         * lib/sys_time.in.h (timeval): Restore the redirection
12228         '#define timeval rpl_timeval', for when the symbol timeval is being used
12229         outside the 'gnulib' namespace.
12230         * lib/sys_select.in.h (select): In C++, write 'timeval', not
12231         'struct timeval'.
12233 2019-11-24  Bruno Haible  <bruno@clisp.org>
12235         iswctype: Fix errors in C++ mode on mingw.
12236         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
12237         is 1.
12238         * lib/iswctype.c (iswctype): Add another implementation, for the
12239         GNULIB_defined_wint_t case.
12240         * modules/iswctype (configure.ac): Compile iswctype.c also if
12241         GNULIB_OVERRIDES_WINT_T is 1.
12243 2019-11-24  Bruno Haible  <bruno@clisp.org>
12245         windows-timedmutex: Fix errors in C++ mode on mingw.
12246         * lib/windows-timedmutex.h: Add closing brace.
12248 2019-11-24  Bruno Haible  <bruno@clisp.org>
12250         Fix errors in C++ mode on Cygwin.
12251         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
12252         _GL_CXXALIAS_SYS.
12254 2019-11-24  Bruno Haible  <bruno@clisp.org>
12256         time_r: Fix for mingw (regression from 2019-11-16).
12257         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
12258         AC_LINK_IFELSE test only if the function does not appear to exist.
12260 2019-11-24  Bruno Haible  <bruno@clisp.org>
12262         wcstok: Add tests.
12263         * tests/test-wcstok.c: New file.
12264         * modules/wcstok-tests: New file.
12266 2019-11-24  Bruno Haible  <bruno@clisp.org>
12268         wcstok: Work around wrong signature on native Windows.
12269         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
12270         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
12271         REPLACE_WCSTOK.
12272         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
12273         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
12274         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
12275         * doc/posix-functions/wcstok.texi: Mention the problem.
12277 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
12279         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
12280         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
12281         remove workaround for GCC bug 91450 as the bug should be fixed
12282         there too.
12284 2019-11-21  Bruno Haible  <bruno@clisp.org>
12286         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
12287         Reported by Christian Biesinger <cbiesinger@google.com> in
12288         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
12289         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
12290         non-glibc systems.
12291         * lib/locale.in.h (localeconv, setlocale): Likewise.
12292         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
12293         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
12294         rint, round, trunc): Likewise.
12295         * lib/monetary.in.h (strfmon_l): Likewise.
12296         * lib/pthread.in.h (pthread_mutexattr_getrobust,
12297         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
12298         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
12299         pthread_spin_destroy): Likewise.
12300         * lib/signal.in.h (raise, signal): Likewise.
12301         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
12302         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
12303         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
12304         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
12305         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
12306         Likewise.
12307         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
12308         Likewise.
12309         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
12310         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
12311         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
12312         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
12313         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
12314         wcsftime): Likewise.
12315         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
12317 2019-11-21  Bruno Haible  <bruno@clisp.org>
12319         Fix various errors in _GL_CXXALIAS_SYS invocations.
12320         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
12321         _GL_CXXALIAS_SYS.
12322         * lib/pthread.in.h (pthread_mutexattr_gettype,
12323         pthread_mutexattr_getrobust): Likewise.
12324         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
12325         * lib/sys_socket.in.h (recv, send): Likewise.
12326         * lib/unistd.in.h (getdtablesize): Likewise.
12327         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
12328         'struct timeval'.
12330 2019-11-21  Bruno Haible  <bruno@clisp.org>
12332         math tests: Update after 2019-08-28 change.
12333         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
12334         return type of 'bool', not 'int'.
12336 2019-11-21  Bruno Haible  <bruno@clisp.org>
12338         pthread-spin: Fix errors in C++ mode.
12339         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
12340         functions as nonexistent when <pthread.h> exists but does not define
12341         the pthread_spinlock_t type.
12343 2019-11-21  Bruno Haible  <bruno@clisp.org>
12345         pthread-mutex: Fix errors in C++ mode.
12346         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
12347         pthread_mutexattr_getrobust exists. If not, define
12348         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
12349         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
12350         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
12351         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
12352         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
12353         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
12354         definition.
12356 2019-11-19  Bruno Haible  <bruno@clisp.org>
12358         threads-h tests: Fix typo.
12359         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
12361 2019-11-19  Bruno Haible  <bruno@clisp.org>
12363         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
12364         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
12365         to 'const pthread_attr_t *'.
12366         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
12367         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
12369 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
12371         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
12372         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
12373         work around GCC bug 91450 as the bug should be fixed there.
12375 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
12377         glob: get closer to glibc glob.c
12378         Omit differences from glibc when the differences don’t matter.
12379         * lib/glob.c [_LIBC]: Include shlib-compat.h.
12380         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
12381         (glob_lstat): New function.
12382         (glob_in_dir): Use it.
12383         (GLOB_ATTRIBUTE): Define to empty if not already defined.
12384         Use changed.
12386 2019-11-18  Bruno Haible  <bruno@clisp.org>
12388         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
12389         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
12390         UINTPTR_MAX): Consider _WIN64.
12391         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
12392         a pointer.
12394 2019-11-18  Bruno Haible  <bruno@clisp.org>
12396         stdint: Fix value of WINT_MAX when we override wint_t.
12397         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
12398         when GNULIB_OVERRIDES_WINT_T is 1.
12400 2019-11-18  Bruno Haible  <bruno@clisp.org>
12402         vcs-to-changelog: New module.
12403         * modules/vcs-to-changelog: New file.
12404         * MODULES.html.sh (func_all_modules): Add it.
12406 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12408         vcs-to-changelog: New script to generate ChangeLog-like output.
12409         Discussion:
12410         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
12411         * build-aux/vcs_to_changelog.py: New file.
12412         * build-aux/vcstocl/frontend_c.py: New file.
12413         * build-aux/vcstocl/misc_util.py: New file.
12414         * build-aux/vcstocl/vcs_git.py: New file.
12416 2019-11-18  Bruno Haible  <bruno@clisp.org>
12418         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
12419         Reported by Keith Marshall <keith@users.osdn.me> in
12420         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
12421         and <https://osdn.net/projects/mingw/ticket/39677>.
12422         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
12423         already been defined by mingw's <crtdefs.h>.
12425 2019-11-18  Bruno Haible  <bruno@clisp.org>
12427         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
12428         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
12429         conditionally enabled.
12431 2019-11-18  Bruno Haible  <bruno@clisp.org>
12433         gc: Mirror libgcrypt.m4 from libgcrypt.
12434         * config/srclistvars.sh (LIBGCRYPT): New variable.
12435         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
12437 2019-11-17  Bruno Haible  <bruno@clisp.org>
12439         locale, localename: Improve z/OS support.
12440         Reported by Daniel Richard G. in
12441         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
12442         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
12443         gl_LOCALE_H.
12444         (gl_LOCALE_H): Require it.
12445         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
12446         defined, don't even check for newlocale, duplocale, freelocale.
12447         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
12448         locale_t is not defined.
12450 2019-11-17  Bruno Haible  <bruno@clisp.org>
12452         havelib: Make libdirstems processing more flexible.
12453         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
12454         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
12455         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
12456         patch from 2017-02-19).
12457         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
12458         libdirs, even when the first one exists as a directory.
12460 2019-11-17  Bruno Haible  <bruno@clisp.org>
12462         havelib: Match the bitness when searching for libraries.
12463         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
12464         acl_is_expected_elfclass.
12465         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
12466         file exists, in ELF, also test whether it has the ELF class that
12467         corresponds to the host's bitness.
12469 2019-11-17  Bruno Haible  <bruno@clisp.org>
12471         host-cpu-c-abi: Add support for unknown CPUs.
12472         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
12473         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
12474         32-bit or 64-bit.
12476 2019-11-17  Bruno Haible  <bruno@clisp.org>
12478         havelib: Remove redundant code.
12479         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
12480         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
12482 2019-11-17  Bruno Haible  <bruno@clisp.org>
12484         havelib: Fix a bug in dependency processing.
12485         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
12486         of .la files, don't overwrite the value of additional_libdir for the
12487         next rounds.
12489 2019-11-16  Bruno Haible  <bruno@clisp.org>
12491         wctype-h: When overriding wint_t, override also the related functions.
12492         Reported by Christian Biesinger <cbiesinger@google.com> in
12493         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
12494         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
12495         REPLACE_ISWCNTRL to 1.
12496         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
12497         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
12498         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
12499         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
12500         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
12501         on mingw.
12502         * doc/posix-headers/wctype.texi: Likewise.
12504 2019-11-16  Bruno Haible  <bruno@clisp.org>
12506         time_r: Fix for mingw.
12507         Reported by Christian Biesinger <cbiesinger@google.com> in
12508         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
12509         * lib/time.in.h: On mingw, include <unistd.h>.
12510         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
12511         <time.h>. Test for localtime_r in a way that works when it is defined
12512         as an inline function.
12514 2019-11-13  Bruno Haible  <bruno@clisp.org>
12516         havelib: Revert last change.
12517         * build-aux/config.rpath: Revert last change. We can add msys2 support
12518         when it has been added to libtool.m4 upstream.
12520 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12522         config: add msys support
12523         Requested by Arnold Robbins in:
12524         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
12525         He also requested a change to config.guess, which I’ll forward
12526         upstream.
12527         * build-aux/ar-lib (func_file_conv):
12528         * build-aux/compile (func_file_conv):
12529         * build-aux/config.rpath (wl, with_gnu_ld)
12530         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
12531         Treat msys like cygwin.
12533 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
12535         regex: now back in sync with glibc
12536         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
12537         regexec.c got merged into glibc and are now copies again.
12539 2019-10-27  Bruno Haible  <bruno@clisp.org>
12541         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
12542         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
12543         statement.
12544         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
12545         32-bit CPUs.
12547 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12549         timespec-add, timespec-sub: simplify
12550         * lib/timespec-add.c (timespec_add):
12551         * lib/timespec-sub.c (timespec_sub):
12552         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12553         work on unsigned integers.
12555 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12557         nstrftime: speed up integer overflow checking
12558         * lib/nstrftime.c: Include intprops.h.
12559         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
12560         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
12561         instead of doing it by hand.
12562         * modules/nstrftime (Depends-on): Add intprops.
12564         Port better to GCC under macOS
12565         Work around macOS header that has ‘#define __has_builtin(x) 0’
12566         when compiled by GCC.  Apple really, really doesn’t want you to
12567         use GCC, apparently.  Rroblem reported by Akim Demaille in:
12568         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
12569         The fix is to not trust __has_builtin when being compiled by
12570         recent-enough GCC.
12571         * lib/intprops.h (__has_builtin)
12572         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12573         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
12574         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
12575         Remove.  All uses removed.
12576         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
12577         directly, if defined and if not newer GCC.
12578         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
12579         New macro, that use __has_builtin directly, if defined and if
12580         not newer GCC.
12581         (assume): Use them.
12583 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
12585         maintainer-makefile: update rule for argmatch.
12586         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
12588 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
12590         bitset: let freeing functions accept NULL.
12591         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
12592         given NULL.
12593         * lib/bitset.h: Document that.
12594         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
12596 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12598         inttypes: use more-robust test for int range
12599         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
12600         Problem reported by Dagobert Michelsen in:
12601         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
12602         * lib/inttypes.in.h: Rely only on limits.h when checking
12603         int range.
12605 2019-10-15  Bruno Haible  <bruno@clisp.org>
12607         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
12608         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
12609         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
12610         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
12611         term_ostream_set_hyperlink): New functions.
12612         (term_styled_ostream_get_hyperlink_ref,
12613         term_styled_ostream_get_hyperlink_id,
12614         term_styled_ostream_set_hyperlink): New function aliases.
12616 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12618         update-copyright: use en dashes in .texi ranges
12619         * build-aux/update-copyright: Match year ranges like "1998--2019",
12620         which are used in the Autoconf manual.  Also, update ranges in
12621         .tex, .texi, and .texinfo files to use en dashes instead of
12622         hyphens.
12624 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12626         * config/srclist.txt: Remove posix/regex_internal.c for now.
12628 2019-10-13  Bruno Haible  <bruno@clisp.org>
12630         git-version-gen: Allow 'snapshot' as .tarball-version contents.
12631         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
12632         contents to the empty string.
12634 2019-10-12  Bruno Haible  <bruno@clisp.org>
12636         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
12637         * tests/test-intprops.c (main): Disable two more tests when using
12638         HP-UX cc.
12640 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12642         Simplify and regularize regex use of ‘assert’
12643         Also, tell GCC about the asserts even when compiling without
12644         debugging, to give it further optimization opportunities.
12645         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
12646         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
12647         (parse_expression, parse_bracket_exp):
12648         * lib/regex_internal.c (build_wcs_buffer)
12649         (build_wcs_upper_buffer, re_string_reconstruct)
12650         (re_string_context_at):
12651         * lib/regexec.c (re_search_stub, re_copy_regs)
12652         (re_search_internal, prune_impossible_nodes, check_matching)
12653         (check_halt_state_context, set_regs, sift_states_backward)
12654         (build_sifted_states, transit_state_mb, transit_state_bkref)
12655         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
12656         (match_ctx_add_subtop):
12657         Use it instead of plain ‘assert’.
12659 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12661         regex: omit debug assignment when not debugging
12662         * lib/regexec.c (re_search_internal) [!DEBUG]:
12663         Remove unnecessary assignment.
12665         regex: tell compiler there’s at most 256 arcs out
12666         Partly this is to help the reader (and maybe help GCC);
12667         partly this is to pacify Coverity.
12668         * lib/regex_internal.h: Include verify.h.
12669         * lib/regexec.c (group_nodes_into_DFAstates):
12670         Tell the compiler that ndests cannot exceed SBC_MAX.
12671         * modules/regex (Depends-on): Add ‘verify’.
12673         regex: simplify by assuming C99
12674         * config/srclist.txt: Comment out regex_internal.h and regexec.c
12675         temporarily.
12676         * lib/regex_internal.h (lock_define, re_match_context_t):
12677         Simplify by assuming C99 macros and const.
12678         * lib/regexec.c (re_search_internal): Simplify by assuming C99
12679         initializers.  Remove unnecessary assignment, as mctx is now
12680         safely initialized earlier.
12682         regex: avoid copying of uninitialized storage
12683         * config/srclist.txt: Comment out regcomp.c temporarily.
12684         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
12685         Initialize even when not checking for lint, as the behavior is
12686         arguably undefined otherwise and Coverity warns about it.
12688 2019-10-06  Bruno Haible  <bruno@clisp.org>
12690         access tests: Fix test failure when run as root.
12691         * tests/test-access.c: Include root-uid.h.
12692         (geteuid): Define fallback.
12693         (main): Don't expect that writing to a read-only file would fail when
12694         running as root. Also, remove the created files at the end.
12695         * modules/access-tests (Depends-on): Add root-uid.
12696         (configure.ac): Test whether geteuid exists.
12698 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
12700         users.txt: add GNU nano
12701         Nano has been making use of gnulib since March 2017, version 2.8.0.
12703 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12705         bootstrap: simplify debugging of wget failures
12706         Problem reported by Tim Rühsen in:
12707         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
12708         * build-aux/bootstrap (po_download_command_format):
12709         Invoke wget with -nv instead of -q, to make debugging easier.
12711 2019-09-29  Bruno Haible  <bruno@clisp.org>
12713         avltree-list: Fix compilation warning (introduced on 2014-09-16).
12714         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
12715         'const' attribute.
12717 2019-09-29  Bruno Haible  <bruno@clisp.org>
12719         fbufmode: Fix compilation error on glibc >= 2.28 systems.
12720         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
12722 2019-09-28  Bruno Haible  <bruno@clisp.org>
12724         Update comments that refer to POSIX.
12725         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
12726         sentence about trailing slashes.
12727         * lib/fflush.c: Clarify the reasoning.
12728         * tests/test-fflush2.c: Cite the relevant sentence.
12730 2019-09-28  Bruno Haible  <bruno@clisp.org>
12732         access: Document limitations on Windows.
12733         Suggested by Zaretskii <eliz@gnu.org>.
12734         * doc/posix-functions/access.texi: Mention two limitations on Windows.
12736 2019-09-28  Bruno Haible  <bruno@clisp.org>
12738         findprog-in: Fix comment.
12739         Reported by Eli Zaretskii <eliz@gnu.org>.
12740         * lib/findprog.h (find_in_given_path): Extend description of EACCES
12741         condition.
12742         * lib/stat.c (rpl_stat): Fix typo in comment.
12743         * lib/utime.c (_gl_utimens_windows): Likewise.
12745 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12747         Update URLs and associated text
12748         (Thanks to Bruno Haible for proofreading this patch.)
12749         Prefer https: to http: in URLs where either will do, for the usual
12750         security reasons.  I also updated broken and/or moved URLs
12751         discovered during the process. In a few places I had to resort to
12752         archive.org, since I didn't find the originals elsewhere.
12754 2019-09-15  Paul Smith  <psmith@gnu.org>
12755             Bruno Haible  <bruno@clisp.org>
12757         findprog-in: Set errno when the search fails.
12758         * lib/findprog-in.c: Include <errno.h>.
12759         (find_in_given_path): Set errno before returning NULL.
12760         * lib/findprog.h (find_in_given_path): Update comment accordingly.
12761         Define the term "slash".
12763 2019-09-15  Bruno Haible  <bruno@clisp.org>
12765         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
12766         * modules/findprog (Depends-on): Add access.
12767         * modules/findprog-lgpl (Depends-on): Likewise.
12768         * modules/findprog-in (Depends-on): Likewise.
12770 2019-09-15  Bruno Haible  <bruno@clisp.org>
12772         access: Add tests.
12773         * tests/test-access.c: New file.
12774         * modules/access-tests: New file.
12776         access: New module.
12777         * lib/unistd.in.h (access): New declaration.
12778         * lib/access.c: New file.
12779         * m4/access.m4: New file.
12780         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
12781         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
12782         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
12783         REPLACE_ACCESS.
12784         * modules/access: New file.
12785         * tests/test-unistd-c++.cc (access): Check signature.
12786         * doc/posix-functions/access.texi: Mention the new module.
12788 2019-09-15  Bruno Haible  <bruno@clisp.org>
12790         fcntl-h: Fix compilation error of creat.c on MSVC.
12791         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
12792         defined.
12794 2019-09-15  Bruno Haible  <bruno@clisp.org>
12796         creat: Add tests.
12797         * tests/test-creat.c: New file, based on tests/test-open.h.
12798         * modules/creat-tests: New file.
12800         creat: New module.
12801         * lib/fcntl.in.h (creat): New declaration.
12802         * lib/creat.c: New file, based on lib/open.c.
12803         * m4/creat.m4: New file.
12804         * m4/open-slash.m4: New file, extracted from m4/open.m4.
12805         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
12806         Invoke gl_OPEN_TRAILING_SLASH_BUG.
12807         * modules/open (Files): Add m4/open-slash.m4.
12808         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
12809         REPLACE_CREAT.
12810         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
12811         * modules/creat: New file.
12812         * tests/test-fcntl-h-c++.cc (creat): Check signature.
12813         * doc/posix-functions/creat.texi: Mention the new module.
12815 2019-09-15  Bruno Haible  <bruno@clisp.org>
12817         open tests: Enhance test.
12818         * tests/test-open.h (test_open): Test the creation of an executable
12819         regular file. Also improve initial cleanup.
12821 2019-09-15  Bruno Haible  <bruno@clisp.org>
12823         intprops tests: Avoid build failure with HP-UX cc.
12824         * tests/test-intprops.c: Disable a check that makes HP cc choke with
12825         "error 4018: Macro param too large after substitution - use -H option.".
12827 2019-09-14  Bruno Haible  <bruno@clisp.org>
12829         Make autoconf tests work with -Werror=implicit-function-declaration.
12830         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
12831         towupper() declaration.
12832         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
12833         declaration.
12835 2019-09-14  Bruno Haible  <bruno@clisp.org>
12837         findprog-in: Better mimic the system on native Windows.
12838         Reported by Paul Smith <psmith@gnu.org>.
12839         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
12840         non-empty suffixes when the file name already contains a '.'.
12842 2019-09-10  Bruno Haible  <bruno@clisp.org>
12844         wctob: Fix autoconf test.
12845         Based on patch by Florian Weimer <fweimer@redhat.com>.
12846         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
12848 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
12850         xhash: provide hash_xinitialize.
12851         Suggested by Egor Pugin <egor.pugin@gmail.com>
12852         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
12853         * modules/xhash, lib/xhash.c: New.
12854         * lib/hash.h (hash_xinitialize): New.
12856 2019-09-09  Bruno Haible  <bruno@clisp.org>
12858         findprog-in: Make exec optimization optional.
12859         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
12860         (find_in_given_path): Add optimize_for_exec parameter.
12861         * lib/findprog-in.c (find_in_given_path): Likewise.
12863 2019-09-08  Bruno Haible  <bruno@clisp.org>
12865         Add option to assume the best, not the worst, when cross-compiling.
12866         Suggested by Jonas Termansen <sortie@maxsi.org>.
12867         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
12868         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
12869         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
12870         lt_cv_sys_argz_works.
12871         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
12872         ac_cv_func_calloc_0_nonnull.
12873         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
12874         --enable-cross-guesses for gl_cv_func_realpath_works.
12875         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
12876         gl_cv_func_cbrtl_ieee.
12877         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
12878         gl_cv_func_ceil_ieee.
12879         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
12880         gl_cv_func_ceilf_ieee.
12881         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
12882         gl_cv_func_ceill_ieee.
12883         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
12884         ac_cv_func_chown_works.
12885         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
12886         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
12887         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
12888         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
12889         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
12890         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
12891         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
12892         gl_cv_func_expl_works.
12893         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
12894         gl_cv_func_expm1_ieee.
12895         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
12896         gl_cv_func_expm1l_works.
12897         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
12898         gl_cv_func_open_directory_works.
12899         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
12900         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
12901         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
12902         gl_cv_func_fchownat_empty_filename_works.
12903         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
12904         gl_cv_func_fdopendir_works.
12905         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
12906         gl_cv_func_floor_ieee.
12907         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
12908         gl_cv_func_floorf_ieee.
12909         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
12910         gl_cv_func_fma_works.
12911         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
12912         gl_cv_func_fmaf_works.
12913         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
12914         gl_cv_func_fmal_works.
12915         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
12916         gl_cv_func_fmod_ieee.
12917         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
12918         gl_cv_func_fmodf_ieee.
12919         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
12920         gl_cv_func_fmodl_ieee.
12921         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
12922         gl_cv_func_fpurge_works.
12923         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
12924         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
12925         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
12926         gl_cv_func_getcwd_null.
12927         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
12928         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
12929         gl_cv_func_working_getdelim.
12930         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12931         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
12932         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12933         gl_cv_func_getgroups_works.
12934         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
12935         am_cv_func_working_getline.
12936         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
12937         for gl_cv_func_getopt_gnu.
12938         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
12939         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
12940         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
12941         gl_cv_func_hypot_ieee.
12942         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
12943         gl_cv_func_hypotf_ieee.
12944         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
12945         gl_cv_func_hypotl_ieee.
12946         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
12947         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
12948         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
12949         gl_cv_func_link_works.
12950         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
12951         gl_cv_func_linkat_slash.
12952         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
12953         gl_cv_func_log_ieee.
12954         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
12955         gl_cv_func_logf_ieee.
12956         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
12957         gl_cv_func_logl_works.
12958         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
12959         gl_cv_func_log10_ieee.
12960         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
12961         gl_cv_func_log10f_ieee.
12962         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
12963         gl_cv_func_log10l_works.
12964         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
12965         gl_cv_func_log1p_ieee.
12966         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
12967         gl_cv_func_log1pf_ieee.
12968         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
12969         gl_cv_func_log1pl_ieee.
12970         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
12971         gl_cv_func_log2_ieee.
12972         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
12973         gl_cv_func_log2f_ieee.
12974         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
12975         --enable-cross-guesses for
12976         gl_cv_func_lstat_dereferences_slashed_symlink.
12977         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
12978         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12979         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
12980         gl_cv_C_locale_sans_EILSEQ.
12981         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
12982         gl_cv_func_memchr_works.
12983         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
12984         gl_cv_func_memmem_works_always.
12985         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
12986         gl_cv_func_memmem_works_fast.
12987         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
12988         gl_cv_func_mkdir_trailing_slash_works,
12989         gl_cv_func_mkdir_trailing_dot_works.
12990         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
12991         gl_cv_func_mkfifo_works.
12992         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
12993         gl_cv_func_mknod_works.
12994         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
12995         gl_cv_func_working_mkstemp.
12996         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
12997         gl_cv_func_working_mktime.
12998         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
12999         gl_cv_func_modf_ieee.
13000         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
13001         gl_cv_func_modff_ieee.
13002         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
13003         gl_cv_func_modfl_ieee.
13004         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
13005         gl_cv_func_nanosleep.
13006         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
13007         gl_cv_func_perror_works.
13008         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
13009         gl_cv_func_printf_sizes_c99.
13010         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
13011         gl_cv_func_printf_infinite.
13012         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
13013         gl_cv_func_printf_infinite_long_double.
13014         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
13015         gl_cv_func_printf_directive_a.
13016         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
13017         gl_cv_func_printf_directive_f.
13018         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
13019         gl_cv_func_printf_flag_zero.
13020         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
13021         gl_cv_func_printf_enomem.
13022         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
13023         gl_cv_func_snprintf_truncation_c99.
13024         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
13025         gl_cv_func_snprintf_retval_c99.
13026         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
13027         gl_cv_func_snprintf_directive_n.
13028         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
13029         gl_cv_func_vsnprintf_zerosize_c99.
13030         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
13031         gl_cv_func_pselect_detects_ebadf.
13032         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
13033         Obey --enable-cross-guesses for
13034         gl_cv_pthread_rwlock_rdlock_prefer_writer.
13035         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
13036         gl_cv_func_ptsname_sets_errno.
13037         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
13038         gl_cv_func_svid_putenv.
13039         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
13040         gl_cv_func_readlink_works.
13041         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
13042         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
13043         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
13044         gl_cv_func_re_compile_pattern_working.
13045         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
13046         gl_cv_func_remainder_ieee.
13047         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
13048         gl_cv_func_remainderf_ieee.
13049         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
13050         gl_cv_func_remainderl_ieee.
13051         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
13052         gl_cv_func_rintl_works.
13053         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
13054         gl_cv_func_rmdir_works.
13055         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
13056         gl_cv_func_round_ieee.
13057         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
13058         gl_cv_func_roundf_ieee.
13059         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
13060         gl_cv_func_roundl_ieee.
13061         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
13062         gl_cv_func_select_detects_ebadf.
13063         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
13064         gl_cv_func_setenv_works.
13065         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
13066         gl_cv_func_unsetenv_works.
13067         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
13068         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
13069         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
13070         gl_cv_func_sleep_works.
13071         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
13072         gl_cv_func_stat_file_slash.
13073         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
13074         gl_cv_func_stpncpy.
13075         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
13076         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
13077         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
13078         gl_cv_func_strcasestr_linear.
13079         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
13080         gl_cv_func_working_strerror.
13081         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
13082         gl_cv_func_strerror_0_works.
13083         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
13084         --enable-cross-guesses for gl_cv_func_strerror_r_works.
13085         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
13086         gl_cv_func_strstr_works_always.
13087         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
13088         gl_cv_func_strstr_linear.
13089         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
13090         gl_cv_func_strtod_works.
13091         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
13092         gl_cv_func_strtold_works.
13093         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
13094         gl_cv_func_symlink_works.
13095         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
13096         gl_cv_func_symlinkat_works.
13097         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
13098         gl_cv_func_trunc_ieee.
13099         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
13100         gl_cv_func_truncf_ieee.
13101         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
13102         gl_cv_func_truncl_ieee.
13103         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
13104         gl_cv_func_tzset_clobber.
13105         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
13106         gl_cv_func_ungetc_works.
13107         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
13108         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
13109         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
13110         gl_cv_func_usleep_works.
13111         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
13112         gl_cv_func_futimesat_works.
13113         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
13114         gl_cv_func_working_utimes.
13115         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
13116         gl_cv_func_wcwidth_works.
13117         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
13118         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
13119         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
13120         links for testing. Obey --enable-cross-guesses for
13121         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
13122         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
13124 2019-09-08  Bruno Haible  <bruno@clisp.org>
13126         Clarify that cross-compilation guesses are guesses.
13127         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
13128         cross-compiling.
13130 2019-09-08  Bruno Haible  <bruno@clisp.org>
13132         chown: Fix configure output (regression from 2019-03-23).
13133         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
13134         gl_cv_func_chown_follows_symlink variable.
13136 2019-09-08  Bruno Haible  <bruno@clisp.org>
13138         findprog-in: New module.
13139         Suggested by Paul Smith <psmith@gnu.org>.
13140         * lib/findprog.h (find_in_given_path): New declaration.
13141         * lib/findprog-in.c: New file, based on lib/findprog.c.
13142         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
13143         * modules/findprog-in: New file.
13145 2019-09-08  Bruno Haible  <bruno@clisp.org>
13147         findprog: Remove unused dependency.
13148         * modules/findprog (Depends-on): Remove strdup.
13150 2019-09-08  Bruno Haible  <bruno@clisp.org>
13152         findprog: Remove test that is obsolete since 2006-04-24.
13153         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
13155 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
13157         bitset: style changes
13158         * lib/bitset/vector.c (vbitset_resize): Factor computation.
13159         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
13160         xzalloc to xcalloc.
13161         Suggested by Paul Eggert.
13163 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
13165         bitset: check memory allocation
13166         Reported by 江 祖铭 (Zu-Ming Jiang).
13167         With help from Paul Eggert.
13168         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
13169         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
13170         instead of realloc.
13171         When shrinking, accept failures.
13172         * lib/bitset/vector.c (vbitset_resize): Likewise.
13174 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
13176         scratch_buffer: sync from glibc
13177         * config/srclist.txt: Add the scratch_buffer source
13178         code from glibc, since these should be in sync.
13179         Autoupdate.
13181 2019-09-07  Bruno Haible  <bruno@clisp.org>
13183         doc: Update for glibc 2.30.
13184         * doc/glibc-functions/gettid.texi: New file.
13185         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
13186         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
13187         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
13188         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
13189         * doc/glibc-functions/sem_clockwait.texi: New file.
13190         * doc/glibc-functions/tgkill.texi: New file.
13191         * doc/glibc-functions/twalk_r.texi: New file.
13192         * doc/gnulib.texi: Include them.
13193         (Glibc semaphore.h): New section.
13194         * doc/pastposix-functions/h_errno.texi: Update.
13195         * doc/posix-functions/*.texi: Likewise.
13197 2019-09-06  Bruno Haible  <bruno@clisp.org>
13199         symlink tests: Avoid test failure on Linux with Lustre file system.
13200         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
13201         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
13202         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
13204 2019-09-01  Bruno Haible  <bruno@clisp.org>
13206         gitsub.sh: Add support for shallow-cloning of subdirectories.
13207         * top/gitsub.sh (func_usage): Document allowed git options with
13208         'git pull'.
13209         (func_pull): Accept GIT_OPTIONS argument.
13210         (pull): Parse git options before complaining about too many arguments.
13211         Pass the git options to func_pull.
13213 2019-08-29  Bruno Haible  <bruno@clisp.org>
13215         lock: Fix cross-compilation guesses.
13216         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
13217         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
13218         platforms.
13220 2019-08-28  Bruno Haible  <bruno@clisp.org>
13222         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
13223         Reported by Martin Storsjö <martin@martin.st> in
13224         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
13225         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
13226         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
13227         files from GCC 6 or newer, use an override through '#define', because
13228         the inline definitions in the platform's <cmath> cannot be overridden
13229         in another way.
13231 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13233         Revert macOS INT_MULTIPLY_WRAPV patch
13234         Problem reported by Bruno Haible in:
13235         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
13236         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
13237         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
13238         Go back to working around the Clang bug on macOS.
13240 2019-08-27  Bruno Haible  <bruno@clisp.org>
13242         libtool-next-version: Fix error output.
13243         * build-aux/libtool-next-version (func_fatal_error): Fix the program
13244         name.
13246 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13248         Speed up INT_MULTIPLY_WRAPV on macOS
13249         Assume that __builtin_mul_overflow works OK with Clang on macOS.
13250         Mattias Engdegård says it’s safe to assume the relevant library
13251         is always available there.
13252         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
13253         New temporary internal macro.
13254         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
13255         No need to work around the Clang bug on macOS.
13257 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13259         intprops.h, verify.h: port better to clang
13260         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
13261         with Clang.  Problem reported privately by Mattias Engdegård.
13262         Also, insulate intprops.h and verify.h better against each other’s
13263         definitions of __has_builtin on non-Clang hosts.
13264         * lib/intprops.h (__has_builtin): Define a temporary substitute
13265         if __has_builtin is not already defined.
13266         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
13267         New temporary internal macros.
13268         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
13269         Now two separate macros, replacing the old
13270         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
13271         __builtin_mul_overflow is like the rest.  All uses changed.
13272         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
13273         Adjust to above changes.
13274         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
13275         longer relevant.  All uses changed.
13276         * lib/verify.h (__has_builtin): Treat like intprops.h,
13277         so that the two .h files do not collide with each other.
13278         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
13279         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
13281 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13283         intprops: say why not Clang __builtin_add_overflow
13284         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
13285         Mention Clang in comment, responding to a query from
13286         Mattias Engdegård.
13288 2019-08-24  Bruno Haible  <bruno@clisp.org>
13290         doc: Document most of the files outside of modules.
13291         * doc/gnulib.texi (Build Infrastructure Files,
13292         Release Management Files): New chapters.
13294 2019-08-24  Bruno Haible  <bruno@clisp.org>
13296         bootstrap: Keep in sync with the 'gettext' module.
13297         Reported by Assaf Gordon in
13298         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
13299         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
13300         * build-aux/po/remove-potcdate.sin: Likewise.
13302 2019-08-24  Bruno Haible  <bruno@clisp.org>
13304         crypto/gc-sha512: Add tests.
13305         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
13306         * modules/crypto/gc-sha512-tests: New file.
13308         crypto/gc-sha256: Add tests.
13309         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
13310         * modules/crypto/gc-sha256-tests: New file.
13312         crypto/gc-sha256, crypto/gc-sha512: New modules.
13313         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
13314         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
13315         (MAX_DIGEST_SIZE): Set to 64.
13316         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
13317         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
13318         (gc_sha256, gc_sha512): New functions.
13319         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
13320         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
13321         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
13323 2019-08-24  Bruno Haible  <bruno@clisp.org>
13325         crypto/gc-sha1 tests: Improve output when the test fails.
13326         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
13327         output.
13329 2019-08-24  Bruno Haible  <bruno@clisp.org>
13331         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
13332         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
13333         LIBGCRYPT_HAS_MD_SM3.
13334         * lib/gc-libgcrypt.c: Include sm3.h.
13335         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
13336         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
13337         implementation if libgcrypt does not support SM3.
13339 2019-08-24  Bruno Haible  <bruno@clisp.org>
13341         crypto/gc-md2: Optimize and clarify code.
13342         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
13343         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
13344         is not needed.
13346 2019-08-24  Bruno Haible  <bruno@clisp.org>
13348         crypto/gc-md2: Add comment.
13349         * lib/gc-libgcrypt.c: Add comment.
13351 2019-08-24  Bruno Haible  <bruno@clisp.org>
13353         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
13354         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
13355         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
13356         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
13357         variable.
13359 2019-08-24  Bruno Haible  <bruno@clisp.org>
13361         crypto/gc: Fix link error with --with-libgcrypt.
13362         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
13363         AC_LIB_HAVE_LINKFLAGS invocation.
13365 2019-08-24  Bruno Haible  <bruno@clisp.org>
13367         crypto/gc: Access the module indicators correctly.
13368         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
13369         * lib/gc-libgcrypt.c: Likewise.
13371 2019-08-24  Bruno Haible  <bruno@clisp.org>
13373         crypto/gc: Fix configuration with --with-libgcrypt.
13374         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
13375         * modules/crypto/gc (Files): Add it.
13376         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
13378 2019-08-24  Bruno Haible  <bruno@clisp.org>
13380         Remove unused file.
13381         * m4/stat-macros.m4: Remove file.
13383 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
13385         New strip-trailing-space option for srclist-update
13386         * config/srclist-update (fixfile): Support new option.
13387         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
13388         Use it.
13390 2019-08-20  Eric Blake  <eblake@redhat.com>
13392         accept4: Support SOCK_NONBLOCK, if defined
13393         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
13395         accept4: Fix compilation when native accept4() exists.
13396         Reported by Richard W.M. Jones <rjones@redhat.com> in
13397         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
13398         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
13400 2019-08-18  Bruno Haible  <bruno@clisp.org>
13402         Defeat -flto GCC optimization in math autoconf tests.
13403         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
13404         at <https://savannah.gnu.org/bugs/?56109>.
13405         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
13406         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
13407         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13408         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13409         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13410         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
13411         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13412         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
13413         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
13414         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13415         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13416         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13418 2019-08-17  Bruno Haible  <bruno@clisp.org>
13420         windows-spin: Implement declared functions.
13421         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
13422         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
13423         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
13424         name.
13426 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13428         intprops: port to Oracle Developer Studio 12.6
13429         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
13430         typos that were in a section not compiled by GCC.
13432 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
13434         intprops: support uchar, ushort _WRAPV dests
13435         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
13436         when __builtin_add_overflow etc. and _Generic are not used.
13437         (_GL_INT_OP_WRAPV): Use it to support destinations that
13438         are unsigned char or unsigned short, even in compilers
13439         that lack __typeof__ and are not C11-compatible.
13441         intprops: pacify picky GCC
13442         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
13443         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
13444         possibly-incorrect result.
13445         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
13446         about (A) used as a boolean, when A is an expression like 3 * 4.
13448         intprops: support unsigned *_WRAPV results
13449         Add support for unsigned, unsigned long, and unsigned long long
13450         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
13451         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
13452         bug with unsigned inputs reported by Eli Zaretskii in:
13453         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
13454         * config/srclist.txt: Break the glibc connection for intprops.h
13455         temporarily, while more testing is done in Gnulib-using apps.
13456         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
13457         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
13458         Support unsigned results no narrower than unsigned int.  Report
13459         overflow correctly if some arguments are unsigned.
13460         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
13461         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
13462         the right thing with narrow args.
13463         (_GL_INT_OP_CALC1): Remove.  All callers removed.
13464         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
13465         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
13466         * tests/test-intprops.c: Check for bugs and test new behavior.
13468 2019-08-14  Bruno Haible  <bruno@clisp.org>
13470         get_progname_of: New module.
13471         * lib/get_progname_of.h: New file.
13472         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
13473         * lib/getprogname.c (getprogname): Tweak coding style.
13474         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
13475         * modules/get_progname_of: New file.
13477 2019-08-14  Bruno Haible  <bruno@clisp.org>
13479         get_ppid_of: New module.
13480         * lib/get_ppid_of.h: New file.
13481         * lib/get_ppid_of.c: New file.
13482         * modules/get_ppid_of: New file.
13484 2019-08-13  Bruno Haible  <bruno@clisp.org>
13486         libtextstyle-optional tests: Support the NO_COLOR environment variable.
13487         * tests/test-libtextstyle.c (main): Do not emit styling when the
13488         environment variable NO_COLOR is set.
13490 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13492         verify: improve diagnostic quality in recent GCC
13493         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
13494         useful line number containing the top-level caller of the macro.
13495         So, bring back the older way of issuing a diagnostic containing
13496         the top-level call’s arg, so that it is easier to diagnose
13497         ‘verify’ failures with recent GCC.
13498         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
13499         Bring back DIAGNOSTIC arg.  All callers changed.
13500         (verify): Just use _GL_VERIFY.
13502 2019-08-11  Bruno Haible  <bruno@clisp.org>
13504         localcharset: Add more aliases for OS/2.
13505         Based on patch by KO Myung-Hun <komh78@gmail.com> in
13506         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
13507         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
13509 2019-08-10  Eric Blake  <eblake@redhat.com>
13511         configmake: Update advice on usage.
13512         * modules/configmake (Include): No longer necessary to include
13513         last, since configmake.h itself worries about collision avoidance.
13515 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
13517         parse-datetime: fix 'T' military timezone handling
13518         * lib/parse-datetime.y (zone):
13519         follow-up to the previous commit: the 'T' case is handled outside the
13520         conversion table (used as either military timezone UTC-7 or ISO8601
13521         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
13522         timezone letters.
13524 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13526         parse-datetime: fix military timezone letters
13527         Problem and trivial fix reported by Neil Hoggarth in:
13528         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
13529         * lib/parse-datetime.y (military_table):
13530         Do it the right way, not the RFC 822 way.
13532 2019-08-08  Eric Blake  <eblake@redhat.com>
13534         configmake: Avoid namespace pollution issue on mingw.
13535         * modules/configmake (Makefile.am): If the project uses
13536         <winsock2.h>, include that header before defining DATADIR.
13538 2019-07-28  Bruno Haible  <bruno@clisp.org>
13540         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
13541         * tests/test-mbrtowc.c (main): Fix expected value of wc.
13543 2019-07-24  Bruno Haible  <bruno@clisp.org>
13545         pthread-h: Fix definitions of types and macros on mingw.
13546         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
13547         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
13548         not in use.
13549         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
13550         'pthread-once' is not in use.
13551         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
13552         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
13553         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
13554         in use.
13555         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
13556         Define also when module 'pthread-rwlock' is not in use.
13557         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
13558         also when module 'pthread-cond' is not in use.
13559         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
13560         'pthread-tss' is not in use.
13561         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
13562         use.
13564 2019-07-24  Simon Josefsson  <simon@josefsson.org>
13566         crypto/gc: Cope with libgcrypt without SM3.
13567         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
13569 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13571         backupfile: fix resource leak on memory failure
13572         Problem found by Coverity (CID 1484214).
13573         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
13575 2019-07-22  Bruno Haible  <bruno@clisp.org>
13577         Avoid missing-declarations warning in various tests.
13578         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
13579         test6, test_optional, test7, test8, test9, test10, test11, test12,
13580         test13, test14, test15, test_fun): Declare static.
13581         * tests/test-cnd.c (test_cnd_wait): Likewise.
13582         * tests/test-cond.c (test_cond): Likewise.
13584 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
13586         pthread tests: Avoid missing-declarations warning.
13587         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
13589 2019-07-19  Bruno Haible  <bruno@clisp.org>
13591         parse-datetime: Avoid warnings from bison versions >= 3.3.
13592         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
13593         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
13595 2019-07-19  Bruno Haible  <bruno@clisp.org>
13597         parse-datetime: Require Bison 2.4 or newer.
13598         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
13599         Code taken from gettext's intl.m4.
13600         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
13601         of YACC.
13603 2019-07-19  Bruno Haible  <bruno@clisp.org>
13605         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
13606         * lib/areadlink-with-size.c: Include <string.h>.
13607         * lib/areadlinkat-with-size.c: Likewise.
13608         * lib/xgethostname.c: Likewise.
13609         * lib/xgetdomainname.c: Likewise.
13611 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
13613         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
13614         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
13615         "%pure-parser".  The former is available since Bison 2.3b (2008),
13616         while the latter is marked as obsolete since version 3.4 (May 2019).
13618 2019-07-16  Bruno Haible  <bruno@clisp.org>
13620         update-copyright: Make it work again (regression from 2019-06-15).
13621         Reported by Brian C. Lane <bcl@redhat.com>.
13622         * build-aux/update-copyright: Add back the -0777, -p, -i options.
13624 2019-07-14  Bruno Haible  <bruno@clisp.org>
13626         doc: Update info about <pthread.h>.
13627         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
13628         of 'pthread'.
13630 2019-07-14  Bruno Haible  <bruno@clisp.org>
13632         pthread_sigmask tests: Use new multithread modules.
13633         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
13634         glthread/thread.h.
13635         (main_thread, killer_thread): Change type to pthread_t.
13636         (main): Update accordingly.
13637         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
13638         thread.
13640 2019-07-14  Bruno Haible  <bruno@clisp.org>
13642         pthread-tss: Add tests.
13643         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
13644         tests/test-tss.c.
13645         * modules/pthread-tss-tests: New file.
13647 2019-07-14  Bruno Haible  <bruno@clisp.org>
13649         pthread-cond: Add tests.
13650         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
13651         tests/test-cnd.c.
13652         * modules/pthread-cond-tests: New file.
13654 2019-07-14  Bruno Haible  <bruno@clisp.org>
13656         pthread-rwlock: Add tests.
13657         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
13658         * modules/pthread-rwlock-tests: New file.
13660 2019-07-14  Bruno Haible  <bruno@clisp.org>
13662         pthread-mutex: Add tests.
13663         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
13664         tests/test-mtx.c.
13665         * modules/pthread-mutex-tests: New file.
13667 2019-07-14  Bruno Haible  <bruno@clisp.org>
13669         pthread-once: Add tests.
13670         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
13671         tests/test-call_once.c.
13672         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
13673         tests/test-mtx.c.
13674         * modules/pthread-once-tests: New file.
13676 2019-07-14  Bruno Haible  <bruno@clisp.org>
13678         pthread-thread: Add tests.
13679         * tests/test-pthread-thread.c: New file, based on
13680         tests/test-thread_create.c and tests/test-thrd_create.c.
13681         * modules/pthread-thread-tests: New file.
13683 2019-07-14  Bruno Haible  <bruno@clisp.org>
13685         pthread: Turn into a convenience module.
13686         * lib/pthread.in.h: Remove declarations for extern inline functions.
13687         * lib/pthread.c: Remove file.
13688         * modules/pthread (Files): Remove it.
13689         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
13690         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
13691         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
13692         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
13693         GNULIB_PTHREAD.
13694         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
13696 2019-07-14  Bruno Haible  <bruno@clisp.org>
13698         pthread-spin: New module.
13699         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
13700         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
13701         inline definitions.
13702         * lib/pthread-spin.c: New file.
13703         * m4/pthread-spin.m4: New file.
13704         * modules/pthread-spin: New file.
13705         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
13706         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
13707         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
13708         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
13709         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
13711 2019-07-14  Bruno Haible  <bruno@clisp.org>
13713         pthread-tss: New module.
13714         * lib/pthread-tss.c: New file.
13715         * m4/pthread-tss.m4: New file.
13716         * modules/pthread-tss: New file.
13717         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
13718         * doc/posix-functions/pthread_setspecific.texi: Likewise.
13719         * doc/posix-functions/pthread_getspecific.texi: Likewise.
13720         * doc/posix-functions/pthread_key_delete.texi: Likewise.
13722 2019-07-14  Bruno Haible  <bruno@clisp.org>
13724         pthread-cond: New module.
13725         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
13726         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
13727         * lib/pthread-cond.c: New file.
13728         * m4/pthread-cond.m4: New file.
13729         * modules/pthread-cond: New file.
13730         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
13731         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
13732         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
13733         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
13734         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
13735         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
13736         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
13737         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
13739 2019-07-14  Bruno Haible  <bruno@clisp.org>
13741         pthread-rwlock: New module.
13742         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
13743         * m4/pthread-rwlock.m4: New file.
13744         * modules/pthread-rwlock: New file.
13745         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
13746         and the Android problem.
13747         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
13748         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
13749         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
13750         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
13751         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
13752         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
13753         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
13754         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
13755         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
13756         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
13758 2019-07-14  Bruno Haible  <bruno@clisp.org>
13760         pthread-mutex: New module.
13761         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
13762         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
13763         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
13764         pthread_mutex_unlock): Remove inline definitions.
13765         * lib/pthread-mutex.c: New file.
13766         * m4/pthread-mutex.m4: New file.
13767         * modules/pthread-mutex: New file.
13768         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
13769         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
13770         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
13771         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
13772         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
13773         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
13774         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
13775         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
13776         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
13777         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
13778         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
13779         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
13781 2019-07-14  Bruno Haible  <bruno@clisp.org>
13783         pthread-once: New module.
13784         * lib/pthread-once.c: New file.
13785         * m4/pthread-once.m4: New file.
13786         * modules/pthread-once: New file.
13787         * doc/posix-functions/pthread_once.texi: Mention the new module.
13789 2019-07-14  Bruno Haible  <bruno@clisp.org>
13791         pthread-thread: New module.
13792         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
13793         inline definitions.
13794         * lib/pthread-thread.c: New file.
13795         * m4/pthread-thread.m4: New file.
13796         * modules/pthread-thread: New file.
13797         * doc/posix-functions/pthread_create.texi: Mention the new module.
13798         * doc/posix-functions/pthread_attr_init.texi: Likewise.
13799         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
13800         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
13801         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
13802         * doc/posix-functions/pthread_self.texi: Likewise.
13803         * doc/posix-functions/pthread_equal.texi: Likewise.
13804         * doc/posix-functions/pthread_detach.texi: Likewise.
13805         * doc/posix-functions/pthread_join.texi: Likewise.
13806         * doc/posix-functions/pthread_exit.texi: Likewise.
13808 2019-07-14  Bruno Haible  <bruno@clisp.org>
13810         pthread-h: Prepare for adding new modules.
13811         * lib/pthread.in.h: Define the types and macros for each of the
13812         facilities separately.
13813         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
13814         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13815         HAVE_PTHREAD_PROCESS_SHARED.
13816         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
13817         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13818         HAVE_PTHREAD_PROCESS_SHARED.
13819         * modules/pthread-h (Makefile.am): Substitute
13820         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
13821         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
13823 2019-07-14  Bruno Haible  <bruno@clisp.org>
13825         pthread-h: Add declarations of essential pthread functions.
13826         * lib/pthread.in.h: Include snippets.
13827         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
13828         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
13829         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
13830         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
13831         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
13832         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
13833         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
13834         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
13835         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
13836         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
13837         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
13838         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
13839         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
13840         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
13841         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
13842         pthread_key_create, pthread_setspecific, pthread_getspecific,
13843         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
13844         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
13845         declarations.
13846         (pthread_mutex_timedlock): Move declaration.
13847         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
13848         declared.
13849         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
13850         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
13851         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
13852         HAVE_* and REPLACE_* variables for the new functions.
13853         * modules/pthread-h (Depends-on): Add snippet/c++defs,
13854         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
13855         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
13856         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
13857         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
13858         variables for the new functions. Split the sed script, to avoid the
13859         limit of 99 commands of HP-UX sed.
13860         * tests/test-pthread-c++.cc: Check the signature of the new functions.
13862 2019-07-14  Bruno Haible  <bruno@clisp.org>
13864         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
13865         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
13866         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
13867         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
13868         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
13869         * modules/pthread-h (Depends-on): Add threadlib.
13870         (Link): Change to $(LIBTHREAD).
13871         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
13872         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
13874 2019-07-14  Bruno Haible  <bruno@clisp.org>
13876         pthread-h: Add C++ tests.
13877         * tests/test-pthread-c++.cc: New file.
13878         * modules/pthread-h-c++-tests: New file.
13880 2019-07-14  Bruno Haible  <bruno@clisp.org>
13882         pthread-h: Add tests.
13883         * tests/test-pthread.c: New file.
13884         * modules/pthread-h-tests: New file.
13886 2019-07-14  Bruno Haible  <bruno@clisp.org>
13888         pthread-h: New module.
13889         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
13890         is 1.
13891         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
13892         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
13893         <pthread.h> pollutes the namespace; instead, prepare for generating a
13894         pthread.h always. Substitute HAVE_PTHREAD_H here.
13895         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
13896         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
13897         * modules/pthread-h: New file, based on modules/pthread.
13898         * modules/pthread: Rely on 'pthread-h'.
13899         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
13900         Update.
13901         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
13902         pthread.
13904 2019-07-14  Bruno Haible  <bruno@clisp.org>
13906         sched_yield: New module.
13907         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
13908         (sched_yield): New declaration.
13909         * lib/sched_yield.c: New file.
13910         * m4/sched_yield.m4: New file.
13911         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
13912         provide a replacement sched.h always. Test whether sched_yield is
13913         declared.
13914         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
13915         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
13916         (Makefile.am): Provide a replacement sched.h always. Substitute
13917         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
13918         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
13919         * modules/sched_yield: New file.
13920         * doc/posix-functions/sched_yield.texi: Mention the new module.
13922 2019-07-14  Bruno Haible  <bruno@clisp.org>
13924         windows-spin: New module.
13925         * lib/windows-spin.h: New file.
13926         * lib/windows-spin.c: New file.
13927         * modules/windows-spin: New file.
13929 2019-07-14  Bruno Haible  <bruno@clisp.org>
13931         windows-timedrwlock: New module.
13932         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
13933         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
13934         windows-cond.c.
13935         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
13936         redefinition conflict with windows-timedrwlock.h.
13937         * modules/windows-timedrwlock: New file.
13939 2019-07-14  Bruno Haible  <bruno@clisp.org>
13941         windows-rwlock: New module.
13942         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
13943         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
13944         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
13945         windows-initguard.h.
13946         (gl_rwlock_t): Define using glwthread_rwlock_t.
13947         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
13948         (glthread_rwlock_init): Define using glwthread_rwlock_init.
13949         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
13950         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
13951         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
13952         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
13953         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
13954         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
13955         glthread_rwlock_destroy_func): Remove declarations.
13956         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
13957         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
13958         gl_waitqueue_notify_all, glthread_rwlock_init_func,
13959         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
13960         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
13961         functions.
13962         * modules/windows-rwlock: New file.
13963         * modules/lock (Depends-on): Add windows-rwlock.
13965 2019-07-14  Bruno Haible  <bruno@clisp.org>
13967         windows-thread: Add support for creating a thread in detached state.
13968         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
13969         (glwthread_thread_create): Add attr argument.
13970         * lib/windows-thread.c (glwthread_thread_create): Likewise.
13971         * lib/glthread/thread.h (glthread_create): Update.
13972         * lib/thrd.c (thrd_create): Update.
13974 2019-07-14  Bruno Haible  <bruno@clisp.org>
13976         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
13977         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
13978         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
13979         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
13980         * lib/windows-mutex.h: Update.
13981         * lib/windows-recmutex.h: Likewise.
13982         * lib/windows-timedmutex.h: Likewise.
13983         * lib/windows-timedrecmutex.h: Likewise.
13984         * lib/windows-cond.h: Likewise.
13985         * lib/glthread/lock.h: Likewise.
13986         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
13987         lib/windows-spinlock.h.
13988         * modules/windows-recmutex (Files): Likewise.
13989         * modules/windows-timedmutex (Files): Likewise.
13990         * modules/windows-timedrecmutex (Files): Likewise.
13991         * modules/windows-cond (Files): Likewise.
13992         * modules/threads-h (Files): Likewise.
13994 2019-07-14  Bruno Haible  <bruno@clisp.org>
13996         doc: Fix info about pthread API in HP-UX.
13997         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
13999 2019-07-14  Bruno Haible  <bruno@clisp.org>
14001         threads-h: Fix generation of threads.h.
14002         * modules/threads-h (Makefile.am): Insert the required header file
14003         snippets.
14005 2019-07-09  Bruno Haible  <bruno@clisp.org>
14007         striconveh test: Fix a compilation failure when iconv is not available.
14008         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14009         * tests/test-striconveh.c (main): Move iconv_close invocations inside
14010         HAVE_ICONV.
14012 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
14014         argmatch: adjust columns for help2man.
14015         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
14016         requires column 20 or more, return 20.
14018 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14020         areadlink-with-size: avoid realloc when size==0
14021         * lib/areadlink-with-size.c (areadlink_with_size):
14022         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
14023         Reallocate at the end to the actual size, to avoid memory waste,
14024         as suggested by Bruno Haible.  But when the guessed size is zero -
14025         useful when the size is unknown - do the initial small readlink
14026         into the stack, to avoid that realloc in the usual case.
14028 2019-07-06  Pádraig Brady  <P@draigBrady.com>
14030         areadlink-with-size: guess a buffer size with 0 size
14031         The size is usually taken from st_size, which can be zero,
14032         resulting in inefficient operation.
14033         Instead let zero select an initial memory allocation
14034         of 128 bytes, which most symlinks fit within.
14035         * lib/areadlink-with-size.c (areadlink_with_size):
14036         Start with a 128 byte buffer, for SIZE == 0.
14037         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
14039 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
14041         Replace manually crafted hex regexes with [:xdigit:]
14042         * build-aux/gitlog-to-changelog (parse_amend_file)
14043         (git_dir_option):
14044         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
14045         This patch is backported from Emacs (Bug#36167).
14047 2019-07-06  Bruno Haible  <bruno@clisp.org>
14049         error: Fix documentation.
14050         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
14051         module provides.
14052         * doc/glibc-functions/error_message_count.texi: Likewise.
14053         * doc/glibc-functions/error_one_per_line.texi: Likewise.
14054         * doc/glibc-functions/error_print_progname.texi: Likewise.
14056 2019-07-06  Bruno Haible  <bruno@clisp.org>
14058         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
14059         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
14060         and older is unsupported.
14061         * doc/**/*.texi: Update.
14063 2019-07-06  Bruno Haible  <bruno@clisp.org>
14065         doc: Remove documentation of Linux libc5 as a supported platform.
14066         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
14067         to Linux libc5.
14068         * doc/posix-functions/iswalpha.texi: Likewise.
14069         * doc/posix-functions/iswblank.texi: Likewise.
14070         * doc/posix-functions/iswcntrl.texi: Likewise.
14071         * doc/posix-functions/iswdigit.texi: Likewise.
14072         * doc/posix-functions/iswgraph.texi: Likewise.
14073         * doc/posix-functions/iswlower.texi: Likewise.
14074         * doc/posix-functions/iswprint.texi: Likewise.
14075         * doc/posix-functions/iswpunct.texi: Likewise.
14076         * doc/posix-functions/iswspace.texi: Likewise.
14077         * doc/posix-functions/iswupper.texi: Likewise.
14078         * doc/posix-functions/iswxdigit.texi: Likewise.
14079         * doc/posix-functions/snprintf.texi: Likewise.
14080         * doc/posix-functions/vsnprintf.texi: Likewise.
14082 2019-07-06  Bruno Haible  <bruno@clisp.org>
14084         doc: Remove documentation of Tandem/NSK as a supported platform.
14085         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
14086         Tandem/NSK.
14087         * doc/**/*.texi: Update.
14089 2019-07-06  Bruno Haible  <bruno@clisp.org>
14091         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
14092         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
14093         and older is unsupported.
14094         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
14095         Mac OS X 10.4 and older.
14096         * doc/posix-functions/asinl.texi: Likewise.
14097         * doc/posix-functions/atanl.texi: Likewise.
14098         * doc/posix-functions/cosl.texi: Likewise.
14099         * doc/posix-functions/expl.texi: Likewise.
14100         * doc/posix-functions/frexpl.texi: Likewise.
14101         * doc/posix-functions/gettimeofday.texi: Likewise.
14102         * doc/posix-functions/logl.texi: Likewise.
14103         * doc/posix-functions/mkstemp.texi: Likewise.
14104         * doc/posix-functions/sinl.texi: Likewise.
14105         * doc/posix-functions/sqrtl.texi: Likewise.
14106         * doc/posix-functions/tanl.texi: Likewise.
14107         * doc/posix-functions/wcswidth.texi: Likewise.
14108         * doc/**/*.texi: Update.
14110 2019-07-06  Bruno Haible  <bruno@clisp.org>
14112         doc: Remove documentation of AIX 4 as a supported platform.
14113         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
14114         unsupported.
14115         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
14116         workarounds.
14117         * doc/posix-functions/strnlen.texi: Likewise.
14118         * doc/posix-headers/inttypes.texi: Likewise.
14119         * doc/**/*.texi: Update.
14121 2019-07-06  Bruno Haible  <bruno@clisp.org>
14123         doc: Remove documentation of HP-UX 10 as a supported platform.
14124         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
14125         unsupported.
14126         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
14127         workarounds.
14128         * doc/posix-functions/gmtime_r.texi: Likewise.
14129         * doc/posix-functions/localtime_r.texi: Likewise.
14130         * doc/posix-functions/mkstemp.texi: Likewise.
14131         * doc/**/*.texi: Update.
14133 2019-07-06  Bruno Haible  <bruno@clisp.org>
14135         doc: Remove documentation of Interix 3.5 as a supported platform.
14136         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
14137         unsupported.
14138         * doc/posix-functions/select.texi: Don't mention Interix specific
14139         workarounds.
14140         * doc/posix-headers/signal.texi: Likewise.
14141         * doc/**/*.texi: Update.
14143 2019-07-06  Bruno Haible  <bruno@clisp.org>
14145         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
14146         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
14147         unsupported.
14148         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
14149         workarounds.
14150         * doc/posix-functions/nl_langinfo.texi: Likewise.
14151         * doc/posix-functions/remainder.texi: Likewise.
14152         * doc/posix-functions/towlower.texi: Likewise.
14153         * doc/posix-functions/towupper.texi: Likewise.
14154         * doc/posix-functions/vsnprintf.texi: Likewise.
14155         * doc/posix-functions/wcscat.texi: Likewise.
14156         * doc/posix-functions/wcschr.texi: Likewise.
14157         * doc/posix-functions/wcscmp.texi: Likewise.
14158         * doc/posix-functions/wcscpy.texi: Likewise.
14159         * doc/posix-functions/wcscspn.texi: Likewise.
14160         * doc/posix-functions/wcslen.texi: Likewise.
14161         * doc/posix-functions/wcsncat.texi: Likewise.
14162         * doc/posix-functions/wcsncmp.texi: Likewise.
14163         * doc/posix-functions/wcsncpy.texi: Likewise.
14164         * doc/posix-functions/wcspbrk.texi: Likewise.
14165         * doc/posix-functions/wcsrchr.texi: Likewise.
14166         * doc/posix-functions/wcsspn.texi: Likewise.
14167         * doc/posix-headers/langinfo.texi: Likewise.
14168         * doc/posix-headers/signal.texi: Likewise.
14169         * doc/posix-headers/wchar.texi: Likewise.
14170         * doc/posix-headers/wctype.texi: Likewise.
14171         * doc/**/*.texi: Update.
14173 2019-07-05  Bruno Haible  <bruno@clisp.org>
14175         doc: Remove documentation of OSF/1 as supported platform.
14176         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
14177         unsupported.
14178         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
14179         workarounds.
14180         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
14181         * doc/glibc-functions/ptsname_r.texi: Likewise.
14182         * doc/posix-functions/ceil.texi: Likewise.
14183         * doc/posix-functions/ceilf.texi: Likewise.
14184         * doc/posix-functions/ceill.texi: Likewise.
14185         * doc/posix-functions/fchdir.texi: Likewise.
14186         * doc/posix-functions/floor.texi: Likewise.
14187         * doc/posix-functions/floorf.texi: Likewise.
14188         * doc/posix-functions/fmod.texi: Likewise.
14189         * doc/posix-functions/fmodf.texi: Likewise.
14190         * doc/posix-functions/fmodl.texi: Likewise.
14191         * doc/posix-functions/log.texi: Likewise.
14192         * doc/posix-functions/logf.texi: Likewise.
14193         * doc/posix-functions/logl.texi: Likewise.
14194         * doc/posix-functions/log10.texi: Likewise.
14195         * doc/posix-functions/log10f.texi: Likewise.
14196         * doc/posix-functions/log10l.texi: Likewise.
14197         * doc/posix-functions/log2.texi: Likewise.
14198         * doc/posix-functions/log2f.texi: Likewise.
14199         * doc/posix-functions/log2l.texi: Likewise.
14200         * doc/posix-functions/mbrtowc.texi: Likewise.
14201         * doc/posix-functions/recv.texi: Likewise.
14202         * doc/posix-functions/recvfrom.texi: Likewise.
14203         * doc/posix-functions/remainder.texi: Likewise.
14204         * doc/posix-functions/remainderf.texi: Likewise.
14205         * doc/posix-functions/remainderl.texi: Likewise.
14206         * doc/posix-functions/round.texi: Likewise.
14207         * doc/posix-functions/roundf.texi: Likewise.
14208         * doc/posix-functions/roundl.texi: Likewise.
14209         * doc/posix-functions/send.texi: Likewise.
14210         * doc/posix-functions/sendto.texi: Likewise.
14211         * doc/posix-functions/setenv.texi: Likewise.
14212         * doc/posix-functions/snprintf.texi: Likewise.
14213         * doc/posix-functions/tcgetsid.texi: Likewise.
14214         * doc/posix-functions/trunc.texi: Likewise.
14215         * doc/posix-functions/truncf.texi: Likewise.
14216         * doc/posix-functions/truncl.texi: Likewise.
14217         * doc/posix-functions/ttyname_r.texi: Likewise.
14218         * doc/posix-functions/unsetenv.texi: Likewise.
14219         * doc/posix-functions/wcsrtombs.texi: Likewise.
14220         * doc/posix-headers/sys_select.texi: Likewise.
14221         * doc/posix-headers/wchar.texi: Likewise.
14222         * doc/posix-headers/wctype.texi: Likewise.
14223         * doc/**/*.texi: Update.
14225 2019-07-05  Bruno Haible  <bruno@clisp.org>
14227         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
14228         * doc/**/*.texi: Update.
14230 2019-07-05  Bruno Haible  <bruno@clisp.org>
14232         doc: Remove documentation of Solaris 8 and older as supported platforms.
14233         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
14234         unsupported.
14235         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
14236         workarounds.
14237         * doc/posix-functions/memcmp.texi: Likewise.
14238         * doc/posix-functions/rename.texi: Likewise.
14239         * doc/posix-functions/tzset.texi: Likewise.
14240         * doc/posix-headers/wctype.texi: Likewise.
14241         * doc/**/*.texi: Update.
14243 2019-07-05  Bruno Haible  <bruno@clisp.org>
14245         doc: Remove documentation of Interix 3.5 as a supported platform.
14246         * doc/**/*.texi: Update.
14248 2019-07-05  Bruno Haible  <bruno@clisp.org>
14250         doc: Remove documentation of BeOS as a supported platform.
14251         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
14252         unsupported.
14253         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
14254         * doc/posix-functions/getdelim.texi: Likewise.
14255         * doc/**/*.texi: Update.
14257 2019-07-05  Bruno Haible  <bruno@clisp.org>
14259         thread, lock, cond, tls: Remove support for Pth threads.
14260         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
14261         --enable-threads=pth any more.
14262         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
14263         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
14264         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
14265         threads and ISO C11 threads.
14266         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
14267         * lib/glthread/lock.h: Likewise.
14268         * lib/glthread/lock.c: Likewise.
14269         * lib/glthread/cond.h: Likewise.
14270         * lib/glthread/cond.c: Likewise.
14271         * lib/glthread/tls.h: Likewise.
14272         * lib/glthread/tls.c: Likewise.
14273         * lib/glthread/yield.h: Likewise.
14274         * lib/regex_internal.h: Likewise.
14275         * tests/test-thread_create.c: Likewise.
14276         * tests/test-lock.c: Likewise.
14277         * tests/test-cond.c: Likewise.
14278         * tests/test-tls.c: Likewise.
14279         * tests/test-rwlock1.c: Don't include glthread/yield.h.
14280         (main): Sleep without calling gl_thread_yield.
14282 2019-07-05  Bruno Haible  <bruno@clisp.org>
14284         thread, lock, cond, tls: Remove support for old Solaris threads.
14285         Solaris >= 2.5.1 has POSIX threads.
14286         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
14287         --enable-threads=solaris any more.
14288         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
14289         * lib/glthread/thread.c: Update comment.
14290         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
14291         * lib/glthread/lock.h: Likewise.
14292         * lib/glthread/lock.c: Likewise.
14293         * lib/glthread/cond.h: Likewise.
14294         * lib/glthread/cond.c: Likewise.
14295         * lib/glthread/tls.h: Likewise.
14296         * lib/glthread/tls.c: Likewise.
14297         * lib/glthread/yield.h: Likewise.
14298         * lib/regex_internal.h: Likewise.
14299         * tests/test-thread_create.c: Likewise.
14300         * tests/test-lock.c: Likewise.
14301         * tests/test-cond.c: Likewise.
14302         * tests/test-tls.c: Likewise.
14304 2019-07-05  Bruno Haible  <bruno@clisp.org>
14306         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
14307         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
14308         needed size is equal to the allocated size.
14309         * lib/getcwd.c (__getcwd): Likewise.
14311 2019-07-05  Bruno Haible  <bruno@clisp.org>
14313         xgetdomainname: Don't return an excessive memory allocation.
14314         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
14315         before returning it.
14317 2019-07-05  Bruno Haible  <bruno@clisp.org>
14319         xgethostname: Don't return an excessive memory allocation.
14320         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
14321         returning it.
14323 2019-07-05  Bruno Haible  <bruno@clisp.org>
14325         areadlinkat-with-size: Don't return an excessive memory allocation.
14326         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
14327         before returning it.
14329 2019-07-05  Bruno Haible  <bruno@clisp.org>
14331         areadlink-with-size: Don't return an excessive memory allocation.
14332         Reported by Andreas Dilger <adilger@whamcloud.com>.
14333         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
14334         before returning it.
14336 2019-07-03  Bruno Haible  <bruno@clisp.org>
14338         renameatu: Fix test failure on MSVC.
14339         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
14340         empty string.
14342 2019-07-03  Bruno Haible  <bruno@clisp.org>
14344         mbrtowc: Fix invalid use of mbtowc() on MSVC.
14345         * lib/mbrtowc.c: Include glthread/lock.h.
14346         (mbtowc_lock): New variable.
14347         (mbrtowc): Treat UTF-8 encoding without locking. For the other
14348         encodings, explicitly reset the internal state of mbtowc, and protect
14349         this through a lock.
14350         * modules/mbrtowc (Depends-on): Add lock.
14352 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
14354         argmatch: don't define _ in the header.
14355         Reported by Jim Meyering.
14356         * lib/argmatch.h (N_, _): Don't define.
14357         Use gettext instead.
14358         * lib/argmatch.h (_): Define.
14359         * tests/test-argmatch.c (N_): Define.
14361 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
14363         verify: document ‘assume’ better
14364         * lib/verify.h: Reword doc (Bug#36370).
14366 2019-07-02  Bruno Haible  <bruno@clisp.org>
14368         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
14369         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
14370         "CPutf8".
14371         * lib/nl_langinfo.c (ctype_codeset): Likewise.
14373 2019-07-02  Bruno Haible  <bruno@clisp.org>
14375         getcwd: Fix crash when invoked with size = 0 on MSVC.
14376         * lib/getcwd.c: Include msvc-inval.h.
14377         (getcwd_nothrow): New function/macro.
14378         (getcwd_system): New macro.
14379         (__getcwd): Use it instead of getcwd.
14380         * modules/getcwd (Depends-on): Add msvc-inval.
14381         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
14383 2019-07-02  Bruno Haible  <bruno@clisp.org>
14385         nonblocking-pipe tests: Fix test failure on MSVC.
14386         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
14387         native Windows.
14389 2019-07-02  Bruno Haible  <bruno@clisp.org>
14391         usleep: Implement with millisecond resolution on native Windows.
14392         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
14393         * doc/pastposix-functions/usleep.texi: Update accordingly.
14395 2019-07-02  Bruno Haible  <bruno@clisp.org>
14397         lstat tests: Fix test failure on MSVC.
14398         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
14399         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
14401 2019-07-02  Bruno Haible  <bruno@clisp.org>
14403         stat tests: Fix test failure on MSVC.
14404         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
14405         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
14407 2019-07-02  Bruno Haible  <bruno@clisp.org>
14409         getaddrinfo tests: Fix test failure on MSVC.
14410         * tests/test-getaddrinfo.c: Include sockets.h.
14411         (main): Invoke gl_sockets_startup.
14412         * modules/getaddrinfo-tests (Depends-on): Add sockets.
14414 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
14416         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
14417         * lib/poll.c: Call Windows native select() with Windows native timeval.
14419 2019-06-30  Bruno Haible  <bruno@clisp.org>
14421         argmatch: Fix compilation errors.
14422         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
14423         * tests/test-argmatch.c (main): Update after last-minute function names
14424         change.
14426 2019-06-30  Bruno Haible  <bruno@clisp.org>
14428         Include <stdlib.h> when needed.
14429         * lib/cnd.c: Include <stdlib.h>, needed for abort().
14430         * lib/fcntl.c: Likewise.
14431         * lib/mbscasestr.c: Likewise.
14432         * lib/mbssep.c: Likewise.
14433         * lib/mbsstr.c: Likewise.
14434         * lib/openat.c: Include <stdlib.h>, needed for free().
14435         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
14436         abort().
14438 2019-06-30  Bruno Haible  <bruno@clisp.org>
14440         Include <stdlib.h> when needed.
14441         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
14442         * lib/faccessat.c: Likewise.
14443         * lib/fchmodat.c: Likewise.
14444         * lib/fchownat.c: Likewise.
14445         * lib/fstatat.c: Likewise.
14446         * lib/mkfifoat.c: Likewise.
14447         * lib/mknodat.c: Likewise.
14448         * lib/readlinkat.c: Likewise.
14449         * lib/symlinkat.c: Likewise.
14450         * lib/utimensat.c: Likewise.
14451         * lib/mkdirat.c: Likewise. Include also the specification header.
14453 2019-06-30  Bruno Haible  <bruno@clisp.org>
14455         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
14456         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
14457         from gl_PREREQ_SYS_H_SOCKET.
14458         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
14459         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
14460         gl_PREREQ_SYS_H_WS2TCPIP.
14461         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
14462         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
14463         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
14465 2019-06-30  Bruno Haible  <bruno@clisp.org>
14467         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
14468         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
14469         REPLACE_INET_NTOP to 1 always.
14470         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
14471         REPLACE_INET_PTON to 1 always.
14473 2019-06-30  Bruno Haible  <bruno@clisp.org>
14475         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
14476         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
14477         not REPLACE_INET_NTOP.
14479 2019-06-30  Bruno Haible  <bruno@clisp.org>
14481         poll: Add comment.
14482         * lib/poll.c: Add comment about WSAPoll.
14484 2019-06-30  Bruno Haible  <bruno@clisp.org>
14486         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
14487         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
14488         * lib/poll.in.h: Include <winsock2.h>.
14489         (POLL*, pollfd): Override on native Windows.
14490         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14491         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
14492         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14494 2019-06-28  Bruno Haible  <bruno@clisp.org>
14496         accept4: Fix compilation error on OpenIndiana.
14497         Reported by Michal Nowak <mnowak@startmail.com>
14498         via Mark H Weaver <mhw@netris.org>.
14499         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
14500         whether it exists as a function.
14502 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
14504         strverscmp: sync from glibc
14505         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
14506         comments, include libc-config.h, define __strverscmp to be
14507         strverscmp, and don’t assume types line uint8_t and int8_t that
14508         that C99 doesn’t guarantee.
14509         [!_LIBC]: Include libc-config.h; define __strverscmp.
14510         Include stdint.h.
14511         (__strverscmp): Assume C99.  Use uint_least8_t
14512         and int_least8_t instead of unsigned char and signed char.
14513         * modules/strverscmp (Depends-on): Add libc-config, stdint.
14515 2019-06-25  Bruno Haible  <bruno@clisp.org>
14517         tss tests: Add tests for destructors and races.
14518         * tests/test-tss.c (worker_thread): Fix typo in debug message.
14519         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
14520         functions.
14521         (main): Invoke them.
14522         * modules/tls-tests (Depends-on): Add mtx.
14524 2019-06-25  Bruno Haible  <bruno@clisp.org>
14526         tls tests: Add tests for destructors and races.
14527         * tests/test-tls.c: Include glthread/lock.h.
14528         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
14529         functions.
14530         (main): Invoke them.
14531         * modules/tls-tests (Depends-on): Add lock.
14533 2019-06-25  Bruno Haible  <bruno@clisp.org>
14535         windows-tls: Implement TLS key destructors for native Windows.
14536         * lib/windows-tls.h (glwthread_tls_process_destructors): New
14537         declaration.
14538         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
14539         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
14540         (dtor_table_init_once, dtor_table_lock: New variables.
14541         (struct dtor): New type.
14542         (dtor_table, dtors_count, dtors_used, dtors_allocated,
14543         dtor_processing_threads): New variables.
14544         (dtor_table_initialize, dtor_table_ensure_initialized,
14545         dtor_table_shrink_used, glwthread_tls_process_destructors): New
14546         functions.
14547         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
14548         handle non-NULL destructors.
14549         * modules/windows-tls (Depends-on): Add windows-once.
14550         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
14551         Use the functions declared in windows-tls.h.
14552         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
14553         GLWTHREAD_DESTRUCTOR_ITERATIONS.
14554         * lib/windows-thread.c: Include windows-tls.h.
14555         (wrapper_func, glwthread_thread_exit): Invoke
14556         glwthread_tls_process_destructors.
14557         * modules/windows-thread (Depends-on): Add windows-tls.
14559 2019-06-25  Bruno Haible  <bruno@clisp.org>
14561         threadlib: Avoid autoconf warning "was expanded before it was required".
14562         * modules/threadlib (configure.ac): Require gl_THREADLIB.
14564 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
14566         argmatch: remove duplicate const qualifier
14567         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
14569 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14571         unistd: stddef.h and sys/types.h namespace cleanup
14572         * lib/unistd.in.h [__GLIBC__]:
14573         Do not include stddef.h or sys/types.h.
14574         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
14575         supposed to declare off_t and ssize_t.  Problem found when looking
14576         at why @GNULIB_PWRITE@ was different from the newly-added
14577         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
14579 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14581         maintainer-makefile: restore portability to non-GNU awks
14582         Reported by Tim Rühsen.
14583         * top/maint.mk (AWK): New variable.  Use it.
14584         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
14586 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14588         Document setvbuf _IOLBF problem
14589         * doc/posix-functions/setvbuf.texi (setvbuf):
14590         Document MS-Windows portability problem with _IOLBF.
14592         Document lseek SEEK_DATA/SEEK_HOLE
14593         * doc/posix-functions/lseek.texi (lseek):
14594         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
14596 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14598         argmatch: put all the docs member last.
14599         Reported by Bruno Haible.
14600         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
14601         member before the docs done.
14602         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
14604 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
14606         argmatch: add support to generate the usage message.
14607         * lib/argmatch.c: Move some #includes and gettext support to...
14608         * lib/argmatch.h: here.
14609         (ARGMATCH_DEFINE_GROUP): New macro.
14610         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
14611         (argmatch_backup_group): New.
14612         (CHECK): New.
14613         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
14614         argmatch_backup_argument and argmatch_backup_usage.
14615         * modules/argmatch: We depend on c99.
14616         * doc/argmatch.texi (Recognizing Option Arguments): New.
14617         * doc/gnulib.texi: Use it.
14619 2019-06-21  Bruno Haible  <bruno@clisp.org>
14621         thrd: Add comment.
14622         * lib/thrd.c (pthread_main_func): Add comment.
14624 2019-06-21  Bruno Haible  <bruno@clisp.org>
14626         threads-h: Define 'thread_local' if and only if it actually works.
14627         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
14628         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
14629         Oracle Solaris Studio C. Compile a simple program, to see whether
14630         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
14631         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
14632         * lib/threads.in.h (thread_local): Undefine if it does not work.
14633         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
14634         (Link): Mention LIBTHREADLOCAL.
14635         * tests/test-threads.c: Don't check that thread_local is defined.
14636         * tests/test-thread_local.c: New file.
14637         * modules/threads-h-tests (Files): Add it and macros.h.
14638         (Depends-on): Add thrd and stdint.
14639         (configure.ac): Test whether 'alarm' is declared.
14640         (Makefile.am): Arrange to build and link test-thread_local.
14641         * doc/posix-headers/threads.texi: Mention the platforms that don't
14642         support 'thread_local'.
14644 2019-06-20  Bruno Haible  <bruno@clisp.org>
14646         threads-h: Simplify link dependencies.
14647         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
14648         Don't set LTLIBSTDTHREAD.
14649         * modules/thrd (Link): Simplify accordingly.
14650         * modules/mtx (Link): Likewise.
14651         * modules/cnd (Link): Likewise.
14652         * modules/tss (Link): Likewise.
14653         * modules/threads (Link): Likewise.
14655 2019-06-20  Bruno Haible  <bruno@clisp.org>
14657         threads-h: Fix link error on FreeBSD 11.
14658         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
14659         also with -lpthread.
14661 2019-06-20  Bruno Haible  <bruno@clisp.org>
14663         threadlib: Fix typo (regression from today).
14664         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
14666 2019-06-20  Bruno Haible  <bruno@clisp.org>
14668         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
14669         * lib/windows-thread.c: Include <errno.h>.
14670         * lib/windows-tls.c: Likewise.
14672 2019-06-20  Bruno Haible  <bruno@clisp.org>
14674         tss tests: Small improvement.
14675         * tests/test-tss.c (test_tss): Pass a different id to each thread.
14677 2019-06-20  Bruno Haible  <bruno@clisp.org>
14679         threads: New module.
14680         * modules/threads: New file.
14682 2019-06-20  Bruno Haible  <bruno@clisp.org>
14684         tss: Add tests.
14685         * tests/test-tss.c: New file, based on tests/test-tls.c.
14686         * modules/tss-tests: New file.
14688 2019-06-20  Bruno Haible  <bruno@clisp.org>
14690         cnd: Add tests.
14691         * tests/test-cnd.c: New file, based on tests/test-cond.c.
14692         * modules/cnd-tests: New file.
14694 2019-06-20  Bruno Haible  <bruno@clisp.org>
14696         mtx: Add tests.
14697         * tests/test-mtx.c: New file, based on tests/test-lock.c.
14698         * tests/test-call_once.c: New file, based on tests/test-once.c.
14699         * modules/mtx-tests: New file.
14701 2019-06-20  Bruno Haible  <bruno@clisp.org>
14703         thrd: Add tests.
14704         * tests/test-thrd_create.c: New file, based on
14705         tests/test-thread_create.c.
14706         * tests/test-thrd_current.c: New file, based on
14707         tests/test-thread_self.c.
14708         * modules/thrd-tests: New file.
14710 2019-06-20  Bruno Haible  <bruno@clisp.org>
14712         tss: New module.
14713         * lib/tss.c: New file.
14714         * modules/tss: New file.
14715         * doc/posix-functions/tss_create.texi: Mention the new module.
14716         * doc/posix-functions/tss_set.texi: Likewise.
14717         * doc/posix-functions/tss_get.texi: Likewise.
14718         * doc/posix-functions/tss_delete.texi: Likewise.
14720 2019-06-20  Bruno Haible  <bruno@clisp.org>
14722         cnd: New module.
14723         * lib/cnd.c: New file.
14724         * modules/cnd: New file.
14725         * doc/posix-functions/cnd_init.texi: Mention the new module.
14726         * doc/posix-functions/cnd_wait.texi: Likewise.
14727         * doc/posix-functions/cnd_timedwait.texi: Likewise.
14728         * doc/posix-functions/cnd_signal.texi: Likewise.
14729         * doc/posix-functions/cnd_broadcast.texi: Likewise.
14730         * doc/posix-functions/cnd_destroy.texi: Likewise.
14732 2019-06-20  Bruno Haible  <bruno@clisp.org>
14734         mtx: New module.
14735         * lib/mtx.c: New file.
14736         * modules/mtx: New file.
14737         * doc/posix-functions/call_once.texi: Mention the new module.
14738         * doc/posix-functions/mtx_init.texi: Likewise.
14739         * doc/posix-functions/mtx_lock.texi: Likewise.
14740         * doc/posix-functions/mtx_trylock.texi: Likewise.
14741         * doc/posix-functions/mtx_timedlock.texi: Likewise.
14742         * doc/posix-functions/mtx_unlock.texi: Likewise.
14743         * doc/posix-functions/mtx_destroy.texi: Likewise.
14745 2019-06-20  Bruno Haible  <bruno@clisp.org>
14747         thrd: New module.
14748         * lib/thrd.c: New file.
14749         * m4/thrd.m4: New file.
14750         * modules/thrd: New file.
14751         * doc/posix-functions/thrd_current.texi: Mention the new module.
14752         * doc/posix-functions/thrd_detach.texi: Likewise.
14753         * doc/posix-functions/thrd_equal.texi: Likewise.
14754         * doc/posix-functions/thrd_exit.texi: Likewise.
14755         * doc/posix-functions/thrd_sleep.texi: Likewise.
14756         * doc/posix-functions/thrd_yield.texi: Likewise.
14757         * doc/posix-functions/thrd_create.texi: Mention the new module and the
14758         AIX bug.
14759         * doc/posix-functions/thrd_join.texi: Mention the new module and the
14760         AIX and Solaris bugs.
14762 2019-06-20  Bruno Haible  <bruno@clisp.org>
14764         threads-h: Add tests.
14765         * tests/test-threads.c: New file.
14766         * modules/threads-h-tests: New file.
14767         * tests/test-threads-c++.cc: New file.
14768         * modules/threads-h-c++-tests: New file.
14770 2019-06-20  Bruno Haible  <bruno@clisp.org>
14772         threads-h: New module.
14773         * lib/threads.in.h: New file.
14774         * m4/threads.m4: New file.
14775         * m4/yield.m4 (gl_YIELD): Update comment.
14776         * modules/threads-h: New file.
14777         * modules/yields (configure.ac): Use AC_REQUIRE.
14778         * doc/posix-headers/threads.texi: Mention the new module and the AIX
14779         bugs.
14781 2019-06-20  Bruno Haible  <bruno@clisp.org>
14783         windows-thread: New module.
14784         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
14785         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
14786         * lib/glthread/thread.h: Include windows-thread.h.
14787         (gl_thread_t): Define using glwthread_thread_t.
14788         (glthread_create): Define using glwthread_thread_create.
14789         (glthread_join): Define using glwthread_thread_join.
14790         (gl_thread_self): Define using glwthread_thread_self.
14791         (gl_thread_exit): Define using glwthread_thread_exit.
14792         (glthread_create_func, glthread_join_func, gl_thread_self_func,
14793         gl_thread_exit_func): Remove declarations.
14794         * lib/glthread/thread.c (self_key): Remove variable.
14795         (do_init_self_key, init_self_key): Remove functions.
14796         (struct gl_thread_struct): Remove type.
14797         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
14798         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
14799         functions.
14800         * modules/windows-thread: New file.
14801         * modules/thread (Depends-on): Add windows-thread.
14803 2019-06-20  Bruno Haible  <bruno@clisp.org>
14805         windows-tls: New module.
14806         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
14807         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
14808         * lib/glthread/tls.h: Include windows-tls.h.
14809         (gl_tls_key_t): Define using glwthread_tls_key_t.
14810         * modules/windows-tls: New file.
14811         * modules/tls (Depends-on): Add windows-tls.
14813 2019-06-20  Bruno Haible  <bruno@clisp.org>
14815         windows-cond: New module.
14816         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
14817         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
14818         * lib/glthread/cond.h: Include windows-cond.h.
14819         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
14820         (gl_cond_t): Define using glwthread_cond_t.
14821         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
14822         (glthread_cond_init): Define using glwthread_cond_init.
14823         (glthread_cond_wait): Define using glwthread_cond_wait.
14824         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
14825         (glthread_cond_signal): Define using glwthread_cond_signal.
14826         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
14827         (glthread_cond_destroy): Define using glwthread_cond_destroy.
14828         (glthread_cond_init_func, glthread_cond_wait_func,
14829         glthread_cond_timedwait_func, glthread_cond_signal_func,
14830         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14831         declarations.
14832         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
14833         types.
14834         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
14835         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
14836         glthread_cond_init_func, glthread_cond_wait_func,
14837         glthread_cond_timedwait_func, glthread_cond_signal_func,
14838         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14839         functions.
14840         * modules/windows-cond: New file.
14841         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
14843 2019-06-20  Bruno Haible  <bruno@clisp.org>
14845         windows-timedrecmutex: New module.
14846         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
14847         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
14848         * modules/windows-timedrecmutex: New file.
14850 2019-06-20  Bruno Haible  <bruno@clisp.org>
14852         windows-timedmutex: New module.
14853         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
14854         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
14855         * modules/windows-timedmutex: New file.
14857 2019-06-20  Bruno Haible  <bruno@clisp.org>
14859         windows-recmutex: New module.
14860         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
14861         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
14862         * lib/glthread/lock.h: Include windows-recmutex.h.
14863         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
14864         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
14865         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
14866         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
14867         (glthread_recursive_lock_unlock): Define using
14868         glwthread_recmutex_unlock.
14869         (glthread_recursive_lock_destroy): Define using
14870         glwthread_recmutex_destroy.
14871         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
14872         glthread_recursive_lock_unlock_func,
14873         glthread_recursive_lock_destroy_func): Remove declarations.
14874         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
14875         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
14876         glthread_recursive_lock_destroy_func): Remove functions.
14877         * modules/windows-recmutex: New file.
14878         * modules/lock (Depends-on): Add windows-recmutex.
14880 2019-06-20  Bruno Haible  <bruno@clisp.org>
14882         windows-mutex: New module.
14883         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
14884         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
14885         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
14886         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
14887         (gl_spinlock_t): Remove type.
14888         (gl_lock_t): Define using glwthread_mutex_t.
14889         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
14890         (glthread_lock_init): Define using glwthread_mutex_init.
14891         (glthread_lock_lock): Define using glwthread_mutex_lock.
14892         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
14893         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
14894         (glthread_lock_init_func, glthread_lock_lock_func,
14895         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14896         declarations.
14897         Use glwthread_spinlock_t instead of gl_spinlock_t.
14898         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
14899         GLWTHREAD_SPINLOCK_INIT.
14900         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
14901         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14902         functions.
14903         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
14904         gl_spinlock_t.
14905         * modules/windows-mutex: New file.
14906         * modules/lock (Depends-on): Add windows-mutex.
14908 2019-06-20  Bruno Haible  <bruno@clisp.org>
14910         windows-once: New module.
14911         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
14912         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
14913         * lib/glthread/lock.h: Include windows-once.h.
14914         (gl_once_t): Define using glwthread_once_t.
14915         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
14916         (glthread_once): Define using glwthread_once.
14917         (glthread_once_func): Remove declaration.
14918         * lib/glthread/lock.c (glthread_once_func): Remove function.
14919         * modules/windows-once: New file.
14920         * modules/lock (Depends-on): Add windows-once.
14922 2019-06-20  Bruno Haible  <bruno@clisp.org>
14924         lock, cond: Avoid possible counter wraparound on Windows.
14925         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
14926         field of the guard unchanged if it was already positive.
14927         (glthread_rwlock_rdlock_func): Likewise.
14928         (glthread_rwlock_wrlock_func): Likewise.
14929         (glthread_recursive_lock_lock_func): Likewise.
14930         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
14931         (glthread_cond_timedwait_func): Likewise.
14933 2019-06-20  Bruno Haible  <bruno@clisp.org>
14935         cond: Make glthread_cond_timedwait more reliable on Windows.
14936         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
14937         condition variable before looking at the current time.
14939 2019-06-20  Bruno Haible  <bruno@clisp.org>
14941         pthread_mutex_timedlock: New module.
14942         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
14943         new declaration.
14944         * lib/pthread_mutex_timedlock.c: New file.
14945         * m4/pthread_mutex_timedlock.m4: New file.
14946         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
14947         whether pthread_mutex_timedlock is declared.
14948         (gl_PTHREAD_MODULE_INDICATOR): New macro.
14949         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14950         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14951         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
14952         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14953         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14954         * modules/pthread_mutex_timedlock: New file.
14955         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
14956         module.
14958 2019-06-20  Bruno Haible  <bruno@clisp.org>
14960         thread, lock, cond, tls: Recognize C11 multithreaded applications.
14961         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
14962         * lib/glthread/thread.h (c11_threads_in_use): New macro.
14963         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14964         * lib/glthread/lock.h (c11_threads_in_use): New macro.
14965         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14966         * lib/glthread/cond.h (c11_threads_in_use): New macro.
14967         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14968         * lib/glthread/tls.h (c11_threads_in_use): New macro.
14969         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14971 2019-06-20  Bruno Haible  <bruno@clisp.org>
14973         tls tests: Small improvements.
14974         * tests/test-tls.c: Include <stdint.h>.
14975         (worker_thread): Avoid gcc warning on 64-bit mingw.
14976         (test_tls): Pass a different id to each thread.
14977         * modules/tls-tests (Depends-on): Add stdint.
14979 2019-06-20  Bruno Haible  <bruno@clisp.org>
14981         cond tests: Simplify.
14982         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
14984 2019-06-20  Bruno Haible  <bruno@clisp.org>
14986         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
14987         * tests/test-lock.c (test_once): Don't reference fire_signal if
14988         !ENABLE_LOCKING.
14990 2019-06-19  Bruno Haible  <bruno@clisp.org>
14992         nanosleep: Relicense under LGPLv2+.
14993         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
14994         * modules/nanosleep (License): Change to LGPLv2+.
14996 2019-06-19  Bruno Haible  <bruno@clisp.org>
14998         Reorder pieces of header in perl scripts.
14999         The desired order is
15000         - Prologue part 1 (2 lines with #!)
15001         - Program short description
15002         - Copyright and license notice
15003         - Written-by notice
15004         - Program short description (optional)
15005         - Program long description (optional)
15006         - Prologue part 2
15007         - Time stamp
15008         - Code
15009         Reported by Paul Eggert.
15010         * build-aux/announce-gen: Reorder header.
15011         * build-aux/gitlog-to-changelog: Likewise.
15012         * build-aux/useless-if-before-free: Likewise.
15013         * build-aux/prefix-gnulib-mk: Add copyright notice and short
15014         description.
15015         * build-aux/update-copyright: Likewise. Add short description. Bump
15016         time-stamp-line-limit to 200.
15018 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
15020         verify-tests: work around xlc bug
15021         Problem reported by Bruno Haible in:
15022         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
15023         * tests/test-verify.c (item): Move the arithmetic inside the
15024         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
15026 2019-06-16  Bruno Haible  <bruno@clisp.org>
15028         Restore Emacs time-stamp hook applicability.
15029         Reported by Darshit Shah <darnir@gnu.org>.
15030         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
15031         * build-aux/announce-gen: Likewise.
15032         * build-aux/gitlog-to-changelog: Likewise.
15033         * build-aux/prefix-gnulib-mk: Likewise.
15034         * build-aux/update-copyright: Likewise.
15036 2019-06-15  Bruno Haible  <bruno@clisp.org>
15038         Fix scripts to have valid executable format on Alpine Linux.
15039         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
15040         Idea by Paul Eggert.
15041         * build-aux/useless-if-before-free: Use a prologue that starts with
15042         '#!/bin/sh'.
15043         * build-aux/announce-gen: Likewise.
15044         * build-aux/gitlog-to-changelog: Likewise.
15045         * build-aux/prefix-gnulib-mk: Likewise.
15046         * build-aux/update-copyright: Likewise.
15047         * tests/test-update-copyright.sh: Update test program accordingly.
15049 2019-06-10  Bruno Haible  <bruno@clisp.org>
15051         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
15052         Reported by Nikita Ermakov <arei@altlinux.org> in
15053         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
15054         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
15055         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
15057 2019-06-10  Bruno Haible  <bruno@clisp.org>
15059         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
15060         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
15061         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
15062         a copy of the path argument.
15063         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
15064         it.
15066 2019-06-10  Bruno Haible  <bruno@clisp.org>
15068         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
15069         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
15070         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
15071         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
15072         a copy of the path argument.
15073         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
15074         it.
15076 2019-06-10  Bruno Haible  <bruno@clisp.org>
15078         posix_spawn_file_actions_addfchdir: Add tests.
15079         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
15080         * tests/test-posix_spawn5.c: New file.
15081         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
15083 2019-06-10  Bruno Haible  <bruno@clisp.org>
15085         posix_spawn_file_actions_addfchdir: New module.
15086         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
15087         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
15088         union member 'fchdir_action'.
15089         * lib/spawn_faction_addfchdir.c: New file.
15090         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
15091         * m4/posix_spawn_faction_addfchdir.m4: New file.
15092         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
15093         'posix_spawn_file_actions_addfchdir' is present and whether
15094         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
15095         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
15096         posix_spawn_file_actions_addfchdir is declared.
15097         (gl_SPAWN_H_DEFAULTS): Initialize
15098         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15099         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15100         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
15101         * modules/spawn (Makefile.am): Substitute
15102         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15103         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15104         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
15105         * modules/posix_spawn_file_actions_addfchdir: New file.
15106         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
15107         signature.
15108         * doc/posix-functions/posix_spawn.texi: Mention the new module.
15109         * doc/posix-functions/posix_spawnp.texi: Likewise.
15110         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
15111         Likewise.
15113 2019-06-10  Bruno Haible  <bruno@clisp.org>
15115         doc: Document existence of posix_spawn_file_actions_addchdir module.
15116         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
15117         the posix_spawn_file_actions_addchdir module.
15119 2019-06-10  Bruno Haible  <bruno@clisp.org>
15121         posix_spawn-internal: Fix module description.
15122         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
15123         from here...
15124         * modules/posix_spawnp (configure.ac): ... and here...
15125         * modules/posix_spawn-internal (configure.ac): ... to here.
15127 2019-06-10  Bruno Haible  <bruno@clisp.org>
15129         doc: Update and improve documentation of glibc functions.
15130         This is a series of commits that
15131         - updates the documentation to the state of glibc 2.29,
15132         - adds references to Linux man pages and glibc documentation,
15133         - marks Linux specific functions as such.
15134         These are the commits:
15135         doc: Update after removal of crypt functions from glibc 2.28.
15136         doc: Remove mention of function vm86 (does not exist on x86_64).
15137         doc: Remove mention of functions that are gone from glibc.
15138         doc: Mention that glibc no longer provides h_errno.
15139         doc: Mention the availability of specific functions in glibc versions.
15140         doc: Mention eaccess.
15141         doc: Add references to Linux man pages.
15142         doc: Add references to glibc documentation.
15143         doc: Mention inotify_* functions.
15144         doc: Mention ppoll.
15145         doc: Mention sched_getcpu.
15146         doc: Mention sync_file_range.
15147         doc: Mention epoll_pwait.
15148         doc: Mention eventfd, eventfd_read, eventfd_write.
15149         doc: Mention signalfd.
15150         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
15151         doc: Mention epoll_create1.
15152         doc: Mention getauxval.
15153         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
15154         doc: Mention nextdown, nextup.
15155         doc: Mention more ISO TS 18661-1 <math.h> functions.
15156         doc: Mention ISO TS 18661-1 <fenv.h> functions.
15157         doc: Mention getrandom, getentropy.
15158         doc: Mention strfromf, strfromd, strfroml.
15159         doc: Mention preadv2, pwritev2.
15160         doc: Mention copy_file_range.
15161         doc: Mention memfd_create.
15162         doc: Mention mlock2.
15163         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
15164         doc: Mention more ISO TS 18661-1 <math.h> functions.
15165         doc: Mention renameat2.
15166         doc: Mention statx.
15167         doc: Mention the ISO C11 multithreading header and functions.
15168         doc: Mention getcpu.
15169         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
15170         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
15171         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
15172         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
15173         doc: Some glibc functions also exist on Solaris 11.
15174         doc: Some glibc functions also exist on Solaris 11.4.
15175         doc: Some glibc functions also exist on FreeBSD.
15176         doc: Some glibc functions also exist on BeOS.
15177         doc: Some glibc functions also exist on Haiku.
15178         doc: Mark functions which exist only on Linux.
15179         doc: Mark functions which exist only on Linux and illumos.
15181 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
15183         copy-file: fix typo
15184         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
15186         copy-file-range: simplify into a stub
15187         Based on a comment by Florian Weimer in:
15188         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
15189         It turns out that Emacs (which will use this module) won’t need an
15190         emulation and I suspect other programs won’t either, because these
15191         programs will need to fall back on read+write anyway.  Perhaps I
15192         am wrong and other programs will be able to use an emulation; if
15193         so, this patch can be reverted.
15194         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
15195         Just call it copy_file_range.
15196         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
15197         Check via AC_LINK_IFELSE.
15198         * modules/copy-file-range (Depends-on): Remove modules no longer used.
15200 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
15202         copy-file: prefer copy_file_range
15203         * lib/copy-file.c: Do not include xalloc.h.
15204         (qcopy_file_preserving): Allocate a buffer only if
15205         copy_file_range does not suffice.  If the allocation fails
15206         don't give up; just use a small stack-based buffer.
15207         Prefer copy_file_range if it works.
15208         * modules/copy-file (Depends-on): Add copy-file-range.
15209         Remove xalloc.
15211         copy-file-range: new module
15212         * MODULES.html.sh: Add copy-file-range.
15213         * lib/copy-file-range.c, m4/copy-file-range.m4:
15214         * modules/copy-file-range: New files.
15215         * lib/unistd.in.h (copy_file_range): Declare.
15216         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
15217         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
15218         * modules/unistd (unistd.h): Substitute them.
15220 2019-05-28  Bruno Haible  <bruno@clisp.org>
15222         binary-io: Attempted use of O_BINARY on consoles no longer fails.
15223         Reported by KO Myung-Hun <komh78@gmail.com> in
15224         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
15225         * lib/binary-io.h (__gl_setmode_check): Remove function.
15226         (set_binary_mode): Declare as notinline on DJGPP and EMX.
15227         * lib/binary-io.c (__gl_setmode_check): Remove function.
15228         (set_binary_mode): Define here on DJGPP and EMX. Inline
15229         __gl_setmode_check. In case of a tty, don't return an error code.
15231 2019-05-28  James Youngman  <jay@gnu.org>
15233         dirent-safer: Make opendir_safer usable from C++.
15234         * lib/dirent-safer.h: use extern "C".
15236 2019-05-28  James Youngman  <jay@gnu.org>
15238         canonicalize: Make canonicalize_filename_mode usable from C++.
15239         * lib/canonicalize.h: use extern "C".
15241 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
15243         prefix-gnulib-mk: Fix CPPFLAGS migration.
15244         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
15245         _a part of the library name.
15247 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15249         flexmember: update comments again
15250         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
15252         flexmember: update comment
15253         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
15255 2019-05-20  Bruno Haible  <bruno@clisp.org>
15257         setlocale: Improve fallback on macOS.
15258         * lib/setlocale.c (search): Optimize away a redundant strcmp()
15259         invocation.
15260         (locales_with_principal_territory): New array.
15261         (langcmp, get_main_locale_with_same_language): New functions.
15262         (locales_with_principal_language): New array.
15263         (terrcmp, get_main_locale_with_same_territory): New functions.
15264         (rpl_setlocale): When setlocale_single failed, try again with a locale
15265         that is more likely to exist. Don't warn if the environment variable
15266         SETLOCALE_VERBOSE is not set.
15268 2019-05-19  Bruno Haible  <bruno@clisp.org>
15270         localename: Fix default on macOS.
15271         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
15272         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
15273         (gl_locale_name_environ, gl_locale_name_default): Remove code for
15274         HAVE_CFLOCALECOPYCURRENT.
15275         * lib/localename.h (gl_locale_name_default): Update.
15277 2019-05-19  Karl Berry  <karl@freefriends.org>
15279         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
15280         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
15281         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
15283 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
15285         maintainer-makefile: catch uses of $< in non-implicit rules
15286         * top/maint.mk (sc_prohibit_magic_number_exit): New.
15288 2019-05-18  Bruno Haible  <bruno@clisp.org>
15290         threadlib: Provide an easy way to avoid mingw's winpthreads library.
15291         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
15292         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
15293         gl_use_threads accordingly.
15295 2019-05-18  Bruno Haible  <bruno@clisp.org>
15297         pthread_sigmask: Fix compilation error with --enable-threads=windows.
15298         Reported by Tim Rühsen in
15299         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
15300         and Michele Locati in
15301         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
15302         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
15303         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
15304         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
15305         in use and regardless which threads API is chosen.
15307 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15309         close-stream, closein, closeout: simplify
15310         I noticed this opportunity for simplification while drafting a
15311         new, related module that I haven’t had time to finish yet.
15312         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
15313         * modules/close-stream (Files): Remove m4/close-stream.m4.
15314         (configure.ac): Omit gl_CLOSE_STREAM.
15315         * modules/closein (Files): Remove m4/closein.m4
15316         (configure.ac): Omit gl_CLOSEIN.
15317         * modules/closeout (Files): Remove m4/closeout.m4.
15318         (configure.ac): Omit gl_CLOSEOUT.
15320 2019-05-12  Bruno Haible  <bruno@clisp.org>
15322         libtool-next-version: New program.
15323         * build-aux/libtool-next-version: New file.
15325 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
15326             Bruno Haible  <bruno@clisp.org>
15328         version-etc: Ease translation.
15329         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
15330         URLs and formatting newlines out of translatable string.
15332 2019-05-11  Bruno Haible  <bruno@clisp.org>
15334         gnupload: Explain how to create symlinks.
15335         * build-aux/gnupload (usage): Add an example that creates symlinks.
15337 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15339         fpucw: port to gcc -pedantic
15340         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
15341         Use __extension__ if using ({ ... }).
15343         crypto/af_alg: port to strict C compilers
15344         * lib/af_alg.c: Include af_alg.h regardless, so that the
15345         compilation unit is nonempty.
15347 2019-05-10  Bruno Haible  <bruno@clisp.org>
15349         base64: Avoid false positive warning from Coverity.
15350         Reported by Kamil Dudka <kdudka@redhat.com>.
15351         Idea by Paul Eggert.
15352         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
15353         '& 0x3f' to the array index expressions. This convinces Coverity that
15354         there is no out-of-bounds array reference, regardless of the input.
15356 2019-05-09  Bruno Haible  <bruno@clisp.org>
15358         gettext: Update to gettext 0.20.
15359         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
15360         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
15361         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
15362         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
15363         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
15364         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
15365         (configure.ac): Request infrastructure compatible with gettext 0.20.
15366         * m4/glibc2.m4: Remove file.
15367         * m4/intdiv0.m4: Remove file.
15368         * m4/intl.m4: Remove file.
15369         * m4/intldir.m4: Remove file.
15370         * m4/intmax.m4: Remove file.
15371         * m4/printf-posix.m4: Remove file.
15372         * m4/uintmax_t.m4: Remove file.
15373         * m4/gettext.m4: Update from gettext 0.20.
15374         * m4/po.m4: Likewise.
15376 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15378         verify: remove verify_true
15379         * NEWS: Mention this.
15380         * lib/verify.h (verify_true): Remove.
15381         * tests/test-verify.c (item): Test verify_expr, not verify_true.
15383         Support C2X and C++17 static_assert
15384         C2X and C++17 finally added support for a simple, single-argument
15385         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
15386         doing back in 2005.  Implement static_assert on older platforms.
15387         The only remaining advantage of ‘verify’ is a shorter name.
15388         * doc/posix-headers/assert.texi (assert.h):
15389         * doc/verify.texi (Compile-time Assertions):
15390         Modernize for C2X and C++17.
15391         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
15392         New macros.
15393         (_GL_HAVE__STATIC_ASSERT): Remove.
15394         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
15395         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
15396         string.  All callers changed.
15397         (_GL_VERIFY): Require 3 or more args, of which only the first 2
15398         are used.  All callers changed.
15399         (_Static_assert): Allow either 1 or 2 args, and define if
15400         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
15401         !_GL_HAVE__STATIC_ASSERT.
15402         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
15403         of defining if !_GL_HAVE_STATIC_ASSERT.
15404         (verify_expr, verify): Don’t bother trying to copy the expression
15405         into the diagnostic, since 1-argument static_assert doesn’t.
15406         (verify): Prefer 1-argument _Static_assert if it works.
15407         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
15409 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15411         Fix _GL_HAVE__STATIC_ASSERT typo
15412         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
15413         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
15415 2019-05-05  Bruno Haible  <bruno@clisp.org>
15417         wcwidth: Ensure width 1, not 2, for ambiguous characters.
15418         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
15419         via Akim Demaille <akim.demaille@gmail.com>.
15420         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
15421         en_US.UTF-8 locale, since that is more likely to be present than an
15422         fr_FR.UTF-8 locale.
15423         * tests/test-wcwidth.c (main): Check the width of U+2202.
15424         * doc/posix-functions/wcwidth.texi: Mention the issue.
15426 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
15428         Port manywarnings to GCC 9
15429         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
15430         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
15431         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
15432         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
15433         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
15434         --help=warnings output.
15435         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
15436         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
15437         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
15439 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15441         Sync lib/mktime-internal.h from glibc
15442         * config/srclist.txt: Add entry for lib/mktime-internal.h.
15443         * lib/mktime-internal.h: Autoupdate.
15445 2019-04-28  Bruno Haible  <bruno@clisp.org>
15447         tls tests: Prevent that the test takes too long.
15448         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
15449         (main): Let the test fail if it takes more than 10 minutes.
15450         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
15452 2019-04-27  Bruno Haible  <bruno@clisp.org>
15454         lock tests: Prevent that the test takes too long.
15455         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
15456         (main): Let the test fail if it takes more than 10 minutes.
15457         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
15459 2019-04-27  Bruno Haible  <bruno@clisp.org>
15461         localename: Fix crash on mingw (regression from 2018-11-23).
15462         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
15463         locale name that is null.
15465 2019-04-27  Bruno Haible  <bruno@clisp.org>
15467         Fix gcc warnings on 64-bit mode mingw.
15468         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
15469         * lib/gl_array_list.c: Likewise.
15470         * lib/gl_array_map.c: Likewise.
15471         * lib/gl_array_set.c: Likewise.
15472         * lib/gl_carray_list.c: Likewise.
15473         * lib/gl_sublist.c: Likewise.
15474         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
15475         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
15476         * lib/gl_hash_map.c (uintptr_t): Likewise.
15477         * lib/gl_hash_set.c (uintptr_t): Likewise.
15478         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
15479         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
15480         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
15481         * lib/iconv.c (uintptr_t): Likewise.
15482         * lib/iconv_close.c (uintptr_t): Likewise.
15483         * tests/test-lock.c: Include <stdint.h>.
15484         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
15485         'long'.
15486         * modules/clean-temp (Depends-on): Add stdint.
15487         * modules/array-list (Depends-on): Likewise.
15488         * modules/array-map (Depends-on): Likewise.
15489         * modules/array-set (Depends-on): Likewise.
15490         * modules/carray-list (Depends-on): Likewise.
15491         * modules/sublist (Depends-on): Likewise.
15492         * modules/lock-tests (Depends-on): Likewise.
15494 2019-04-27  Bruno Haible  <bruno@clisp.org>
15496         error: Tweak indentation.
15497         * lib/error.c: Correct indentation.
15499 2019-04-27  Bruno Haible  <bruno@clisp.org>
15501         term-style-control: Fix gcc warning on mingw.
15502         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
15503         of i.
15505 2019-04-26  Bruno Haible  <bruno@clisp.org>
15507         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
15508         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
15510 2019-04-26  Bruno Haible  <bruno@clisp.org>
15512         relocatable-prog: Fix gcc warning on mingw.
15513         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
15514         on EMX.
15516 2019-04-02  Bruno Haible  <bruno@clisp.org>
15518         gitsub.sh: New file.
15519         * top/gitsub.sh: New file.
15521 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
15523         argmatch: use void* for raw memory pointers
15524         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
15525         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
15526         to "values", keep char* for strings.
15528 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
15530         prefix-gnulib-mk: fix the support for gnulib-po
15531         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
15532         Don't touch HAVE_* variables.
15533         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
15535 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
15537         di-set: allow free with 'ino_map' being NULL.
15538         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
15539         is NULL.  Bug introduced in commit 3703dbbe88dd.
15540         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
15541         as a test.
15543 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
15545         * lib/str-two-way.h: Fix comment typo.
15547 2019-04-13  Bruno Haible  <bruno@clisp.org>
15549         x-to-1: Restore ability to use original calling convention.
15550         * build-aux/x-to-1.in: Add comments. Accept the original form of
15551         HELP2MAN argument as well as the form expected since 2012-12-12.
15553 2019-04-13  Bruno Haible  <bruno@clisp.org>
15555         x-to-1: Avoid failure due to missing perl modules.
15556         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
15557         needs are installed.
15559 2019-04-13  Bruno Haible  <bruno@clisp.org>
15561         openmp-init: New module.
15562         * modules/openmp-init: New file.
15563         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
15564         the changes from 2019-04-09.
15566 2019-04-12  Bruno Haible  <bruno@clisp.org>
15568         signbit: Fix compilation error when gnulib's math.h exists twice.
15569         * lib/math.in.h (GNULIB_defined_signbit): New macro.
15571 2019-04-12  Bruno Haible  <bruno@clisp.org>
15573         openmp: Fix compilation error on platforms without OpenMP.
15574         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
15576 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
15578         mountlist: make parsing /proc/self/mountinfo more robust
15579         Cater for the following issues with mountinfo parsing (the first
15580         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
15581         in <https://bugs.gnu.org/35137>).
15582         1. The fields source, target, mntroot and fstype may contain characters
15583         like '\r'; sscanf(3) fails to read such values with the %s format
15584         specifier because it would stop at such characters.
15585         Example: "mount -t tmpfs tmpfs /foo^Mbar".
15586         The only true separator in that file is the ' ' character.
15587         2. The source field may be an empty string, which happens e.g. with
15588         "mount -t tmpfs '' /target".
15589         3. The fstype field may contain mangled characters as well which need
15590         unescaping.
15591         * lib/mountlist.c (terminate_at_blank): Add utility function.
15592         (read_file_system_list): In the block trying to read the mountinfo file,
15593         avoid using sscanf(3) with %s format; instead, parse the above fields
15594         separated by spaces one by one.
15595         This also handles the case when the source field is an empty string.
15596         Unescape the fstype field.
15598 2019-04-09  Bruno Haible  <bruno@clisp.org>
15600         openmp: Add workaround for 32-bit programs on AIX.
15601         * lib/omp.in.h: New file.
15602         * lib/omp-init.c: New file, based on lib/nproc.c.
15603         * m4/omp_h.m4: New file.
15604         * modules/openmp (Files): Add them.
15605         (Depends-on): Add include_next, c-ctype, setenv.
15606         (configure.ac): Invoke gl_OMP_H.
15607         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
15608         (Include): Mention <omp.h>.
15610 2019-04-09  Bruno Haible  <bruno@clisp.org>
15612         nproc: Fix return value for privileged processes.
15613         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
15614         getpid().
15616 2019-04-07  Bruno Haible  <bruno@clisp.org>
15618         Add copyright notices in several files.
15619         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
15620         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
15621         * lib/libunistring.valgrind: Likewise.
15622         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
15623         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
15624         * lib/memchr.valgrind: Likewise.
15625         * lib/memchr2.valgrind: Likewise.
15626         * lib/rawmemchr.valgrind: Likewise.
15627         * lib/relocatable.valgrind: Likewise.
15628         * lib/strchrnul.valgrind: Likewise.
15630 2019-03-25  Bruno Haible  <bruno@clisp.org>
15632         term-style-control tests: Fix link error.
15633         Reported by Tom G. Christensen in
15634         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
15635         * modules/term-style-control-tests (Makefile.am): Link
15636         test-term-style-control-hello and test-term-style-control-yes against
15637         LIBINTL.
15639 2019-03-24  Bruno Haible  <bruno@clisp.org>
15641         term-style-control: Add tests.
15642         * tests/test-term-style-control-hello.c: New file.
15643         * tests/test-term-style-control-yes.c: New file.
15644         * modules/term-style-control-tests: New file.
15646         term-style-control: New module.
15647         * lib/term-style-control.h: New file, based on libtextstyle's
15648         term-ostream.oo.h and term-ostream.oo.c.
15649         * lib/term-style-control.c: New file, based on libtextstyle's
15650         term-ostream.oo.c.
15651         * modules/term-style-control: New file.
15653 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15655         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
15656         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
15657         C++98 appears to be supported by Clang, but not by GCC nor ICC.
15659 2019-03-23  Bruno Haible  <bruno@clisp.org>
15661         Support cross-compilation to musl libc.
15662         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
15663         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
15664         musl libc.
15665         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
15666         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
15667         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15668         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15669         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15670         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
15671         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15672         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15673         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
15674         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15675         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
15676         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
15677         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15678         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15679         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15680         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15681         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15682         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15683         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
15684         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
15685         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
15686         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15687         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
15688         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15689         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
15690         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15691         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15692         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15693         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
15694         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15695         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15696         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15697         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
15698         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15699         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15700         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
15701         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15702         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15703         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15704         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15705         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15706         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
15707         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
15708         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
15709         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15710         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15711         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15712         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
15713         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
15714         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
15715         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
15716         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
15717         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
15718         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
15719         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15720         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
15721         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15722         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15723         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15724         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
15725         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15726         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15727         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15728         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
15729         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
15730         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
15731         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15732         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
15733         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15734         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
15735         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15736         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15737         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15738         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
15739         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
15740         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
15741         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
15742         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15744 2019-03-23  Bruno Haible  <bruno@clisp.org>
15746         posix_spawn_file_actions_*: Document musl libc bugs.
15747         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
15748         the bug.
15749         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
15750         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
15751         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
15752         cross-compiling to a musl system, guess no.
15753         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
15754         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
15756 2019-03-23  Bruno Haible  <bruno@clisp.org>
15758         futimens: Document musl libc bug.
15759         * doc/posix-functions/futimens.texi: Mention the bug.
15760         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
15761         cross-compiling, guess no on glibc and musl systems.
15763 2019-03-23  Bruno Haible  <bruno@clisp.org>
15765         Clarify that cross-compilation guesses are guesses.
15766         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
15767         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
15768         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
15769         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
15770         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
15771         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
15772         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
15773         gl_cv_glob_lists_symlinks.
15774         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
15775         'guessing ' to ac_cv_func_malloc_0_nonnull.
15776         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
15777         'guessing ' to ac_cv_func_realloc_0_nonnull.
15778         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
15779         'guessing ' to gl_cv_func_poll.
15780         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
15781         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
15782         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
15784 2019-03-23  Bruno Haible  <bruno@clisp.org>
15786         strtold: Fix typo.
15787         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
15789 2019-03-23  Bruno Haible  <bruno@clisp.org>
15791         noreturn: In C++ mode with clang, use _Noreturn as fallback.
15792         Reported by Akim Demaille.
15793         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
15794         [[noreturn]] would not work, use _Noreturn instead.
15796 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15798         libtextstyle-optional: Fix compiler warnings.
15799         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
15800         as unused.
15802 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15804         bitset: fix memory leaks
15805         Reported by Bruno Haible.
15806         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
15807         * lib/bitset/vector.c (vbitset_free): New.
15808         (vbitset_vtable): Use it.
15810 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15812         bitset: minor changes
15813         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
15814         * lib/bitset/table.c: Formatting changes.
15815         Remove useless braces.
15816         Prefer using else in cascades of if/else-if with returns.
15817         * lib/bitset/vector.c: Reduce scopes.
15819 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15821         bitset: expose bitset_resize
15822         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
15823         * tests/test-bitset.c (check_attributes): Check bitset_resize.
15824         (main): Use a variable bitset as reference, since fixed does not support resize.
15826 2019-03-19  Bruno Haible  <bruno@clisp.org>
15828         doc: Document the 'stdnoreturn' and 'noreturn' modules.
15829         Reported by Akim Demaille.
15830         * doc/noreturn.texi: New file.
15831         * doc/gnulib.texi: Include it.
15833 2019-03-19  Bruno Haible  <bruno@clisp.org>
15835         doc: Document how to use 'static inline'.
15836         * doc/static-inline.texi: New file.
15837         * doc/gnulib.texi: Include it.
15839 2019-03-19  Bruno Haible  <bruno@clisp.org>
15841         libtextstyle-optional: Add tests.
15842         * tests/test-libtextstyle.c: New file, based on libtextstyle's
15843         adhoc-tests/hello.c.
15844         * tests/test-libtextstyle-default.css: New file, copied from
15845         libtextstyle's adhoc-tests/hello-default.css.
15846         * modules/libtextstyle-optional-tests: New file.
15848         libtextstyle-optional: New module.
15849         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
15850         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
15851         * modules/libtextstyle-optional: New file.
15853 2019-03-19  Bruno Haible  <bruno@clisp.org>
15855         c-stack: Make signal handlers more reliable.
15856         * lib/c-stack.c (progname): New variable.
15857         (die): Use it.
15858         (c_stack_action): Initialize it.
15859         (segv_handler): Save and restore errno.
15861 2019-03-19  Bruno Haible  <bruno@clisp.org>
15863         Help making signal handlers more reliable.
15864         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
15865         _GL_ASYNC_SAFE into config.h.
15866         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
15867         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
15868         argument.
15869         * lib/fatal-signal.c (action_t, uninstall_handlers,
15870         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
15871         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
15872         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
15873         _GL_ASYNC_SAFE.
15874         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
15875         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
15877 2019-03-18  Bruno Haible  <bruno@clisp.org>
15879         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
15880         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
15881         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
15883 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15885         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
15886         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
15887         GCC 4.8.
15889 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
15891         fts: minor simplification
15892         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
15894 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15896         bitset, timevar: Depend on c99.
15897         Reported by Bruno Haible.
15898         * modules/bitset, modules/timevar (Depends-on): Add c99.
15900 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15902         bitset: a bit (...) more tests
15903         * tests/test-bitset.c (check_attributes): Check zero and ones.
15905 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15907         bitset: fix overflows.
15908         Reported by Bruno Haible.
15909         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
15910         * lib/bitset/table.c (tbitset_test): last_bit is the position of
15911         the bit in the array of bitset_word, so be sure to take its modulo
15912         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
15913         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
15915 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
15917         bitset: style changes.
15918         * lib/bitset/table.c: Use NULL, not 0, for pointers.
15919         Formatting changes.
15920         (tbitset_list): Reduce scopes.
15922 2019-03-16  Bruno Haible  <bruno@clisp.org>
15924         fatal-signal: Pass the signal number to the action.
15925         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
15926         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
15927         (fatal_signal_handler): Pass the signal number to the action.
15928         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
15929         signal number as parameter.
15930         (create_temp_dir): Update.
15931         * lib/wait-process.c (cleanup_slaves_action): New function.
15932         (register_slave_subprocess): Update at_fatal_signal invocation.
15933         * NEWS: Mention the change.
15935 2019-03-16  Bruno Haible  <bruno@clisp.org>
15937         fatal-signal: Add function that lists the fatal signals.
15938         * lib/fatal-signal.h (get_fatal_signals): New declaration.
15939         * lib/fatal-signal.c (get_fatal_signals): New function.
15941 2019-03-14  Bruno Haible  <bruno@clisp.org>
15943         isatty: Make it return true in Cygwin consoles on native Windows.
15944         * lib/isatty.c: Include <string.h>.
15945         (GetProcAddress): New macro.
15946         (GetNamedPipeClientProcessIdFuncType): New type.
15947         (GetNamedPipeClientProcessIdFunc): New variable.
15948         (QueryFullProcessImageNameFuncType): New type.
15949         (QueryFullProcessImageNameFunc): New variable.
15950         (initialized): New variable.
15951         (initialize): New function.
15952         (IsCygwinConsoleHandle): New function.
15953         (isatty): Invoke it.
15954         * doc/posix-functions/isatty.texi: Mention the issue.
15956 2019-03-14  Bruno Haible  <bruno@clisp.org>
15958         all: Update URLs to msdn.microsoft.com.
15959         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
15960         was moved to docs.microsoft.com.
15962 2019-03-13  Bruno Haible  <bruno@clisp.org>
15964         gnulib-tool: Clarify the coding style.
15965         Suggested by Pavel Raiskup <praiskup@redhat.com>.
15966         * gnulib-tool: Add comment about coding style.
15968 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15970         strtod: fix clash with strtold
15971         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
15972         * lib/strtod.c (compute_minus_zero, minus_zero):
15973         Simplify by remving the macro / external variable,
15974         and having just a function.  User changed.  This avoids
15975         the need for an external variable that might clash.
15977 2019-03-10  Bruno Haible  <bruno@clisp.org>
15979         alloca-opt: Fix conflict mingw's new <alloca.h> file.
15980         Reported by Eli Zaretskii <eliz@gnu.org>.
15981         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
15982         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
15983         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
15985 2019-03-10  Bruno Haible  <bruno@clisp.org>
15987         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
15988         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
15989         is in use.
15990         * tests/test-printf-posix2.c: Likewise.
15992 2019-03-10  Bruno Haible  <bruno@clisp.org>
15994         uninorm tests: Free allocated memory.
15995         * tests/uninorm/test-u32-normalize-big.h
15996         (struct normalization_test_file): Remove 'const' from allocated member.
15997         (free_normalization_test_file): New declaration.
15998         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
15999         memory.
16000         (free_normalization_test_file): New function.
16001         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
16002         'struct normalization_test_file' contents.
16003         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
16004         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
16005         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
16007 2019-03-10  Bruno Haible  <bruno@clisp.org>
16009         di-set: Fix memory leak.
16010         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
16011         not free().
16013 2019-03-10  Bruno Haible  <bruno@clisp.org>
16015         tests: Free allocated memory.
16016         Reported by <deltatau@protonmail.com> via Assaf Gordon.
16017         * tests/test-astrxfrm.c (main): Free allocated memory.
16018         * tests/test-bitset.c (compare, check_attributes): Free allocated
16019         bitsets.
16020         * tests/test-filenamecat.c (main): Free allocated memory.
16021         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
16022         * tests/test-freadptr.c (main): Likewise.
16023         * tests/test-freadptr2.c (main): Free allocated memory.
16024         * tests/test-freadseek.c (main): Likewise.
16025         * tests/test-gc-arcfour.c (main): Close allocated context.
16026         * tests/test-gc-arctwo.c (main): Likewise.
16027         * tests/test-gc-des.c (main): Close all allocated contexts.
16028         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
16029         * tests/test-pipe-filter-ii1.c (main): Likewise.
16030         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
16031         allocated file actions.
16032         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
16033         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
16034         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
16035         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
16036         * tests/test-strfmon_l.c (main): Free allocated locales.
16037         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
16038         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
16039         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
16040         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
16041         * tests/unistr/test-chr.h (main): Free input32.
16042         * tests/unistr/test-strchr.h (test_strchr): Likewise.
16044 2019-03-10  Bruno Haible  <bruno@clisp.org>
16046         tests: Prepare for using valgrind.
16047         * tests/*.sh: Invoke all test programs through ${CHECKER}.
16048         * tests/*/*.sh: Likewise.
16049         * tests/test-freadptr.c (main): Update accordingly.
16050         * tests/test-freadseek.c (main): Likewise.
16052 2019-03-09  Bruno Haible  <bruno@clisp.org>
16054         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
16055         * lib/get-rusage-as.c (get_rusage_as): When compiled by
16056         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
16057         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
16058         before exiting.
16060 2019-03-09  Jim Meyering  <meyering@fb.com>
16062         test-userspec.c: don't print NULL
16063         * tests/test-userspec.c (main): A test release of gcc,
16064         9.0.1 20190310, warned that this test would attempt to
16065         print a NULL pointer via a %s printf format.  Fix that
16066         and remove the unnecessary preceding "!diag" conjunct.
16067         Also add a comment.
16069 2019-03-03  Bruno Haible  <bruno@clisp.org>
16071         getloadavg: Write NULL for the null pointer.
16072         Reported by Michal Privoznik <mprivozn@redhat.com>.
16073         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
16075 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
16077         alloca, tsearch-tests: Write NULL for the null pointer.
16078         * lib/alloca.c (i00afunc): Write NULL instead of 0.
16079         * tests/test-tsearch.c (mangle_tree): Likewise.
16081 2019-03-09  Bruno Haible  <bruno@clisp.org>
16083         strfmon_l: Fix -fsanitize=address finding.
16084         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
16085         <string.h>.
16086         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
16087         (directive_t, directives_t): New types.
16088         (fmon_parse): New function.
16089         (rpl_strfmon_l): Don't call va_arg more often than needed for the
16090         format string. Consume 'long double' arguments in places where the
16091         format string indicates so.
16092         * modules/strfmon_l (Depends-on): Add 'stdbool'.
16094 2019-03-09  Bruno Haible  <bruno@clisp.org>
16096         crypto/des: Fix undefined behaviour.
16097         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
16098         shift operations on 'int'.
16100 2019-03-09  Bruno Haible  <bruno@clisp.org>
16102         Fix undefined behaviour.
16103         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
16104         'unsigned int', to avoid shift operations on 'int'.
16105         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
16106         * tests/test-count-leading-zeros.c (main): Use a random number that has
16107         as many bits as TYPE, not only 2*15 or 2*31 bits.
16108         * tests/test-count-trailing-zeros.c (main): Likewise.
16109         * tests/test-count-one-bits.c (main): Likewise.
16110         * tests/test-memmem.c: Don't include "null-ptr.h".
16111         (main): Use zerosize_ptr() instead of null_ptr().
16112         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
16114 2019-03-08  Bruno Haible  <bruno@clisp.org>
16116         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
16117         Reported by Jeffrey Walton <noloader@gmail.com>.
16118         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
16119         invoke memset with a zero size.
16120         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
16121         Likewise.
16122         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
16123         Adjust accordingly.
16125 2019-03-08  Bruno Haible  <bruno@clisp.org>
16127         unistr/*, uniconv/*: Fix undefined behaviour.
16128         Reported by Jeffrey Walton <noloader@gmail.com>.
16129         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
16130         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
16131         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
16132         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
16134 2019-03-08  Bruno Haible  <bruno@clisp.org>
16136         unistr/u8-cmp: Fix undefined behaviour.
16137         Reported by Jeffrey Walton <noloader@gmail.com>.
16138         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
16140 2019-03-08  Bruno Haible  <bruno@clisp.org>
16142         unictype/numeric: Fix undefined behaviour.
16143         Reported by Jeffrey Walton <noloader@gmail.com>.
16144         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
16145         on shift overflow, caught by "gcc -fsanitize=undefined".
16146         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
16147         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
16148         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
16150 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
16152         git-version-gen: fix --version copyright year
16153         * build-aux/git-version-gen, build-aux/move-if-change (version):
16154         --version output copyright year is now taken from script year,
16155         so that it no longer needs to be updated by hand.
16157 2019-03-04  Bruno Haible  <bruno@clisp.org>
16159         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
16160         This approach supports relocatable installation of shared libraries
16161         which depend on other shared libraries from the same package.
16162         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
16163         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
16164         wrapper around the original LIBTOOL.
16165         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
16166         token '@loader_path' instead of '$ORIGIN'.
16167         * build-aux/libtool-reloc: New file.
16168         * modules/relocatable-prog (Files): Add it.
16169         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
16170         the recent changes. Document the need to set the *_LDFLAGS of libraries.
16171         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
16172         Makefile.am, not in configure.ac.
16174 2019-03-04  Bruno Haible  <bruno@clisp.org>
16176         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
16177         * build-aux/install-reloc: Revert change.
16178         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
16180 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16182         nstrftime: support the ‘+’ flag
16183         * lib/nstrftime.c (add, __strftime_internal):
16184         Add support for the ‘+’ flag introduced in POSIX.1-2017.
16185         (__strftime_internal): New arg ‘width’.  All uses changed.
16186         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
16188 2019-02-24  Bruno Haible  <bruno@clisp.org>
16190         relocatable-prog: Improve verbose output.
16191         * build-aux/install-reloc (func_verbose): Escape characters that would
16192         be interpreted by the shell.
16194 2019-02-24  Bruno Haible  <bruno@clisp.org>
16196         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
16197         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
16198         "sys/stat.h".
16199         * lib/lstat.c: Likewise.
16200         * lib/fstat.c: Likewise.
16201         * lib/fstatat.c: Likewise.
16203 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
16205         long-options: add parse_gnu_standard_options_only
16206         Discussed in https://bugs.gnu.org/33468 .
16208         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
16209         (parse_gnu_standard_options_only): Add function to process
16210         the GNU default options --help and --version and fail for
16211         any other unknown long or short option. See
16212         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
16213         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
16214         * modules/long-options (depends-on): Add stdbool, exitfail.
16215         * top/maint.mk (sc_prohibit_long_options_without_use): Update
16216         syntax-check rule, add new function name.
16218 2019-02-23  Bruno Haible  <bruno@clisp.org>
16220         relocatable-prog: Update documentation.
16221         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
16222         the recent changes.
16224 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16226         nstrftime: tweak arg order
16227         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
16228         All callers changed.  Suggested by TAMUKI Shoichi in:
16229         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
16231 2019-02-23  Bruno Haible  <bruno@clisp.org>
16233         relocatable-prog: Use wrapper-free installation also on Mac OS X.
16234         Reported by Paul Smith <psmith@gnu.org>.
16235         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
16236         (func_relativize): New function, from gnulib-tool.
16237         Handle mode 'macosx' through invocations of 'otool' and
16238         'install_name_tool'.
16239         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
16240         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
16241         'install-reloc' invocation with mode 'macosx'.
16243 2019-02-23  Bruno Haible  <bruno@clisp.org>
16245         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
16246         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
16247         Hurd with glibc >= 2.27.
16249 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
16251         nstrftime: merge glibc strftime changes
16252         This incorporates:
16253         2019-02-11 Fix a few whitespace arrangement inconsistencies
16254         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
16255         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
16256         2019-01-11 strftime: use the "L_" macro with character literals
16257         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
16258         callers changed.  Default width of %Ey is now 2.  This is needed
16259         for proper handling of Japanese dates starting on 2019-05-01.
16261 2019-02-19  Bruno Haible  <bruno@clisp.org>
16263         relocatable-prog: Use $ORIGIN trick on more platforms.
16264         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
16265         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
16266         Solaris >= 10, Haiku. But don't use it on Android.
16267         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
16268         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
16270 2019-02-19  Bruno Haible  <bruno@clisp.org>
16272         progreloc: Speed up executable lookup on various platforms.
16273         * lib/progreloc.c: Include <errno.h>.
16274         (safe_read, full_read): New functions.
16275         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
16276         prefer the information from the /proc file system to a PATH search.
16278 2019-02-19  Bruno Haible  <bruno@clisp.org>
16280         progreloc: Simplify code for Android.
16281         * lib/progreloc.c (executable_fd): Don't define on Android.
16282         (maybe_executable, find_executable): Don't use executable_fd on Android.
16284 2019-02-15  Bruno Haible  <bruno@clisp.org>
16286         gnulib-tool: Support --import with just a few tests, not --with-tests.
16287         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
16288         'inctests' when generating files; use 'inctests' only for computing the
16289         transitive closure.
16291 2019-02-14  Bruno Haible  <bruno@clisp.org>
16293         gnulib-tool: Improve handling of multiple --local-dir options.
16294         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
16295         options work.
16296         * gnulib-tool (func_path_prepend): Remove function.
16297         (func_path_foreach): Make IFS handling more robust.
16298         (local_gnulib_path): Collect --local-dir values using func_path_append,
16299         not func_path_prepend.
16300         (func_determine_path_separator): Make IFS handling more robust.
16301         (func_lookup_file_cb): New function.
16302         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
16303         func_lookup_local_file. Apply the patches in the reverse order of their
16304         origin in $local_gnulib_path.
16305         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
16306         * NEWS: Mention that the first --local-dir option is the one with
16307         highest priority.
16309 2019-02-10  Bruno Haible  <bruno@clisp.org>
16311         libtextstyle: New module.
16312         * m4/libtextstyle.m4: New file.
16313         * modules/libtextstyle: New file.
16315 2019-02-05  Bruno Haible  <bruno@clisp.org>
16317         declared.sh: Fix bug with variables of pointer type.
16318         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
16319         before the symbol to be omitted if the preceding character is a '*'.
16321 2019-02-04  Bruno Haible  <bruno@clisp.org>
16323         Add script for running tests under valgrind.
16324         * build-aux/run-test: New file, from GNU libunistring.
16325         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
16326         as well.
16328 2019-02-04  Bruno Haible  <bruno@clisp.org>
16330         declared.sh: Fix --version output.
16331         * build-aux/declared.sh (func_version): Update package name.
16333 2019-02-03  Bruno Haible  <bruno@clisp.org>
16335         Add script for determining the set of symbols to export from a library.
16336         * build-aux/declared.sh: New file, from GNU libunistring.
16337         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
16338         Mention it.
16340 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
16342         vla: add commentary about VLA_ELEMS
16343         * lib/vla.h (VLA_ELEMS): Add commentary,
16344         some inspired by Bruno Haible’s proposal in:
16345         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
16347         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
16348         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
16349         assume the C99 signatures for strtod and strtold.  Programs that
16350         require stricter adherence to C99 should also use the strtod and
16351         strtold modules as needed, and we no longer need the
16352         HAVE_C99_STRTOLD macro.
16353         * NEWS: Mention this.
16354         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
16355         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
16356         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
16357         (Files): Remove m4/c-strtod.m4.
16358         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
16359         exists.
16361 2019-02-02  Bruno Haible  <bruno@clisp.org>
16363         fma: Improve code style.
16364         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
16366 2019-02-02  Colin Watson  <cjwatson@debian.org>
16368         *-map tests: Fix compilation error.
16369         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
16370         * tests/test-hash_map.c: Likewise.
16371         * tests/test-linkedhash_map.c: Likewise.
16373 2019-01-31  Bruno Haible  <bruno@clisp.org>
16375         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
16376         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
16377         GNULIB_defined_strtold_function): New macros.
16378         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
16379         (STRTOD): Ignore HAVE_C99_STRTOLD.
16380         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
16381         deemed buggy. But do use it on platforms where uselocale exists and is
16382         usable.
16383         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
16384         deemed buggy. On platforms where uselocale exists and is usable, use
16385         uselocale and strtod/strtold.
16386         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
16387         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
16388         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
16389         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
16390         (Depends-on): Add strtod.
16391         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
16392         (Depends-on): Add strtold.
16394 2019-01-31  Bruno Haible  <bruno@clisp.org>
16396         strtod, strtold: Use the locale's decimal point.
16397         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
16398         (decimal_point_char): New function, copied from lib/vasnprintf.c.
16399         (parse_number): Add a radixchar argument. Use it instead of '.'.
16400         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
16401         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
16402         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
16403         * tests/test-strtod1.c: New file.
16404         * tests/test-strtod1.sh: New file.
16405         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
16406         locale-fr.m4 and its dependencies.
16407         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
16408         (Makefile.am): Arrange to compile test-strtod1.c and run
16409         test-strtod1.sh.
16410         * tests/test-strtold1.c: New file.
16411         * tests/test-strtold1.sh: New file.
16412         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
16413         locale-fr.m4 and its dependencies.
16414         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
16415         (Makefile.am): Arrange to compile test-strtold1.c and run
16416         test-strtold1.sh.
16418 2019-01-31  Bruno Haible  <bruno@clisp.org>
16420         strtod, strtold tests: Simplify tests.
16421         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
16422         * tests/test-strtold.c (main): Likewise.
16424 2019-01-31  Bruno Haible  <bruno@clisp.org>
16426         strtod, strtold: Avoid unnecessary rounding errors.
16427         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
16428         decimal to DOUBLE conversion.
16430 2019-01-31  Bruno Haible  <bruno@clisp.org>
16432         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
16433         * lib/strtod.c (STRTOD): When there is an extra character after the
16434         exponent marker 'p', reparse the number.
16435         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
16436         * doc/posix-functions/strtold.texi: Likewise.
16438 2019-01-29  Bruno Haible  <bruno@clisp.org>
16440         strtold: Add tests.
16441         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
16442         * modules/strtold-tests: New file.
16444 2019-01-29  Bruno Haible  <bruno@clisp.org>
16446         strtold: New module.
16447         * lib/stdlib.in.h (strtold): New declaration.
16448         * lib/strtold.c: New file.
16449         * lib/strtod.c: Consider USE_LONG_DOUBLE.
16450         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
16451         USE_LDEXP): New macros.
16452         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
16453         USE_LONG_DOUBLE.
16454         (underlying_strtod): Remove function. Replace with some macros.
16455         Re-add the code for a missing underlying function that was removed on
16456         2013-02-19.
16457         * m4/strtold.m4: New file.
16458         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
16459         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
16460         REPLACE_STRTOLD.
16461         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
16462         REPLACE_STRTOLD.
16463         * modules/strtold: New file.
16464         * doc/posix-functions/strtold.texi: Document the new module.
16466 2019-01-29  Bruno Haible  <bruno@clisp.org>
16468         strtod: Fix compilation error on IRIX 6.5.
16469         * modules/strtod (Depends-on): Add 'math'.
16471 2019-01-28  Bruno Haible  <bruno@clisp.org>
16473         Fix build error when building a shared libunistring on Android.
16474         * tests/uninorm/test-nfc.c (n): Don't define on Android.
16475         (main): Add 'volatile', to defeat a GCC optimization that would
16476         eliminate the reference.
16477         * tests/uninorm/test-nfd.c (n): Don't define on Android.
16478         (main): Add 'volatile', to defeat a GCC optimization that would
16479         eliminate the reference.
16480         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
16481         (main): Add 'volatile', to defeat a GCC optimization that would
16482         eliminate the reference.
16483         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
16484         (main): Add 'volatile', to defeat a GCC optimization that would
16485         eliminate the reference.
16487 2019-01-27  Bruno Haible  <bruno@clisp.org>
16489         Avoid build errors due to wrong references between modules.
16490         * lib/uninorm/canonical-decomposition.c: Include
16491         "uninorm/decomposition-table.h", not "decomposition-table.h".
16492         * lib/uninorm/decomposition.c: Likewise.
16493         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
16494         not "decompose-internal.h".
16495         * lib/uninorm/u16-normalize.c: Likewise.
16496         * lib/uninorm/u32-normalize.c: Likewise.
16497         * lib/uninorm/uninorm-filter.c: Likewise.
16498         * lib/uninorm/nfkc.c: Likewise.
16499         * lib/uninorm/nfkd.c: Likewise.
16500         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
16501         "caseprop.h".
16502         * lib/unicase/u8-ct-totitle.c: Likewise.
16503         * lib/unicase/u8-prefix-context.c: Likewise.
16504         * lib/unicase/u8-suffix-context.c: Likewise.
16505         * lib/unicase/u16-casemap.c: Likewise.
16506         * lib/unicase/u16-ct-totitle.c: Likewise.
16507         * lib/unicase/u16-prefix-context.c: Likewise.
16508         * lib/unicase/u16-suffix-context.c: Likewise.
16509         * lib/unicase/u32-casemap.c: Likewise.
16510         * lib/unicase/u32-ct-totitle.c: Likewise.
16511         * lib/unicase/u32-prefix-context.c: Likewise.
16512         * lib/unicase/u32-suffix-context.c: Likewise.
16513         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
16514         "unicasemap.h".
16515         * lib/unicase/u8-toupper.c: Likewise.
16516         * lib/unicase/u8-ct-tolower.c: Likewise.
16517         * lib/unicase/u8-ct-toupper.c: Likewise.
16518         * lib/unicase/u16-tolower.c: Likewise.
16519         * lib/unicase/u16-toupper.c: Likewise.
16520         * lib/unicase/u16-ct-tolower.c: Likewise.
16521         * lib/unicase/u16-ct-toupper.c: Likewise.
16522         * lib/unicase/u32-tolower.c: Likewise.
16523         * lib/unicase/u32-toupper.c: Likewise.
16524         * lib/unicase/u32-ct-tolower.c: Likewise.
16525         * lib/unicase/u32-ct-toupper.c: Likewise.
16526         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
16527         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
16528         * lib/unicase/u16-ct-casefold.c: Likewise.
16529         * lib/unicase/u32-ct-casefold.c: Likewise.
16531 2019-01-27  Bruno Haible  <bruno@clisp.org>
16533         gperf: Fix error when this module is required by some test module.
16534         * modules/gperf (Applicability): Set to 'all'.
16536 2019-01-27  Bruno Haible  <bruno@clisp.org>
16538         tmpfile: Add support for Android.
16539         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
16540         works.
16541         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
16542         Android.
16543         * modules/tmpfile (Depends-on): Add 'stdbool'.
16544         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
16545         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
16547 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
16549         bitsetv: allow free on NULL.
16550         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
16552 2019-01-27  Bruno Haible  <bruno@clisp.org>
16554         test-framework-sh: Improve maintainability.
16555         * tests/init.sh: Clarify what belongs together. Reorder definitions.
16557 2019-01-27  Bruno Haible  <bruno@clisp.org>
16559         tests: Don't assume that /tmp exists.
16560         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
16561         * tests/test-copy-acl-1.sh: Likewise.
16562         * tests/test-file-has-acl-1.sh: Likewise.
16563         * tests/test-copy-file-1.sh: Likewise.
16565 2019-01-27  Bruno Haible  <bruno@clisp.org>
16567         tests: Accommodate a shell that is not in /bin/sh.
16568         * tests/init.sh (setup_): Set srcdir and builddir.
16569         (BOURNE_SHELL): New variable.
16570         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
16571         * modules/file-has-acl-tests (Depends-on): Likewise.
16572         * modules/copy-file-tests (Depends-on): Likewise.
16573         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
16574         scripts through $BOURNE_SHELL.
16575         * tests/test-set-mode-acl-2.sh: Likewise.
16576         * tests/test-copy-acl-1.sh: Likewise.
16577         * tests/test-copy-acl-2.sh: Likewise.
16578         * tests/test-file-has-acl-1.sh: Likewise.
16579         * tests/test-file-has-acl-2.sh: Likewise.
16580         * tests/test-copy-file-1.sh: Likewise.
16581         * tests/test-copy-file-2.sh: Likewise.
16582         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
16583         invoker.
16584         * tests/test-copy-acl.sh (builddir): Likewise.
16585         * tests/test-file-has-acl.sh (builddir): Likewise.
16586         * tests/test-copy-file.sh (builddir): Likewise.
16587         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
16588         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
16589         * tests/test-vc-list-files-git.sh: Likewise.
16591 2019-01-27  Bruno Haible  <bruno@clisp.org>
16593         tests: Fix some "unused variable" warnings.
16594         * tests/test-fts.c (fts_dealloc): Remove unused variable.
16595         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
16596         * tests/test-striconveh.c (main): Move some variable into the
16597         '#if HAVE_ICONV'.
16598         * tests/test-striconveha.c (main): Likewise.
16599         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
16600         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
16601         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
16602         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
16603         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
16604         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
16605         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
16606         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
16607         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
16608         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
16609         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
16610         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
16611         * tests/test-tsearch.c (main): Move some variable into the
16612         '#if HAVE_INITSTATE'.
16614 2019-01-27  Bruno Haible  <bruno@clisp.org>
16616         unigbrk/uc-grapheme-breaks: Fix build failure.
16617         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
16618         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
16620 2019-01-27  Bruno Haible  <bruno@clisp.org>
16622         mountlist: Merge two .m4 files.
16623         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
16624         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
16625         * m4/ls-mntd-fs.m4: Remove file.
16626         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
16628 2019-01-27  Bruno Haible  <bruno@clisp.org>
16630         tests: Enable Linux specific tests on Android.
16631         * tests/test-flock.c (main): Treat Android like Linux.
16632         * tests/test-openat-safer.c (main): Likewise.
16634 2019-01-27  Bruno Haible  <bruno@clisp.org>
16636         relocatable-prog: Use Linux code on Android.
16637         * lib/progreloc.c: Treat Android like Linux.
16639 2019-01-26  Bruno Haible  <bruno@clisp.org>
16641         getloadavg: Add support for Android.
16642         * lib/getloadavg.c: Treat Android like Linux.
16644 2019-01-26  Bruno Haible  <bruno@clisp.org>
16646         vma-iter: Add support for Android.
16647         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
16648         * lib/vma-iter.c: Treat Android like Linux.
16649         * lib/get-rusage-data.c (get_rusage_data): Likewise.
16651 2019-01-26  Bruno Haible  <bruno@clisp.org>
16653         fts: Optimize on Android.
16654         * lib/fts.c: Treat Android like Linux.
16656 2019-01-26  Bruno Haible  <bruno@clisp.org>
16658         fts: Add support for Android.
16659         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
16660         defined by this module and the ones in libc.
16661         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
16663 2019-01-26  Bruno Haible  <bruno@clisp.org>
16665         mountlist: Use Linux code on Android.
16666         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
16667         (unescape_tab, read_file_system_list): Enable Linux code on Android
16668         as well.
16669         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
16670         and endmntent.
16671         * modules/mountlist (Depends-on): Add 'getline'.
16673 2019-01-26  Bruno Haible  <bruno@clisp.org>
16675         localename tests: Fix test failure on Android.
16676         * modules/localename-tests (Depends-on): Add 'setlocale'.
16678 2019-01-26  Bruno Haible  <bruno@clisp.org>
16680         mountlist: Port better to Android.
16681         * lib/mountlist.c (MOUNTED): Redefine on Android.
16682         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
16683         Android.
16685 2019-01-26  Bruno Haible  <bruno@clisp.org>
16687         striconveh: Fix use of uninitialized iconv_t.
16688         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
16689         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
16690         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
16692 2019-01-26  Bruno Haible  <bruno@clisp.org>
16694         nonblocking-socket-tests: Fix test failure on Android 4.3.
16695         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
16696         also on Android.
16698 2019-01-26  Bruno Haible  <bruno@clisp.org>
16700         sh-filename: Add support for Android 4.3.
16701         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
16703 2019-01-26  Bruno Haible  <bruno@clisp.org>
16705         ptsname_r: Work around bug on Android 4.3.
16706         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
16707         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
16708         correct.
16709         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
16710         is defined, just fix the return value.
16711         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
16712         The behaviour of musl libc is nothing to be "fixed", since it is
16713         compliant with the next POSIX standard.
16715 2019-01-26  Bruno Haible  <bruno@clisp.org>
16717         ttyname_r: Work around bug on Android 4.3.
16718         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
16719         * lib/ttyname_r.c (ttyname_r): Implement for Android.
16720         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
16721         * doc/posix-functions/ttyname.texi: Likewise.
16723 2019-01-25  Bruno Haible  <bruno@clisp.org>
16725         getprogname: Port to Android 4.3.
16726         * lib/getprogname.c (getprogname): On Android, take only the last
16727         component of __progname.
16729 2019-01-25  Bruno Haible  <bruno@clisp.org>
16731         wcrtomb: Work around bug on Android 4.3.
16732         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
16733         the C locale.
16734         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
16735         which does not have the 'wctomb' function.
16736         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
16737         * tests/test-wcrtomb.c (main): Accept argument '5'.
16738         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
16740 2019-01-25  Bruno Haible  <bruno@clisp.org>
16742         setlocale: Work around bug on Android 4.3.
16743         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
16744         the "C" locale.
16745         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
16746         * doc/posix-functions/setlocale.texi: Mention the Android bug.
16748 2019-01-24  Bruno Haible  <bruno@clisp.org>
16750         memchr: Work around bug on Android <= 5.0.
16751         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
16752         * doc/posix-functions/memchr.texi: Mention the Android bug.
16754 2019-01-24  Bruno Haible  <bruno@clisp.org>
16756         random: Fix compilation error on Android 4.3.
16757         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
16758         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
16759         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
16760         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
16761         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16762         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
16763         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16764         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
16765         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16766         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
16767         REPLACE_INITSTATE, REPLACE_SETSTATE.
16768         * doc/posix-functions/random.texi: Correct the description of the
16769         situation on Android.
16770         * doc/posix-functions/srandom.texi: Likewise.
16771         * doc/posix-functions/rand.texi: Likewise.
16772         * doc/posix-functions/srand.texi: Likewise.
16774 2019-01-24  Bruno Haible  <bruno@clisp.org>
16776         mbtowc: Fix compilation error on Android 4.3.
16777         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
16778         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
16779         HAVE_MBTOWC.
16780         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
16781         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
16782         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
16783         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
16784         * doc/posix-functions/mbtowc.texi: Mention the change.
16786 2019-01-24  Bruno Haible  <bruno@clisp.org>
16788         fdatasync: Fix compilation error on Android 4.3.
16789         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
16790         test whether fdatasync() exists.
16792 2019-01-24  Bruno Haible  <bruno@clisp.org>
16794         unlinkat: Fix compilation error on Android 4.3.
16795         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
16796         also on Android.
16797         * doc/posix-functions/unlinkat.texi: Mention the issue.
16799 2019-01-24  Bruno Haible  <bruno@clisp.org>
16801         renameat: Fix compilation error on Android 4.3.
16802         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
16803         * doc/posix-functions/renameat.texi: Mention the issue.
16805 2019-01-24  Bruno Haible  <bruno@clisp.org>
16807         fchownat: Fix compilation error on Android 4.3.
16808         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
16809         use.
16810         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
16811         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
16812         * doc/posix-functions/fchownat.texi: Mention the issue.
16814 2019-01-23  Bruno Haible  <bruno@clisp.org>
16816         gnulib-tool: Support running testdirs on Android.
16817         * build-aux/test-driver.diff: New file.
16818         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
16819         build-aux/test-driver after running automake.
16821 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16823         relocatable-prog: avoid warnings from Automake
16824         * modules/relocatable-prog: Don't declare PHONY dependencies in
16825         Automake conditionals.
16827 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16829         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
16830         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
16832 2019-01-23  Bruno Haible  <bruno@clisp.org>
16834         threadlib: Revert commit from 2018-06-25. We now have a better fix.
16835         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
16836         preceding -Wl,--as-needed option. Don't check whether the linker
16837         supports --as-needed/--no-as-needed and --push-state/--pop-state.
16839 2019-01-23  Bruno Haible  <bruno@clisp.org>
16841         thread: Force linking with -lpthread, even when --as-needed is in use.
16842         Reported by Richard W.M. Jones <rjones@redhat.com> in
16843         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
16844         * lib/glthread/thread.h (pthread_create): Don't declare weak.
16846 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
16847             Bruno Haible  <bruno@clisp.org>
16849         relocatable: avoid compiler warnings (-Wshadow)
16850         * lib/relocatable.c (compute_curr_prefix): Rename local variables
16851         to avoid name collisions with global variables.
16853 2019-01-22  Bruno Haible  <bruno@clisp.org>
16855         vasnprintf: Don't use %n on Android.
16856         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
16857         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
16858         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
16860 2019-01-22  Bruno Haible  <bruno@clisp.org>
16862         *printf: Support cross-compilation to Android.
16863         * m4/printf.m4: Add cross-compilation guesses for Android.
16865 2019-01-21  Bruno Haible  <bruno@clisp.org>
16867         diacrit: Mark deprecated.
16868         * modules/diacrit (Status, Notice): Mark as deprecated.
16869         * NEWS: Mention it.
16871 2019-01-20  Bruno Haible  <bruno@clisp.org>
16873         rintl: Override broken implementation on NetBSD.
16874         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
16875         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
16876         REPLACE_RINTL.
16877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
16878         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
16879         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
16880         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
16882 2019-01-20  Bruno Haible  <bruno@clisp.org>
16884         log10l: Work around inaccurate implementation on NetBSD.
16885         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
16886         * lib/log10l.c: Comment out too simplistic override.
16887         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
16889 2019-01-20  Bruno Haible  <bruno@clisp.org>
16891         logl: Work around inaccurate implementation on NetBSD.
16892         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
16893         * lib/logl.c: Comment out unused code.
16894         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
16896 2019-01-20  Bruno Haible  <bruno@clisp.org>
16898         expm1l: Work around inaccurate implementation on NetBSD.
16899         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
16900         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
16901         REPLACE_EXPM1L.
16902         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
16903         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
16904         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
16905         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
16907 2019-01-20  Bruno Haible  <bruno@clisp.org>
16909         expl: Work around inaccurate implementation on NetBSD.
16910         * lib/math.in.h (expl): Test also REPLACE_EXPL.
16911         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
16912         REPLACE_EXPL.
16913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
16914         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
16915         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
16916         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
16918 2019-01-20  Bruno Haible  <bruno@clisp.org>
16920         exp2l: Work around inaccurate implementation on NetBSD.
16921         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
16922         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
16924 2019-01-20  Bruno Haible  <bruno@clisp.org>
16926         floor, floorl: Avoid autoconf warnings.
16927         * modules/floor (configure.ac): Use AC_REQUIRE.
16928         * modules/floorl (configure.ac): Likewise.
16930 2019-01-20  Bruno Haible  <bruno@clisp.org>
16932         Defeat current GCC optimizations in math autoconf tests.
16933         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
16934         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16935         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16936         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16937         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
16938         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
16939         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16940         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16941         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
16942         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
16943         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
16944         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
16945         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
16946         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
16947         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
16948         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
16949         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
16950         * m4/log.m4 (gl_FUNC_LOG): Likewise.
16951         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
16952         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
16953         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
16954         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
16955         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
16956         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
16957         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
16958         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
16959         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
16960         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
16961         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
16962         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
16963         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
16964         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
16965         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16966         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16967         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16968         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16969         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16970         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16972 2019-01-19  Pádraig Brady  <P@draigBrady.com>
16974         gettext: support disabling use of VLAs
16975         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
16977 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16979         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
16980         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
16982 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16984         fcntl: Fix syntax error (regression from 2018-10-05).
16985         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
16987 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16989         relocatable: improve documentation.
16990         * doc/relocatable-maint.texi (Supporting Relocation): For
16991         substitutions performed by config.status, we need more variables
16992         (for instance datarootdir defaults to '${prefix}/share' so we need
16993         prefix).
16995 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16997         backup: update dependencies
16998         * modules/backup-rename (Depends-on): It now depends on opendirat
16999         instead of opendir.  It also uses stdint, and xalloc-oversized.
17000         But no longer dirfd.
17001         * modules/backupfile (Depends-on): Add xalloc-oversized.
17003 2019-01-13  Bruno Haible  <bruno@clisp.org>
17005         getcwd: Fix test failure when building on a Linux 9p file system.
17006         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
17007         EINVAL from mkdir like ENAMETOOLONG.
17008         * tests/test-getcwd.c (test_long_name): Likewise.
17010 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
17012         Fix typos found by codespell.
17013         * lib/*.[hc]: Fix typos in comments.
17014         * pygnulib/*.py: Fix typos in error messages and comments.
17016 2019-01-12  Bruno Haible  <bruno@clisp.org>
17018         doc: Fix documentation about container data types.
17019         Reported by Werner Lemberg <wl@gnu.org>.
17020         * doc/containers.texi (Container data types): Fix typo.
17022 2019-01-10  Bruno Haible  <bruno@clisp.org>
17024         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
17025         Reported by Reuben Thomas <rrt@sc3d.org>.
17026         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
17028 2019-01-06  Bruno Haible  <bruno@clisp.org>
17030         maintainer-makefile: Make the configure.ac section optional.
17031         * top/maint.mk (GREP, SED): Define if not defined.
17033 2019-01-06  Bruno Haible  <bruno@clisp.org>
17035         localename: Assume setlocale function.
17036         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
17037         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
17039 2019-01-06  Bruno Haible  <bruno@clisp.org>
17041         doc: Add documentation about container data types.
17042         * doc/containers.texi: New file.
17043         * doc/gnulib.texi (Particular Modules): Include it.
17045 2019-01-06  Bruno Haible  <bruno@clisp.org>
17047         doc: Update documentation about 'progname' module.
17048         * doc/progname.texi: Rename from doc/error.texi. Change node name and
17049         title. Rewrite.
17050         * doc/gnulib.texi (Particular Modules): Update.
17052 2019-01-06  Bruno Haible  <bruno@clisp.org>
17054         doc: Document the xstdopen and *-safer modules.
17055         * doc/xstdopen.texi: New file.
17056         * doc/gnulib.texi (Particular Modules): Include it.
17058 2019-01-06  Bruno Haible  <bruno@clisp.org>
17060         xstdopen: Add tests.
17061         * tests/test-xstdopen.c: New file.
17062         * tests/test-xstdopen.sh: New file.
17063         * modules/xstdopen-tests: New file.
17065         xstdopen: New module.
17066         * lib/xstdopen.h: New file.
17067         * lib/xstdopen.c: New file.
17068         * modules/xstdopen: New file.
17070 2019-01-06  Bruno Haible  <bruno@clisp.org>
17072         stdopen: Fix compilation error with IRIX cc.
17073         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
17075 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
17077         xfreopen need not include stdio--.h
17078         * lib/xfreopen.c: Do not include stdio--.h.
17080         xfreopen need not depend on freopen-safer
17081         * modules/xfreopen (Depends-on):
17082         Depend on freopen, not freopen-safer.
17084         stdopen: modernize and simplify
17085         * lib/stdopen.c: Update copyright date
17086         Do not include sys/types.h; no longer needed these days.
17087         (stdopen): Use C99-style decl in loop.  Return int errno
17088         value, rather than just a bool.  Do not worry about fd mismatches,
17089         since the caller cares only if 0, 1, 2 are occupied.
17090         * lib/stdopen.h: No need to include <stdbool.h>.
17091         * m4/stdopen.m4: Remove.
17092         * modules/stdopen: New file.
17094         stdopen: copy from last use in coreutils
17095         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
17096         New files, taken from their last commit in coreutils
17097         2007-07-23T12:35:58Z!jim@meyering.net
17098         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
17100 2019-01-05  Bruno Haible  <bruno@clisp.org>
17102         argp: Don't pass an invalid argument to dgettext().
17103         Reported by He X <xw897002528@gmail.com>.
17104         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
17105         dgettext().
17107 2019-01-05  Bruno Haible  <bruno@clisp.org>
17109         argp: Don't pass an invalid argument to dgettext().
17110         Reported by He X <xw897002528@gmail.com>.
17111         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
17112         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
17113         dgettext().
17115 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17117         stdioext: port to newer 32-bit Android
17118         Problem reported by Tom Yan in:
17119         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
17120         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
17121         (fp_) [__ANDROID__]: Use it.
17123 2019-01-04  Bruno Haible  <bruno@clisp.org>
17125         lock: Fix link error with --enable-threads=pth.
17126         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
17127         Mark as weak.
17129 2019-01-04  Bruno Haible  <bruno@clisp.org>
17131         Fix link errors in unit tests.
17132         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17133         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
17134         * modules/array-map-tests (Makefile.am): Link test-array_map against
17135         libintl.
17136         * modules/array-set-tests (Makefile.am): Link test-array_set against
17137         libintl.
17138         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
17139         libintl.
17140         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
17141         libintl.
17142         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
17143         against libintl.
17144         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
17145         against libintl.
17147 2019-01-04  Bruno Haible  <bruno@clisp.org>
17149         Fix incorrect 'Link' sections.
17150         * modules/regex (Link): Mention the link requirement of module 'lock'.
17151         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
17153 2019-01-04  Bruno Haible  <bruno@clisp.org>
17155         Fix some 'Link' sections.
17156         * modules/c-stack (Link): Add link directive from the 'gettext-h'
17157         dependency.
17158         * modules/getaddrinfo (Link): Likewise.
17160 2019-01-04  Bruno Haible  <bruno@clisp.org>
17162         Remove redundant 'Link' sections.
17163         * modules/canon-host (Link): Remove section.
17164         * modules/timevar (Link): Likewise.
17166 2019-01-04  Bruno Haible  <bruno@clisp.org>
17168         Remove incorrect 'Link' sections.
17169         * modules/acl (Link): Remove section. Use combined 'Link' sections from
17170         the dependencies instead.
17171         * modules/crypto/md5 (Link): Likewise.
17172         * modules/crypto/sha1 (Link): Likewise.
17173         * modules/crypto/sha256 (Link): Likewise.
17174         * modules/crypto/sha512 (Link): Likewise.
17175         * modules/faccessat (Link): Likewise.
17176         * modules/fdutimensat (Link): Likewise.
17177         * modules/iconv_open-utf (Link): Likewise.
17178         * modules/propername (Link): Likewise.
17179         * modules/qacl (Link): Likewise.
17180         * modules/unicodeio (Link): Likewise.
17181         * modules/utimecmp (Link): Likewise.
17182         * modules/utimensat (Link): Likewise.
17183         * modules/xstriconv (Link): Likewise.
17184         * modules/xstriconveh (Link): Likewise.
17186 2019-01-04  Bruno Haible  <bruno@clisp.org>
17188         gnulib-tool: New option --extract-recursive-link-directive.
17189         * gnulib-tool (func_usage): Document the new options
17190         --extract-recursive-dependencies, --extract-recursive-link-directive.
17191         (func_verify_module): Document output variables.
17192         (func_get_dependencies_recursively): New function.
17193         (func_get_link_directive_recursively): New function.
17194         Use them to implement the new options
17195         --extract-recursive-dependencies, --extract-recursive-link-directive.
17196         * doc/gnulib-tool.texi (Link-time requirements): New section.
17198 2019-01-04  Bruno Haible  <bruno@clisp.org>
17200         Clarify meaning of 'Link' section in module description.
17201         * doc/gnulib.texi (Module description): Clarify the meaning of the
17202         'Link' section versus the one of the dependencies.
17203         * NEWS: Mention the change.
17205 2019-01-04  Bruno Haible  <bruno@clisp.org>
17207         pselect: Fix module description.
17208         * modules/pselect (Link): Put one link option per line.
17210 2019-01-04  Bruno Haible  <bruno@clisp.org>
17212         cosl: Fix module description.
17213         * modules/cosl (Link): Fix typo.
17214         * modules/mathl (configure.ac): Likewise.
17216 2019-01-04  Bruno Haible  <bruno@clisp.org>
17218         c-xvasprintf: Fix module dependencies.
17219         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
17221 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
17223         bootstrap: die when some submodules are not initialized
17224         * build-aux/bootstrap: Make sure all submodules are initialized.
17226 2019-01-04  Bruno Haible  <bruno@clisp.org>
17228         bitsetv: Fix module dependencies.
17229         * lib/bitsetv.c: Include xalloc.h.
17230         * modules/bitsetv (Depends-on): Add 'xalloc'.
17232 2019-01-04  Bruno Haible  <bruno@clisp.org>
17234         xmemdup0: Remove redundant code.
17235         * lib/xmemdup0.h (xalloc_die): Remove declaration.
17237 2019-01-04  Bruno Haible  <bruno@clisp.org>
17239         backupfile: Fix module dependencies.
17240         * modules/backupfile (Depends-on): Add 'xalloc'.
17242 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17244         bitset, crypto/gc: fix conflicts with Solaris 11
17245         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
17246         avoid clash with Solaris 11 <sys/bitset.h>.
17247         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
17248         with Solaris 11 <xorg/gc.h>.
17250 2019-01-04  Bruno Haible  <bruno@clisp.org>
17252         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
17253         Reported by Andy Fiddaman <andy@omniosce.org>.
17254         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
17256 2019-01-03  Eric Blake  <eblake@redhat.com>
17258         maintainer-makefile: fix typo in previous patch
17259         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
17260         of Roman's work.
17262 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
17264         maintainer-makefile: prefer $(GREP) over grep
17265         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
17266         defined.
17267         * top/maint.mk: Use it everywhere.
17269         maintainer-makefile: split long argument lines
17270         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
17271         it would be too long for exec limits on BSD.
17273 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17275         mkfifo: bring back HAVE_MKFIFO macro
17276         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
17277         Problem reported by Andrew Janke in:
17278         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
17280 2018-12-21  Bruno Haible  <bruno@clisp.org>
17282         Assume Autoconf >= 2.63.
17283         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
17284         versions < 2.60.
17286 2018-12-21  Bruno Haible  <bruno@clisp.org>
17288         memcmp: Mention the clang bug.
17289         * tests/test-memcmp.c: Add comment about a known test failure.
17290         * doc/posix-functions/memcmp.texi: Mention the clang bug.
17292 2018-12-20  Jim Meyering  <meyering@fb.com>
17294         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
17295         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
17296           echo '123-x'|LC_ALL=C grep -E '.\bx'
17297         The goal is to revert the first, but reverting it requires to restore
17298         the function deleted in the second. I ran this to restore the deleted
17299         function:
17300           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
17301             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
17302             | patch -R -p1
17303         * lib/dfa.c (charclass_context): Restore deleted function.
17304         Reverting the primary commit removes this change:
17305         dfa: Simplify a building state
17306         * lib/dfa.c (build_state): Simplify a building state.
17308 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17310         version-etc: allow zero authors
17311         * lib/version-etc.c (version_etc_arn): If no authors are given,
17312         omit authorship info instead of dumping core.
17314 2018-12-19  Bruno Haible  <bruno@clisp.org>
17316         lchown tests: Be more permissive regarding errno values.
17317         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
17318         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
17319         alternative to ENOSYS.
17320         * modules/lchown-tests (Depends-on): Add 'errno'.
17321         * modules/fchownat-tests (Depends-on): Likewise.
17323 2018-12-18  Bruno Haible  <bruno@clisp.org>
17325         duplocale: Avoid test failure on AIX 7.
17326         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
17327         (configure.ac): Invoke gt_FUNC_USELOCALE.
17328         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
17329         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
17330         works.
17332 2018-12-18  Bruno Haible  <bruno@clisp.org>
17334         localename: Fix test failure on AIX 7.
17335         Reported by Assaf Gordon in
17336         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
17337         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
17338         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
17339         instead of ac_cv_func_uselocale.
17340         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
17341         HAVE_USELOCALE.
17342         * lib/localename-table.h: Likewise.
17343         * lib/localename-table.c: Likewise.
17344         * tests/test-localename.c: Likewise.
17345         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
17347 2018-12-18  Bruno Haible  <bruno@clisp.org>
17349         localename: Update comments regarding Cygwin.
17350         * lib/localename.c: Update comment.
17351         * doc/posix-functions/uselocale.texi: Update platforms list.
17352         * doc/posix-functions/newlocale.texi: Likewise.
17353         * doc/posix-functions/duplocale.texi: Likewise.
17354         * doc/posix-functions/freelocale.texi: Likewise.
17356 2018-12-16  Bruno Haible  <bruno@clisp.org>
17358         c-stack: Fix for Linux/sparc.
17359         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
17360         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
17362 2018-12-16  Bruno Haible  <bruno@clisp.org>
17364         localename: Avoid test failure on some glibc systems.
17365         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
17366         Unset environment variables that might disturb the first setlocale call,
17367         and verify that this setlocale call succeeds.
17369 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
17371         random: Fix build error on native Windows (regression from 2018-06-21).
17372         * lib/random.c (__srandom, __initstate, __setstate, __random,
17373         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
17374         to the symbols without '__' prefix.
17376 2018-12-16  Bruno Haible  <bruno@clisp.org>
17378         obstack, libc-config: Support HP-UX cc in C99 mode.
17379         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
17380         compiler, even when in C99 mode.
17381         * lib/cdefs.h (__flexarr): Likewise.
17382         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
17384 2018-12-16  Bruno Haible  <bruno@clisp.org>
17386         localename: Fix test failure on OpenBSD >= 6.2.
17387         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
17388         locale system. Define HAVE_FAKE_LOCALES in this case.
17389         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
17390         HAVE_USELOCALE.
17391         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
17392         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
17393         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
17394         platforms list.
17395         * doc/posix-functions/newlocale.texi: Likewise.
17396         * doc/posix-functions/duplocale.texi: Update platforms list.
17397         * doc/posix-functions/freelocale.texi: Likewise.
17399 2018-12-16  Bruno Haible  <bruno@clisp.org>
17401         duplocale tests: Re-enable the test on platforms without <monetary.h>.
17402         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
17403         of the test, on platforms without <monetary.h>.
17405 2018-12-16  Bruno Haible  <bruno@clisp.org>
17407         localename: Update comments.
17408         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
17410 2018-12-15  Jim Meyering  <meyering@fb.com>
17412         regex: fix indentation
17413         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
17415 2018-12-15  Bruno Haible  <bruno@clisp.org>
17417         openat-safer tests: Avoid test failure on NetBSD 8.
17418         * tests/test-openat-safer.c (main): Execute a Linux specific test only
17419         on Linux.
17421 2018-12-15  Jim Meyering  <meyering@fb.com>
17423         regex: work around a bug in glibc-2.27 and prior
17424         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
17425         assertion for /0|()0|\1|0/.
17426         * tests/test-regex.c (main): Add the same test here.
17428 2018-12-15  Bruno Haible  <bruno@clisp.org>
17430         localename: Fix use of uninitialized shell variable.
17431         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
17432         gt_cv_locale_solaris114 always before use. Remove assignment without
17433         effect.
17435 2018-12-15  Bruno Haible  <bruno@clisp.org>
17437         dfa tests: Avoid test failure on Alpine Linux.
17438         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
17439         command found on Alpine Linux.
17441 2018-12-15  Jim Meyering  <meyering@fb.com>
17443         dfa: avoid new warnings from gcc
17444         These would prevent building with -Werror and a Dec snapshot of gcc.
17445         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
17446         Rename each inner instance to "p".
17447         (charclass_context): Remove unused static function.
17449 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
17451         mkdir-p: improve diagnostic for FUSE mounts
17452         Problem reported by Niklas Hambüchen in:
17453         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
17454         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
17455         errno to mkdir errno if the stat errno is likely more interesting.
17457 2018-12-14  Bruno Haible  <bruno@clisp.org>
17459         hash-map: Add tests.
17460         * tests/test-hash_map.c: New file.
17461         * modules/hash-map-tests: New file.
17463         linkedhash-map: Add tests.
17464         * tests/test-linkedhash_map.c: New file.
17465         * modules/linkedhash-map-tests: New file.
17467         array-map: Add tests.
17468         * tests/test-array_map.c: New file.
17469         * modules/array-map-tests: New file.
17471         xmap: New module.
17472         * lib/gl_xmap.h: New file.
17473         * lib/gl_xmap.c: New file.
17474         * modules/xmap: New file.
17476         hash-map: New module.
17477         * lib/gl_hash_map.h: New file.
17478         * lib/gl_hash_map.c: New file.
17479         * modules/hash-map: New file.
17481         linkedhash-map: New module.
17482         * lib/gl_linkedhash_map.h: New file.
17483         * lib/gl_linkedhash_map.c: New file.
17484         * lib/gl_anyhash1.h: Update comments.
17485         * lib/gl_anyhash2.h: Likewise.
17486         * modules/linkedhash-map: New file.
17488         array-map: New module.
17489         * lib/gl_array_map.h: New file.
17490         * lib/gl_array_map.c: New file.
17491         * modules/array-map: New file.
17493         map: New module.
17494         * lib/gl_map.h: New file.
17495         * lib/gl_map.c: New file.
17496         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
17497         conflict with gl_map.h.
17498         * modules/map: New file.
17500 2018-12-13  Bruno Haible  <bruno@clisp.org>
17502         select tests: Avoid test failure on Cygwin.
17503         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
17505 2018-12-13  Bruno Haible  <bruno@clisp.org>
17507         localtime-buffer: Avoid endless recursion in localtime and gmtime.
17508         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
17510 2018-12-13  Bruno Haible  <bruno@clisp.org>
17512         localeconv tests: Avoid test failure on Cygwin.
17513         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
17514         'mon_grouping' tests.
17516 2018-12-11  Bruno Haible  <bruno@clisp.org>
17518         omap: Don't dispose the old value when the function returns it.
17519         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
17520         here.
17521         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17522         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17523         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
17524         here.
17526         array-omap, avltree-omap, rbtree-omap: Tweak style.
17527         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
17528         false.
17529         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
17531         rbtree-omap: Add tests.
17532         * tests/test-rbtree_omap.c: New file.
17533         * modules/rbtree-omap-tests: New file.
17535         avltree-omap: Add tests.
17536         * tests/test-avltree_omap.c: New file.
17537         * modules/avltree-omap-tests: New file.
17539         array-omap: Add tests.
17540         * tests/test-array_omap.c: New file.
17541         * modules/array-omap-tests: New file.
17543         xomap: New module.
17544         * lib/gl_xomap.h: New file.
17545         * lib/gl_xomap.c: New file.
17546         * modules/xomap: New file.
17548         rbtree-omap: New module.
17549         * lib/gl_rbtree_omap.h: New file.
17550         * lib/gl_rbtree_omap.c: New file.
17551         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
17552         Parameterize.
17553         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
17554         * modules/rbtree-omap: New file.
17555         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
17556         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
17558         avltree-omap: New module.
17559         * lib/gl_avltree_omap.h: New file.
17560         * lib/gl_avltree_omap.c: New file.
17561         * lib/gl_avltree_ordered.h: Code moved to here from
17562         lib/gl_avltree_oset.c. Parameterize.
17563         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
17564         * lib/gl_anytree_omap.h: New file.
17565         * modules/avltree-omap: New file.
17566         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
17567         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
17569         array-omap: New module.
17570         * lib/gl_array_omap.h: New file.
17571         * lib/gl_array_omap.c: New file.
17572         * modules/array-omap: New file.
17574         omap: New module.
17575         * lib/gl_omap.h: New file.
17576         * lib/gl_omap.c: New file.
17577         * modules/omap: New file.
17579 2018-12-11  Bruno Haible  <bruno@clisp.org>
17581         hash-set, linkedhash-set: Reduce code duplication.
17582         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
17583         lib/gl_anyhash_set1.h.
17584         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
17585         lib/gl_anyhash_set2.h. Parameterize.
17586         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
17587         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
17588         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
17589         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
17590         * lib/gl_rbtreehash_list.c: Likewise.
17591         * lib/gl_linkedhash_list.c: Likewise.
17592         (hash_resize_after_add): Remove function.
17593         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
17594         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
17595         * gl_hash_set.c: Likewise.
17596         * modules/avltreehash-list (Files, Makefile.am): Update file list.
17597         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
17598         * modules/linkedhash-list (Files, Makefile.am): Likewise.
17599         * modules/linkedhash-set (Files, Makefile.am): Likewise.
17600         * modules/hash-set (Files, Makefile.am): Likewise.
17602 2018-12-11  Bruno Haible  <bruno@clisp.org>
17604         array-set: Optimize.
17605         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
17606         outside the loop, not inside the loop.
17608 2018-12-11  Bruno Haible  <bruno@clisp.org>
17610         times: Fix tests.
17611         * tests/test-times.c (doublecmp): Implement a total order.
17613 2018-12-11  Bruno Haible  <bruno@clisp.org>
17615         array-set, linkedhash-set, hash-set: Fix tests.
17616         * tests/test-array_set.c (cmp_objects_in_array): New function.
17617         (check_equals): Use it.
17618         * tests/test-hash_set.c: Likewise.
17619         * tests/test-linkedhash_set.c: Likewise.
17621 2018-12-08  Bruno Haible  <bruno@clisp.org>
17623         Fix comments.
17624         * lib/gl_list.h (gl_list_free): Clarify what it does.
17625         * lib/gl_oset.h (gl_oset_free): Likewise.
17626         * lib/gl_set.h (gl_set_free): Likewise.
17627         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
17628         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
17629         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
17630         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
17632 2018-12-03  Bruno Haible  <bruno@clisp.org>
17634         hash-set: Add tests.
17635         * tests/test-hash_set.c: New file.
17636         * modules/hash-set-tests: New file.
17638         linkedhash-set: Add tests.
17639         * tests/test-linkedhash_set.c: New file.
17640         * modules/linkedhash-set-tests: New file.
17642         array-set: Add tests.
17643         * tests/test-array_set.c: New file.
17644         * modules/array-set-tests: New file.
17646         xset: New module.
17647         * lib/gl_xset.h: New file.
17648         * lib/gl_xset.c: New file.
17649         * modules/xset: New file.
17651         hash-set: New module.
17652         * lib/gl_hash_set.h: New file.
17653         * lib/gl_hash_set.c: New file.
17654         * modules/hash-set: New file.
17656         linkedhash-set: New module.
17657         * lib/gl_linkedhash_set.h: New file.
17658         * lib/gl_linkedhash_set.c: New file.
17659         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
17660         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
17661         * lib/gl_anyhash_primes.h: New file, extracted from
17662         lib/gl_anyhash_list2.h.
17663         * lib/gl_anyhash_list2.h: Include it.
17664         (primes, next_prime): Remove definitions.
17665         * modules/linkedhash-set: New file.
17666         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
17667         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17668         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
17669         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17670         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
17671         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17673         array-set: New module.
17674         * lib/gl_array_set.h: New file.
17675         * lib/gl_array_set.c: New file.
17676         * modules/array-set: New file.
17678         set: New module.
17679         * lib/gl_set.h: New file.
17680         * lib/gl_set.c: New file.
17681         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
17682         gl_set.h.
17683         * modules/set: New file.
17685 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
17687         bison: don't force the Yacc mode
17688         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
17689         errors when Bison features are used in the grammar file.  Some of
17690         these features (such as %expect) were flagged non-yacc recently.  Most
17691         of the time, -y is actually used to please Automake's ylwrap which
17692         expects the output to be y.tab.c.
17693         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
17695 2018-12-01  Bruno Haible  <bruno@clisp.org>
17697         gnupload: Document short options.
17698         * build-aux/gnupload (usage): Document the short options.
17700 2018-11-28  Ben Elliston  <bje@gnu.org>
17702         gnupload: Support option -h as alias of --help.
17703         * build-aux/gnupload: Support -h.
17705 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
17707         memrchr: port better to clang
17708         * lib/memrchr.c (__memrchr): Cast to void * instead of to
17709         longword *, to pacify clang -Wcast-align (Bug#33544).
17711 2018-11-29  Eric Blake  <eblake@redhat.com>
17713         docs: mention printf %m considerations
17714         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
17715         is not portable, and is easy enough to work around.
17716         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
17717         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
17718         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
17719         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17720         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17721         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17722         * doc/posix-functions/printf.texi (printf): Likewise.
17723         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17724         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17725         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
17726         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17727         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17728         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17729         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17730         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17731         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17732         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
17733         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17734         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17736 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
17738         bitset: rename ebitset/expandable.* as tbitset/table.*
17739         See
17740         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
17741         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
17742         * lib/bitset/table.h, lib/bitset/table.c: these.
17743         Rename all the ebitset* symbols as tbitset*.
17744         Adjust dependencies.
17746 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17748         bitset: check the operations
17749         * tests/test-bitset.c (bitset_random): New.
17750         Use it.
17751         * lib/bitset/expandable.c (ebitset_not): Fix typo.
17753 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17755         bitset: properly use false/true instead of 0/1 for Booleans
17756         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
17757         0/1, as Booleans.
17759 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17761         bitset: rename BITSET_VARRAY as BITSET_VECTOR
17762         For consistency with the name of the file.
17763         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
17764         * lib/bitset/stats.c, lib/bitset/vector.c
17765         (BITSET_VARRAY): Rename as...
17766         (BITSET_VECTOR): this.
17768 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17770         strerror_r-posix: memmove, not memcpy
17771         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
17772         since the source and destination might overlap in the call
17773         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
17774         Simplify.
17776 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17778         bitsetv: new module
17779         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
17781 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17783         bitset: add tests and doc
17784         First stabs at providing a documentation and test for the bitset
17785         module.
17786         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
17788 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17790         bitset: new module
17791         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
17792         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
17793         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
17794         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
17795         * lib/bitset/vector.h, modules/bitset:
17796         New.
17798 2018-11-23  Bruno Haible  <bruno@clisp.org>
17800         localename: Fix gettext test failures on mingw.
17801         * lib/localename.c (gl_locale_name_posix): Convert the result of
17802         gl_locale_name_environ to XPG syntax.
17804 2018-11-23  Karl Berry  <karl@freefriends.org>
17806         * config/srclistvars.txt,
17807         * config/srclist.txt: remove all gettext references;
17808         the gettext maintainers will sync as needed.
17810 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17812         mktime: add libc-config dependency
17813         I missed this when we synced from glibc.
17814         * modules/mktime (Depends-on): Add libc-config.
17816 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17818         longlong: fix comment typo
17819         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
17821 2018-11-11  Bruno Haible  <bruno@clisp.org>
17823         havelib: Remove the need to include asm-underscore.m4.
17824         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
17825         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
17826         gl_HOST_CPU_C_ABI.
17827         * modules/havelib (Files): Add host-cpu-c-abi.m4.
17828         (Depends-on): Remove host-cpu-c-abi.
17830 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17832         parse-datetime: simplify test for mktime failure
17833         * lib/parse-datetime.y (mktime_ok): Simplify.
17834         Remove args TZ and T; no longer needed.  Callers changed.
17836         posixtm: simplify test for mktime failure
17837         * lib/posixtm.c (posixtime): Simplify.
17839         nstrftime: simplify test for mktime failure
17840         * lib/nstrftime.c (__strftime_internal): Simplify.
17842 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17844         gnulib-common.m4: port _Noreturn to C++
17845         Problem reported by Akim Demaille in:
17846         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
17847         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
17848         Merge adjustments from _Noreturn.h and from glibc into the non-C++
17849         version.
17850         * lib/_Noreturn.h: Match gnulib-common.
17852 2018-10-30  Bruno Haible  <bruno@clisp.org>
17854         gnu-make: Fix for NetBSD 8 'make'.
17855         Reported by Reuben Thomas in
17856         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
17857         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
17858         output, ignoring exit codes.
17860 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
17862         maintainer-makefile: fix syntax-check rule for "same.h"
17863         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
17864         for 'same_nameat', too.
17866 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
17868         havelib: fix nested ‘configure’ chatter
17869         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
17870         AC_CACHE_CHECK calls, which resulted in confusing output like
17871         “checking for the common suffixes of directories in the library
17872         search path... checking for 64-bit host... no lib,lib”.
17874         backupfile: tweak for better code
17875         * lib/backupfile.c: Sort include directives, and remove
17876         unnecessary <limits.h> include.
17877         (FALLTHROUGH): New macro, copied from other modules.
17878         (backupfile_internal): Use it to avoid code duplication.
17879         This lets GCC 8.2.1 generate better code by inlining the
17880         call to check_extension.
17882 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
17884         backupfile: new dir_fd args
17885         New module opendirat with code taken from fts.
17886         Use this module to let backupfile use a directory file descriptor.
17887         * NEWS: Document the incompatible change.
17888         * lib/backup-find.c (find_backup_file_name):
17889         * lib/backup-rename.c (backup_file_rename):
17890         New arg DIR_FD.
17891         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
17892         (SIZE_MAX): Remove.
17893         Include opendirat.h rather than dirent--.h.
17894         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
17895         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
17896         (backupfile_internal): New arg DIR_FD.  All callers changed.
17897         * lib/fts.c: Include opendirat.h.
17898         (opendirat): Move to opendirat.c.
17899         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
17900         * modules/backupfile (Depends-on): Remove dirfd, opendir.
17901         Add opendirat.
17902         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
17903         Add opendirat.
17905 2018-10-23  Bruno Haible  <bruno@clisp.org>
17907         localename: Simplify support for per-thread locales on Solaris 11.4.
17908         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
17909         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
17910         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
17911         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
17912         specific code.
17913         * lib/localename-table.h: Update comments.
17914         * lib/localename-table.c: Update comments.
17915         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
17916         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
17917         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
17918         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
17919         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
17920         HAVE_NAMELESS_LOCALES here.
17921         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
17922         m4/intlsolaris.m4.
17923         * modules/gettext (Files): Likewise.
17925 2018-10-22  Bruno Haible  <bruno@clisp.org>
17927         std-gnu11: Support Autoconf versions < 2.64.
17928         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
17929         when _AC_DO_LIMIT does not exist.
17931 2018-10-22  Bruno Haible  <bruno@clisp.org>
17933         Assume Autoconf >= 2.63.
17934         * DEPENDENCIES: Mention the requirement.
17936         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
17937         (func_get_filelist): Don't list m4/onceonly.m4 any more.
17938         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
17939         * m4/onceonly.m4: Remove file.
17941         * m4/openmp.m4: Remove file.
17942         * modules/openmp (Files): Remove m4/openmp.m4.
17944         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
17945         htmldir, dvidir, pdfdir, psdir, localedir.
17946         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
17948         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
17949         Autoconf < 2.60.
17950         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
17951         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
17953         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
17954         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
17955         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
17957         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
17958         exists.
17959         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
17961         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
17962         Autoconf < 2.61.
17964         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
17965         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
17966         Autoconf >= 2.52.
17968         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
17969         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
17970         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
17972 2018-10-22  Bruno Haible  <bruno@clisp.org>
17974         Assume Automake >= 1.11.
17975         * m4/configmake.m4: Update comments.
17976         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
17977         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
17978         of 'eval'.
17979         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
17980         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
17981         requires Automake >= 1.11.
17983 2018-10-22  Bruno Haible  <bruno@clisp.org>
17985         localename: Fix typo in comment.
17986         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
17988 2018-10-22  Bruno Haible  <bruno@clisp.org>
17990         Fix failure of 'gnulib-tool --create-testdir' with all modules.
17991         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
17993 2018-10-21  Bruno Haible  <bruno@clisp.org>
17995         locale: Ease integration with GNU libintl.
17996         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
17997         GNULIB_defined_freelocale): New macros.
17999 2018-10-21  Bruno Haible  <bruno@clisp.org>
18001         localename: Fine-tune support for per-thread locales on Solaris 11.4.
18002         * lib/localename-table.h: New file, extracted from lib/localename.c.
18003         * lib/localename-table.c: Likewise.
18004         * lib/localename.c: Include localename-table.h.
18005         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
18006         locale_hash_function instead of pointer_hash.
18007         * modules/localename (Files): Add lib/localename-table.h,
18008         lib/localename-table.c.
18009         (lib_SOURCES): Add localename-table.c.
18010         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
18011         for Solaris 11.4 locale system only on Solaris. Test for it
18012         independently whether getlocalename_l exists.
18013         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
18014         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
18015         HAVE_NAMELESS_LOCALES.
18016         * modules/gettext (Files): Add m4/intlsolaris.m4.
18018 2018-10-21  Bruno Haible  <bruno@clisp.org>
18020         Small update from gettext.
18021         * m4/intl.m4: Update from gettext:
18022         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
18023         mode on AIX.
18024         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
18025         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
18027 2018-10-16  Bruno Haible  <bruno@clisp.org>
18029         mountlist: Remove support for Cray with UNICOS 9.
18030         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
18031         MOUNTED_LISTMNTENT.
18032         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
18034 2018-10-16  Bruno Haible  <bruno@clisp.org>
18036         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
18037         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
18038         STAT_STATFS2_FS_DATA.
18039         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
18040         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
18041         MOUNTED_GETMNT.
18042         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
18043         * lib/getloadavg.c (decstation): Remove definition and case.
18044         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
18045         * lib/getgroups.c: Likewise.
18046         * doc/posix-functions/getgroups.texi: Likewise.
18047         * lib/time.in.h: Update comments.
18049 2018-10-16  Bruno Haible  <bruno@clisp.org>
18051         getloadavg: Remove support for ConvexOS.
18052         * lib/getloadavg.c: Remove convex case.
18054 2018-10-16  Bruno Haible  <bruno@clisp.org>
18056         getloadavg: Remove support for Sony NEWS.
18057         * lib/getloadavg.c: Remove sony_news case.
18059 2018-10-16  Bruno Haible  <bruno@clisp.org>
18061         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
18062         * lib/fsusage.c: Remove _SEQUENT_ case.
18063         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
18064         * lib/mountlist.c: Don't test for MNTTABNAME.
18065         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
18066         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
18067         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
18068         * lib/stat-size.h: Don't mention the Sequent bug.
18069         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
18071 2018-10-16  Bruno Haible  <bruno@clisp.org>
18073         fsusage: Remove support for AIX 3.
18074         * lib/fsusage.c: Remove code for AIX 3.
18075         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
18077 2018-10-16  Bruno Haible  <bruno@clisp.org>
18079         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
18080         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
18081         * lib/fsusage.c: Remove code for AIX PS/2.
18082         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
18083         * lib/getloadavg.c: Likewise.
18085 2018-10-16  Bruno Haible  <bruno@clisp.org>
18087         getloadavg: Remove support for HP-UX on m68k.
18088         * lib/getloadavg.c: Remove hp9000s300 case.
18090 2018-10-16  Bruno Haible  <bruno@clisp.org>
18092         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
18093         * lib/fsusage.c: Remove DOLPHIN case.
18094         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
18095         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
18097 2018-10-16  Bruno Haible  <bruno@clisp.org>
18099         getloadavg: Remove support for Alliant FX/2800.
18100         * lib/getloadavg.c: Remove alliant case.
18102 2018-10-16  Bruno Haible  <bruno@clisp.org>
18104         getloadavg: Remove support for tek4300.
18105         * lib/getloadavg.c: Remove tek4300 case.
18107 2018-10-16  Bruno Haible  <bruno@clisp.org>
18109         getloadavg: Remove support for Ardent.
18110         * lib/getloadavg.c: Remove ardent case.
18112 2018-10-16  Bruno Haible  <bruno@clisp.org>
18114         mountlist: Remove support for SVR2.
18115         Reported by Andrew Borodin <aborodin@vmail.ru> in
18116         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
18117         * lib/mountlist.c: Remove MOUNTED_FREAD case.
18118         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
18119         MOUNTED_FREAD.
18121 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
18123         libc-config: merge from glibc
18124         * lib/cdefs.h (__glibc_has_attribute): New macro.
18126         regex: depend on libc-config
18127         * modules/regex (Depends-on): Add libc-config.
18128         This is needed after the recent autoupdate from glibc.
18130 2018-10-14  Bruno Haible  <bruno@clisp.org>
18132         localename: Add support for per-thread locales on Solaris 11.4.
18133         * lib/locale.in.h (newlocale, freelocale): New declarations.
18134         (duplocale): Declare also when the 'localename' module requests it.
18135         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
18136         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
18137         (struniq): Update.
18138         (struct locale_categories_names, struct locale_hash_node): New types.
18139         (LOCALE_HASH_TABLE_SIZE): New constant.
18140         (locale_hash_table, locale_lock): New variables.
18141         (pointer_hash, get_locale_t_name): New functions.
18142         (newlocale, duplocale, freelocale): New overridden functions.
18143         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
18144         * m4/intlsolaris.m4: New file.
18145         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
18146         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
18147         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
18148         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
18149         declared.
18150         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
18151         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
18152         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
18153         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
18154         * modules/localename (Files): Add intlsolaris.m4.
18155         (Depends-on): Add 'locale'.
18156         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
18157         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
18158         the signatures.
18160 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
18162         timevar: use gethrxtime to get wall clock time
18163         clock_gettime is not portable.  gethrxtime takes the best available
18164         option to get the wall clock time, including clock_gettime (monotonic
18165         clock), and gettime (non monotonic).
18166         Also, using xtime_t instead of float preserves the precision.
18167         Suggested by Bruno Haible.
18168         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
18169         * modules/timevar (Depends-on): We need gethrxtime.
18170         We no longer use times().
18171         (Link): Update.
18172         * lib/timevar.h (timevar_time_def): Use xtime_t.
18173         * lib/timevar.c (set_to_current_time): Use gethrxtime.
18174         (timevar_print): Instead of checking whether the timings themselves
18175         are large enough for the timevar to be printed, check the percentages.
18177 2018-10-14  Bruno Haible  <bruno@clisp.org>
18179         wcsnrtombs: Work around Solaris 11.4 bug.
18180         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
18181         macro.
18182         (gl_FUNC_WCSNRTOMBS): Invoke it.
18183         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
18185 2018-10-14  Bruno Haible  <bruno@clisp.org>
18187         mbsnrtowcs: Work around Solaris 11.4 bug.
18188         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
18189         macro.
18190         (gl_FUNC_MBSNRTOWCS): Invoke it.
18191         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
18193 2018-10-14  Bruno Haible  <bruno@clisp.org>
18195         doc: Update for Solaris 11.4.
18196         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
18197         mention Solaris 11.4.
18198         * m4/printf.m4: Update comments about Solaris.
18199         * m4/log.m4: Likewise.
18200         * m4/log10.m4: Likewise.
18201         * m4/logb.m4: Likewise.
18202         * m4/logbf.m4: Likewise.
18203         * m4/logbl.m4: Likewise.
18204         * m4/rename.m4: Likewise.
18205         * m4/wcrtomb.m4: Likewise.
18206         * m4/hostent.m4: Likewise.
18207         * m4/servent.m4: Likewise.
18209 2018-10-14  Bruno Haible  <bruno@clisp.org>
18211         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
18212         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
18213         pointer.
18214         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
18215         pointer.
18216         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
18217         pointer.
18218         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
18219         pointer.
18220         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
18221         pointer.
18223 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18225         bootstrap: fix wget command for po files.
18226         * build-aux/bootstrap (po_download_command_format): Fix comment,
18227         and adjust callers.
18229 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18231         timevar: improve the output format
18232         Suggested by Bruno Haible.
18233         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
18234         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
18235         wall, since its resolution is much higher.
18237 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18239         timevar: expect that getrusage is available.
18240         Don't keep both times and getrusage as backend: both are guaranteed by
18241         gnulib, a single one suffices.  Using getrusage is open to possibly
18242         tracking other types of resources in the future.
18243         * modules/timevar (Depends-on): Add getrusage.
18244         (configure.ac): Remove gl_TIMEVAR.
18245         (Files): Remove m4/timevar.m4.
18246         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
18247         * lib/timevar.h (timevar_enabled): Clarify documentation.
18248         * lib/timevar.c: Remove all the code about times.
18249         Remove all the CPP guards about getrusage: expect it to be present
18250         (courtesy of gnulib).
18252 2018-10-12  Bruno Haible  <bruno@clisp.org>
18254         mountlist: Improve support for Solaris in 64-bit mode.
18255         Reported by David Wood <David.Wood@deshaw.com> in
18256         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
18257         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
18258         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
18259         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
18261 2018-10-12  Bruno Haible  <bruno@clisp.org>
18263         mountlist: Add support for Minix.
18264         Reported by Assaf Gordon in
18265         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
18266         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
18267         AC_CHECK_FUNCS to check for 'getmntinfo'.
18268         * lib/mountlist.c: Update comments.
18270 2018-10-12  Bruno Haible  <bruno@clisp.org>
18272         Make better use of Autoconf.
18273         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
18274         * m4/manywarnings.m4: Likewise.
18275         * m4/manywarnings-c++.m4: Likewise.
18276         * m4/socklen.m4: Likewise.
18277         * m4/sockpfaf.m4: Likewise.
18278         * m4/stdarg.m4: Likewise.
18279         * m4/visibility.m4: Likewise.
18280         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
18281         indentation.
18282         * m4/ls-mntd-fs.m4: Likewise.
18284 2018-10-11  Bruno Haible  <bruno@clisp.org>
18286         mountlist: Modernize platform lists.
18287         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
18288         platforms, deemphasizing the obsolete ones.
18289         * lib/mountlist.c: Likewise.
18291 2018-10-11  Bruno Haible  <bruno@clisp.org>
18293         getprogname: Add support for 32-bit programs on HP-UX.
18294         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
18295         try the similar functions 32-bit programs on 64-bit HP-UX.
18297 2018-10-11  Bruno Haible  <bruno@clisp.org>
18299         getprogname: Work around program name truncation when possible.
18300         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
18301         possibly use pst_cmd instead.
18303 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18305         fts: cleanup after FTS_NOATIME removal
18306         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
18307         (FTS_STOP): Shrink to minimal values.  We don’t need to
18308         worry about binary compatibility in Gnulib, and the old way
18309         of doing things had a hole in the user options that caused
18310         FTS_OPTIONMASK to not work as desired.
18312 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
18314         fts: remove FTS_NOATIME
18315         This reverts commit da4d6974013c822af1498941e32db774b2031765.
18316         We cannot guarantee that O_NOATIME works: e.g. openat fails
18317         with EPERM if the effective user ID of the caller does not match
18318         the owner of the file and the caller is not privileged.
18319         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
18320         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
18321         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
18322         (FTS_OPTIONMASK): Adjust.
18323         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
18324         (fd_ring_check): Likewise.
18326 2018-10-08  Bruno Haible  <bruno@clisp.org>
18328         csharpcomp*, csharpexec*: Remove support for pnet.
18329         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
18330         HAVE_CSCC.
18331         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
18332         Don't test HAVE_CSCC.
18333         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
18334         (compile_csharp_class): Don't invoke it.
18335         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
18336         HAVE_ILRUN.
18337         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
18338         Don't test HAVE_ILRUN.
18339         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
18340         (execute_csharp_program): Don't invoke it.
18341         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
18342         any more.
18344 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
18346         renameatu: prefer renameat2 to syscall
18347         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
18348         Use renameat2 instead of syscall (Bug#32796).
18349         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
18351 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
18353         bootstrap, gnulib-tool: use https instead of insecure rsync
18354         * build-aux/bootstrap (download_po_files, po_download_command_format):
18355         Don't try using rsync; always use wget over https to fetch PO files.
18356         * gnulib-tool (func_import): Likewise.
18357         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18359 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
18361         bootstrap, gnulib-tool: correct the translations wget command
18362         * build-aux/bootstrap (po_download_command_format2): Restrict
18363         recursion to a single level.
18364         * gnulib-tool (func_import): Likewise.
18365         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18367 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
18369         doc: the gnulib snapshots are not maintained
18370         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
18372 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
18374         timevar: add to lib_SOURCES
18375         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
18377 2018-10-07  Bruno Haible  <bruno@clisp.org>
18379         dirent: Update documentation.
18380         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
18382 2018-10-05  Bruno Haible  <bruno@clisp.org>
18384         strpbrk: Make it possible to namespace the defined symbol.
18385         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
18387 2018-10-05  Bruno Haible  <bruno@clisp.org>
18389         strcspn: Make it possible to namespace the defined symbol.
18390         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
18392 2018-10-05  Bruno Haible  <bruno@clisp.org>
18394         raise: Make it possible to namespace the defined symbol.
18395         * lib/raise.c (raise): Undefine only after the replacement function has
18396         been defined.
18397         (raise): Renamed from rpl_raise.
18398         (raise_nothrow): Move to the end of the compilation unit.
18400 2018-10-05  Bruno Haible  <bruno@clisp.org>
18402         memcmp: Make it possible to namespace the defined symbol.
18403         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
18405 2018-10-05  Bruno Haible  <bruno@clisp.org>
18407         explicit_bzero: Make it possible to namespace the defined symbol.
18408         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
18409         glibc.
18411 2018-10-05  Bruno Haible  <bruno@clisp.org>
18413         mkdir-p: Depend on 'mkdir'.
18414         * modules/mkdir-p (Depends-on): Add 'mkdir'.
18416 2018-10-05  Bruno Haible  <bruno@clisp.org>
18418         tempname: Depend on 'mkdir'.
18419         Reported by Maarten Bosmans <mkbosmans@gmail.com>
18420         at <https://savannah.gnu.org/bugs/?33379>.
18421         * modules/tempname (Depends-on): Add 'mkdir'.
18423 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
18425         timevar: rely on gnulib modules for time portability.
18426         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
18427         * m4/timevar.m4: Don't check for clock_t and struct tms,
18428         guaranteed by gnulib.
18429         * lib/timevar.h: Use extern "C" protection.
18430         Include <stdio.h> for FILE.
18431         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
18432         they are guaranteed by gnulib.
18433         Remove uses of clock as (now useless) fallback.
18435 2018-10-04  Bruno Haible  <bruno@clisp.org>
18437         sh-filename: New module.
18438         * m4/sh-filename.m4: New file.
18439         * modules/sh-filename: New file.
18440         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
18441         "/bin/sh".
18442         * tests/test-posix_spawn1.c (main): Likewise.
18443         * tests/test-posix_spawn2.c (main): Likewise.
18444         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
18445         is_envjavac_gcj43): Likewise.
18446         * lib/javaexec.c (execute_java_class): Likewise.
18447         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
18448         * modules/posix_spawnp-tests (Depends-on): Likewise.
18449         * modules/javacomp (Depends-on): Likewise.
18450         * modules/javaexec (Depends-on): Likewise.
18452 2018-10-04  Bruno Haible  <bruno@clisp.org>
18454         spawn-pipe tests: Avoid test failure on native Windows.
18455         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
18456         that fd 2 is closed.
18458 2018-10-04  Bruno Haible  <bruno@clisp.org>
18460         fcntl: Make it possible to namespace the defined symbol.
18461         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
18462         been defined.
18463         (fcntl): Renamed from rpl_fcntl.
18464         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
18465         from fcntl.
18466         (klibc_fcntl): Move to the end of the compilation unit.
18468 2018-10-02  Bruno Haible  <bruno@clisp.org>
18470         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
18471         * tests/test-vasnprintf.c (test_function): Change the test added on
18472         2018-09-23 to check only the 18 most significant digits.
18474         vasnprintf tests: Avoid test failure on Cygwin.
18475         * tests/test-vasnprintf.c (test_function): Change the test added on
18476         2018-09-23 to check only the 42 most significant digits.
18478 2018-10-01  Bruno Haible  <bruno@clisp.org>
18480         mkostemp, mkostemps: Update documentation.
18481         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
18482         * doc/glibc-functions/mkostemps.texi: Likewise.
18484 2018-10-01  Tom Tromey  <tom@tromey.com>
18486         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
18487         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
18488         on OS X.
18490 2018-09-30  Pádraig Brady  <P@draigBrady.com>
18492         hmac-*: refactor to remove repetitive code
18493         * lib/hmac.c: A new parameterized single implementation.
18494         * lib/hmac-md5.c: Define parameters and include implementation.
18495         * lib/hmac-sha1.c: Likewise.
18496         * lib/hmac-sha256.c: Likewise.
18497         * lib/hmac-sha512.c: Likewise.
18498         * modules/crypto/hmac-md5: Reference the new implementation file.
18499         * modules/crypto/hmac-sha1: Likewise.
18500         * modules/crypto/hmac-sha256: Likewise.
18501         * modules/crypto/hmac-sha512: Likewise.
18502         * tests/test-hmac-md5.c: Refactor common code to a single function.
18503         * tests/test-hmac-sha1.c: Likewise.
18504         * tests/test-hmac-sha256.c: Likewise.
18505         * tests/test-hmac-sha512.c: Likewise.
18507 2018-09-30  Zhang Qing  <zhangqingl@126.com>
18509         hmac-sha512: fix hash for keys > blocksize (128 bytes)
18510         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
18511         key length to that output by sha512, not the blocksize.
18512         Otherwise uninitialized data from the stack
18513         is used when computing the hash.
18514         * tests/test-hmac-sha512.c: Add a shortened key test case.
18515         Reported at https://github.com/coreutils/gnulib/pull/5
18517 2018-09-30  Bruno Haible  <bruno@clisp.org>
18519         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
18520         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
18521         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
18522         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
18523         'unsigned int' before comparison with an unsigned value.
18525 2018-09-30  Bruno Haible  <bruno@clisp.org>
18527         grantpt: Remove unnecessary dependency.
18528         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
18530 2018-09-30  Bruno Haible  <bruno@clisp.org>
18532         timevar: Small tweaks.
18533         * lib/timevar.h: Fix comments. Add parameter names to function
18534         declarations.
18535         * lib/timevar.c: Include timevar.h immediately after config.h.
18536         * lib/timevar.def: Fix comments.
18537         * modules/timevar (Maintainer): List Akim Demaille.
18539 2018-09-30  Bruno Haible  <bruno@clisp.org>
18541         timevar: Include documentation in gnulib manual.
18542         * doc/timevar.texi: Change node and section name to 'Profiling of
18543         program phases'.
18544         In the code snippets, tweak the #includes and use GNU coding style.
18545         * doc/gnulib.texi: Include timevar.texi.
18547 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
18549         timevar: import from Bison.
18550         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
18551         New files.
18552         * lib/timevar.def: New file.
18553         * doc/timevar.texi: New file.
18555 2018-09-26  Bruno Haible  <bruno@clisp.org>
18557         javacomp-script, javacomp: Add preliminary support for Java 12..17.
18558         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
18559         * lib/javacomp.c (default_target_version): Likewise.
18561 2018-09-26  Bruno Haible  <bruno@clisp.org>
18563         javacomp-script, javacomp: Add support for Java 11.
18564         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
18565         target-version 11.
18566         * lib/javaversion.h: Update comments.
18567         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
18568         source_version_index, get_goodcode_snippet, get_failcode_snippet,
18569         TARGET_VERSION_BOUND, target_version_index,
18570         corresponding_classfile_version): Accept source_version 11 and
18571         target_version 11.
18572         * lib/javacomp.h: Update comments accordingly.
18574 2018-09-23  Bruno Haible  <bruno@clisp.org>
18576         vasnprintf: Fix heap memory overrun bug.
18577         Reported by Ben Pfaff <blp@cs.stanford.edu> in
18578         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
18579         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
18580         memory.
18581         * tests/test-vasnprintf.c (test_function): Add another test.
18583 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
18585         maint: mktime.c now shared with glibc
18586         * config/srclist.txt: intprops.h, timegm.c and mktime.c
18587         are now the same in Gnulib and glibc.
18589         mktime: fix _LIBC typo
18590         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
18592 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18594         dfa: optimization for state merge
18595         * lib/dfa.c (merge2): New function.
18596         (merge_nfa_state): Use it.
18598 2018-09-18  Jim Meyering  <meyering@fb.com>
18600         dfa: trivial comment fix: s/is/if/
18601         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
18603 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18605         dfa: use more-informative function name
18606         * lib/dfa.c (maybe_disable_superset_dfa):
18607         Rename from dfautf8noss.  Use change.
18609         dfa: tweak allocation performance
18610         * lib/dfa.c (merge_nfa_state, dfaoptimize):
18611         Prefer ptrdiff_t for indexes some more.
18612         Use char for flags, as it’s wide enough.
18613         Allocate queue and flags together, with one malloc call.
18614         No need to use xnmalloc since the multiplication and
18615         addition cannot overflow (it’s already been checked by
18616         earlier allocation).  Prefer memset to open-coding.
18618         dfa: prune states as we go
18619         * lib/dfa.c (prune): Remove.
18620         dfa: reorder enum for efficiency
18621         (merge_nfa_state): Prune as we go instead of at the end.
18622         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
18624         * lib/dfa.c (END): Now -1 again.  Reorder other elements
18625         of the enumeration to make it easier for GCC to generate
18626         efficient code by using fewer comparisons to check for
18627         ranges of values.
18628         (atom): Take advantage of the reordering.
18630 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18632         dfa: optimize alternation in NFA
18633         Even when similar states exist in alternation, the DFA treats them
18634         as separate items, which may complicate the transition in NFA and
18635         cause slowdown.  This change assembles the states into one.  For
18636         example, ab|ac is changed into a(b|c).  This change speeds-up
18637         matching for many branched patterns.  For example, grep speeds up
18638         more than 30× in:
18640           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
18641           time -p env LC_ALL=C grep -vf in in
18643         * lib/dfa.c (prune): New function.
18644         (merge_nfa_state): New function.  It merges similar NFA states.
18645         (dfaoptimize): New function.  It seeks merged and removed nodes.
18646         (dfaanalyze): Call new function.
18647         (dfautf8noss): Change name from dfaoptimize because of addition of new
18648         function.
18649         (dfacomp): Update caller.
18651         dfa: simplify initial state
18652         Simplifying the initial state enables easier optimization of the NFA.
18653         * lib/dfa.c (enum token): Add new element BEG.
18654         (prtok): Adjust due to adding element BEG.
18655         (dfaparse): Put BEG at a head of tokens.
18656         (state_index): Adjust due to adding element BEG.
18657         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
18658         build initial state.
18659         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
18661 2018-09-18  Bruno Haible  <bruno@clisp.org>
18663         file-has-acl: Fix test failure on Cygwin 2.9.
18664         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
18665         * lib/acl-internal.h: Likewise.
18666         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
18667         * lib/acl-internal.c: Update comments regarding Cygwin.
18668         * lib/acl_entries.c: Likewise.
18669         * lib/file-has-acl.c: Likewise.
18670         (file_has_acl): For Cygwin, use a different way to determine whether
18671         the "default" ACL of a directory is nontrivial.
18672         * lib/get-permissions.c: Update comments regarding Cygwin.
18673         * lib/set-permissions.c: Likewise.
18675 2018-09-18  Bruno Haible  <bruno@clisp.org>
18677         stat-time tests: Fix test failure on Cygwin.
18678         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
18680 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18682         doc: OS X 10.11 lacked ns time functions
18683         According to <https://github.com/zeromq/libzmq/issues/2175>,
18684         nanosecond-resolution timestamp functions were introduced
18685         in macOS 10.12, so document the last version (OS X 10.11)
18686         where they were absent.
18688         gettime: nanotime never existed
18689         Problem reported by Bruno Haible in:
18690         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
18691         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
18692         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
18694 2018-09-18  Bruno Haible  <bruno@clisp.org>
18696         doc: Update statement about target platforms.
18697         Reported by Simon Sobisch.
18698         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
18699         restrictions on MSVC versions.
18701 2018-09-18  Bruno Haible  <bruno@clisp.org>
18703         posix_spawn tests: Fix link error on 64-bit Cygwin.
18704         * tests/test-posix_spawn1.c (environ): Remove declaration.
18705         * tests/test-posix_spawn2.c (environ): Likewise.
18706         * tests/test-posix_spawn3.c (environ): Likewise.
18707         * tests/test-posix_spawn4.c (environ): Likewise.
18708         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
18709         * modules/posix_spawnp-tests (Depends-on): Likewise.
18711 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18713         timespec: new function current_timespec
18714         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
18715         and don’t worry about it failing on a CLOCK_REALTIME arg.
18716         POSIX requires it to succeed and I don’t know of any
18717         counterexamples where the fallbacks would work.
18718         (current_timespec): New function, taken from Emacs.  It is more
18719         convenient than gettime, and can help register allocation.
18720         * lib/timespec.h: Include arg-nonnull.h.
18721         (current_timespec): New declaration.
18722         (gettime, settime): Declare args to be nonnull.
18723         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
18725 2018-09-16  Bruno Haible  <bruno@clisp.org>
18727         setlocale: Improve locale handling on macOS 10.12 or newer.
18728         * lib/setlocale.c: Include header files for CoreFoundation. Declare
18729         gl_locale_name_canonicalize.
18730         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
18731         and LC_MESSAGES.
18732         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
18734 2018-09-16  Bruno Haible  <bruno@clisp.org>
18736         Update list of locale names with scripts on macOS.
18737         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
18738         match Mac OS X 10.13 and recent glibc.
18740 2018-09-16  Bruno Haible  <bruno@clisp.org>
18742         gettext: Use newer macOS APIs when possible.
18743         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
18744         CFLocaleCopyPreferredLanguages.
18746 2018-09-16  Bruno Haible  <bruno@clisp.org>
18748         localename: Revisit macOS specific code.
18749         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
18750         Fix comments about Mac OS X versions.
18752 2018-09-15  Bruno Haible  <bruno@clisp.org>
18754         setlocale: Improve support for locales not supported by libc.
18755         Reported by Dapeng Gao <peter@dpgao.cc> at
18756         <https://savannah.gnu.org/bugs/?54479>.
18757         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
18758         (libintl_setlocale): Use a more error-tolerant strategy when the locale
18759         to be set is not supported by libc: Emit warnings instead of failing.
18761 2018-09-15  Bruno Haible  <bruno@clisp.org>
18763         strstr, strcasestr: Add workaround against glibc-2.28 bug.
18764         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
18765         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
18766         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
18767         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
18768         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
18769         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
18770         * doc/glibc-functions/strcasestr.texi: Likewise.
18772 2018-09-14  Bruno Haible  <bruno@clisp.org>
18774         doc: Fix bottom of top-level page.
18775         Reported by Akim Demaille <akim.demaille@gmail.com> in
18776         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
18777         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
18778         mode.
18779         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
18780         accordingly.
18782 2018-09-12  Bruno Haible  <bruno@clisp.org>
18784         Add test case from a recent glibc bug.
18785         * tests/test-strstr.c (main): Add test of long needle.
18786         * tests/test-strcasestr.c (main): Likewise.
18787         * tests/test-c-strstr.c (main): Likewise.
18788         * tests/test-c-strcasestr.c (main): Likewise.
18789         * tests/test-memmem.c (main): Likewise.
18791 2018-09-12  Bruno Haible  <bruno@clisp.org>
18793         Apply Eric Blake's improvements from 2011-02-25 to more tests.
18794         * tests/test-c-strstr.c (main): Add the same tests here as well.
18796 2018-09-12  Bruno Haible  <bruno@clisp.org>
18798         Apply Jim Meyering's fix from 2015-01-11 to more tests.
18799         * tests/test-memmem.c (main): Free haystack.
18800         * tests/test-strcasestr.c (main): Likewise.
18801         * tests/test-c-strcasestr.c (main): Likewise.
18803 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18805         xstrtol: fix missing-TYPE_SIGNED typo
18806         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
18808 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18810         timespec: fix resolution confusion
18811         In normal usage, clock resolution is given in seconds, but the
18812         code was mistakenly using inverse seconds and calling it
18813         “resolution”.  Fix this, partly by renaming two identifiers.
18814         The old names will be kept for a bit, to ease transition.
18815         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
18816         New constants, replacing TIMESPEC_RESOLUTION and
18817         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
18818         All uses changed.
18820 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18822         mktime: simplify in prep for glibc merge
18823         * lib/mktime.c, lib/timegm.c [_LIBC]:
18824         Include mktime-internal.h (a small file just for glibc)
18825         instead of using a typedef.
18827 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18829         intprops: minor clarification of code
18830         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
18831         Use _GL_INT_CONVERT rather than reinventing it.
18833 2018-09-07  Bruno Haible  <bruno@clisp.org>
18835         Fix a comment.
18836         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
18838 2018-09-07  Bruno Haible  <bruno@clisp.org>
18840         posix_spawn_file_actions_addchdir: Add tests.
18841         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
18842         * tests/test-posix_spawn4.c: New file.
18843         * modules/posix_spawn_file_actions_addchdir-tests: New file.
18845 2018-09-07  Bruno Haible  <bruno@clisp.org>
18847         posix_spawn_file_actions_addchdir: New module.
18848         Suggested by Eric Blake in
18849         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
18850         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
18851         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
18852         union member 'chdir_action'.
18853         * lib/spawn_faction_addchdir.c: New file.
18854         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
18855         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
18856         HAVE_WORKING_POSIX_SPAWN.
18857         * lib/spawn_faction_adddup2.c: Likewise.
18858         * lib/spawn_faction_addopen.c: Likewise.
18859         * m4/posix_spawn_faction_addchdir.m4: New file.
18860         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
18861         'posix_spawn_file_actions_addchdir' is present and whether
18862         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
18863         instead of HAVE_WORKING_POSIX_SPAWN.
18864         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
18865         posix_spawn_file_actions_addchdir is declared.
18866         (gl_SPAWN_H_DEFAULTS): Initialize
18867         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18868         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18869         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18870         * modules/spawn (Makefile.am): Substitute
18871         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18872         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18873         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18874         * modules/posix_spawn_file_actions_addchdir: New file.
18875         * modules/posix_spawn_file_actions_addclose (Depends-on,
18876         configure.ac): Test also REPLACE_POSIX_SPAWN.
18877         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
18878         configure.ac): Likewise.
18879         * modules/posix_spawn_file_actions_addopen (Depends-on,
18880         configure.ac): Likewise.
18881         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
18882         signature.
18883         * doc/posix-functions/posix_spawn.texi: Mention the new module.
18884         * doc/posix-functions/posix_spawnp.texi: Likewise.
18886 2018-09-06  Bruno Haible  <bruno@clisp.org>
18888         stddef: Override max_align_t on NetBSD 8.0/x86.
18889         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
18890         the value of __alignof__ (max_align_t).
18891         * doc/posix-headers/stddef.texi: Mention the issue.
18893 2018-09-06  Bruno Haible  <bruno@clisp.org>
18895         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
18896         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
18897         system fcntl.
18898         * doc/posix-functions/fcntl.texi: Document the issue.
18900 2018-09-06  Bruno Haible  <bruno@clisp.org>
18902         count-trailing-zeros tests: Rely on limits-h module.
18903         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
18904         definition.
18905         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
18907 2018-09-06  Bruno Haible  <bruno@clisp.org>
18909         count-leading-zeros tests: Rely on limits-h module.
18910         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
18911         definition.
18912         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
18914 2018-09-06  Bruno Haible  <bruno@clisp.org>
18916         count-one-bits tests: Rely on limits-h module.
18917         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
18918         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
18920 2018-09-06  Bruno Haible  <bruno@clisp.org>
18922         xstrtoll: Rely on limits-h module.
18923         * lib/xstrtol.c: Don't include intprops.h.
18924         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18925         * modules/xstrtol (Depends-on): Remove 'intprops'.
18926         * modules/xstrtoll (Depends-on): Add 'limits-h'.
18928 2018-09-06  Bruno Haible  <bruno@clisp.org>
18930         strtoll, strtoull: Rely on limits-h module.
18931         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
18932         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18933         * modules/strtoll (Depends-on): Add limits-h.
18934         * modules/strtoull (Depends-on): Likewise.
18936 2018-09-06  Bruno Haible  <bruno@clisp.org>
18938         intprops tests: Fix compilation error with pre-C99 compiler.
18939         * tests/test-intprops.c (verify_stmt): New macro.
18940         (VERIFY, main): Use it.
18942 2018-09-06  Bruno Haible  <bruno@clisp.org>
18944         limits-h: Provide numerical limits macros.
18945         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
18946         IRIX and for GCC.
18947         (WORD_BIT, LONG_BIT): Define.
18948         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
18949         <limits.h> does not define LLONG_MAX or WORD_BIT.
18950         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
18951         TYPE_MAXIMUM): New macros, from intprops.h.
18952         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
18953         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
18954         provides.
18956 2018-09-05  Bruno Haible  <bruno@clisp.org>
18958         fcntl: Don't access nonexistent optional argument.
18959         Reported by Frank Busse <f.busse@imperial.ac.uk> in
18960         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
18961         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
18962         don't consume an argument. For actions that take an 'int' argument,
18963         consume an 'int' argument.
18965 2018-09-05  Eric Blake  <eblake@redhat.com>
18967         doc: mention environ pitfall
18968         * doc/posix-functions/environ.texi (environ): Assigning NULL to
18969         environ is a glibc extension.
18971 2018-09-03  Bruno Haible  <bruno@clisp.org>
18973         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
18974         Reported by Antoine Luong <antoine.luong@c-s.fr> in
18975         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
18976         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
18977         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
18978         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
18980 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18982         mktime: fix unlikely race+overflow bug
18983         Problem reported by Alexandre Oliva in:
18984         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
18985         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
18986         to avoid an unlikely race if the compiler delays a load and
18987         if this cascades into a signed integer overflow.
18989 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18991         mktime, timegm: simplify glibc time64_t
18992         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
18993         Now long int, not time_t, since long int is the longstanding type
18994         for this in glibc and there is no need to change it even if time_t
18995         becomes 64 bits - even int would do, though this would be a change
18996         to the glibc generated code.  When this change is merged into
18997         glibc, it should simplify the time_t vs time64_t situation.
18999         mktime, timegm: simplify merge to glibc
19000         Move code around to make a merge to glibc easier to audit.
19001         This should not change behavior.
19002         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
19003         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
19004         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
19005         simplify later conditionals; default the others to zero.  In uses
19006         of these conditionals, explicitly spell out how _LIBC affects
19007         things, so it’s easier to review from a glibc viewpoint.
19008         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
19009         compartmentalize tzset issues.  Move system-dependent tzsettish
19010         code here from mktime.
19011         (mktime): Move tzsettish code to my_tzset, and move
19012         localtime_offset to within mktime so that it doesn’t
19013         need a separate ifdef.
19015 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
19017         intprops: avoid evaluation of some expressions
19018         This makes EXPR_SIGNED (e) easier to use, as it no longer
19019         evaluates the expression E.  Formerly, E was required to be free
19020         of side effects.
19021         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
19022         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
19023         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
19025 2018-08-23  Bruno Haible  <bruno@clisp.org>
19027         getcwd: Add cross-compilation guesses.
19028         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
19029         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
19030         Based on a patch by Paul Eggert.
19031         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
19032         guesses for all GNU systems.
19034 2018-08-19  Bruno Haible  <bruno@clisp.org>
19036         glob-h: Formalize side effects from other modules.
19037         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
19038         * m4/glob.m4 (gl_GLOB): Invoke it.
19040         fnmatch-h: Formalize side effects from other modules.
19041         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
19042         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
19044         limits-h: Formalize side effects from other modules.
19045         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
19046         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
19048 2018-08-19  Bruno Haible  <bruno@clisp.org>
19050         getpass: Move declaration to <unistd.h>.
19051         * lib/unistd.in.h (getpass): New declaration.
19052         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
19053         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
19054         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
19055         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
19056         On glibc systems, don't set REPLACE_GETPASS to 1.
19057         * modules/getpass (Depends-on): Add 'unistd'.
19058         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
19059         (Include): Specify <unistd.h> instead of "getpass.h".
19060         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
19061         (configure.ac): Sync with the configure.ac section of modules/getpass.
19062         (Include): Specify <unistd.h> instead of "getpass.h".
19063         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
19064         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
19065         REPLACE_GETPASS.
19066         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
19067         REPLACE_GETPASS.
19068         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
19069         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
19070         and musl.
19071         * NEWS: Mention the change.
19073 2018-08-19  Bruno Haible  <bruno@clisp.org>
19075         glob: Fix over-optimization due to attribute __nonnull__.
19076         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
19078 2018-08-19  Bruno Haible  <bruno@clisp.org>
19080         glob: Fix another compilation error when glob.h is not replaced.
19081         Reported by Reuben Thomas <rrt@sc3d.org> in
19082         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
19083         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
19084         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
19086 2018-08-18  Bruno Haible  <bruno@clisp.org>
19088         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
19089         Reported by Reuben Thomas <rrt@sc3d.org> in
19090         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
19091         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
19092         in config.h.
19094 2018-08-18  Bruno Haible  <bruno@clisp.org>
19096         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
19097         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
19098         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
19099         Solution proposed by Eli Zaretskii.
19100         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
19101         * lib/gettimeofday.c (GetProcAddress): Likewise.
19102         * lib/link.c (GetProcAddress): Likewise.
19103         * lib/physmem.c (GetProcAddress): Likewise.
19104         * lib/poll.c (GetProcAddress): Likewise.
19105         * lib/select.c (GetProcAddress): Likewise.
19106         * lib/stat-w32.c (GetProcAddress): Likewise.
19108 2018-08-18  Bruno Haible  <bruno@clisp.org>
19110         glob: Fix another compilation error when glob.h is not replaced.
19111         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
19112         * lib/globfree.c: Include <libc-config.h>.
19114 2018-08-18  Bruno Haible  <bruno@clisp.org>
19116         glob: Fix compilation error when glob.h is not replaced.
19117         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
19118         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
19119         * lib/glob_pattern_p.c: Include <libc-config.h>.
19120         * modules/glob (Depends-on): Add libc-config.
19122 2018-08-18  Bruno Haible  <bruno@clisp.org>
19124         scratch_buffer: Add tests.
19125         * tests/test-scratch-buffer.c: New file.
19126         * modules/scratch_buffer-tests: New file.
19128 2018-08-18  Bruno Haible  <bruno@clisp.org>
19130         scratch_buffer: Fix include file.
19131         Reported by Reuben Thomas <rrt@sc3d.org> in
19132         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
19133         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
19134         double-inclusion guard.
19136 2018-08-18  Bruno Haible  <bruno@clisp.org>
19138         glob-h: Revert Paul Eggert's revert.
19139         * m4/glob_h.m4: Revert to previous state.
19140         * modules/glob-h: Likewise.
19142 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
19144         glob-h: always build glob.h
19145         This works around a problem reported by Reuben Thomas in:
19146         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
19147         This workaround always builds glob.h, even on platforms that
19148         do not need it; perhaps this could be improved someday.
19149         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
19150         is always created now.
19151         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
19153 2018-08-13  Bruno Haible  <bruno@clisp.org>
19155         monetary: Simplify m4 code.
19156         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
19157         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
19159 2018-08-13  Bruno Haible  <bruno@clisp.org>
19161         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
19162         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
19163         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
19164         and by Paul J. Lucas <paul@lucasmail.org> in
19165         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
19166         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
19168 2018-08-11  Bruno Haible  <bruno@clisp.org>
19170         setlocale: Trivial simplification.
19171         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
19173 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19175         verify: port 'assume' to traditional tools
19176         * lib/verify.h (assume): Port better to Oracle Studio 12.6
19177         and other tools that use /*NOTREACHED*/ comments.
19179 2018-08-10  Bruno Haible  <bruno@clisp.org>
19181         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
19182         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
19183         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
19184         'fnmatch-gnu' is in use.
19186 2018-08-07  Bruno Haible  <bruno@clisp.org>
19188         glob-h: Add tests.
19189         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
19190         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
19191         tests/test-glob-h.c.
19192         * modules/glob-h-tests: New file.
19193         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
19194         conditions.
19195         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
19196         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
19198 2018-08-07  Bruno Haible  <bruno@clisp.org>
19200         glob-h: New module.
19201         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
19202         replacements.
19203         * lib/glob.c: Include <config.h>.
19204         * m4/glob_h.m4: New file.
19205         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
19206         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
19207         REPLACE_GLOB_PATTERN_P as appropriate.
19208         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
19209         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
19210         * modules/glob-h: New file.
19211         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
19212         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
19213         lstat, sys_stat. Change conditions.
19214         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
19215         REPLACE_GLOB_PATTERN_P. Set module indicator.
19216         (Makefile.am): Remove code that is moved to glob-h.
19217         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
19218         * modules/posixcheck (Depends-on): Add glob-h.
19220 2018-08-06  Bruno Haible  <bruno@clisp.org>
19222         Force generation of substitute .h file when C++ support is enabled.
19223         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
19224         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
19225         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
19226         FNMATCH_H to non-empty.
19227         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
19228         ICONV_H to non-empty.
19229         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
19230         MONETARY_H to non-empty.
19231         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
19232         non-empty.
19234 2018-08-06  Bruno Haible  <bruno@clisp.org>
19236         fnmatch-h: Fix test compilation error on mingw (regression from today).
19237         * lib/fnmatch.in.h: Fix conditions.
19239 2018-08-06  Bruno Haible  <bruno@clisp.org>
19241         sys_resource: Relicense under LGPLv2+.
19242         John Malmberg's approval is in
19243         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
19244         * modules/sys_resource (License): Change to LGPLv2+.
19246 2018-08-06  Bruno Haible  <bruno@clisp.org>
19248         fnmatch-h: Add tests.
19249         * tests/test-fnmatch-h.c: New file.
19250         * modules/fnmatch-h-tests: New file.
19251         * tests/test-fnmatch-h-c++.cc: New file.
19252         * modules/fnmatch-h-c++-tests: New file.
19254 2018-08-06  Bruno Haible  <bruno@clisp.org>
19256         fnmatch-h: New module.
19257         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
19258         replacements.
19259         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
19260         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
19261         'posixcheck' warning.
19262         * m4/fnmatch_h.m4: New file.
19263         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
19264         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
19265         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
19266         as appropriate.
19267         * modules/fnmatch-h: New file.
19268         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
19269         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
19270         conditions.
19271         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
19272         indicator.
19273         (Makefile.am): Remove code that is moved to fnmatch-h.
19274         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
19275         REPLACE_FNMATCH.
19276         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
19277         * modules/posixcheck (Depends-on): Add fnmatch-h.
19279 2018-08-06  Bruno Haible  <bruno@clisp.org>
19281         Enable more C++ tests.
19282         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
19283         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
19284         * modules/strings-tests (Depends-on): Add strings-c++-tests.
19285         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
19286         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
19288 2018-08-06  Bruno Haible  <bruno@clisp.org>
19290         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
19291         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
19292         getopt.h.
19293         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
19295 2018-08-05  Bruno Haible  <bruno@clisp.org>
19297         utime-h: Generate header file when module 'posixcheck' is in use.
19298         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
19299         UTIME_H to non-empty.
19301 2018-08-05  Bruno Haible  <bruno@clisp.org>
19303         monetary: Generate header file when module 'posixcheck' is in use.
19304         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
19305         use, set MONETARY_H to non-empty.
19307 2018-08-05  Bruno Haible  <bruno@clisp.org>
19309         iconv-h: Generate header file when module 'posixcheck' is in use.
19310         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
19311         set ICONV_H to non-empty.
19313 2018-08-05  Bruno Haible  <bruno@clisp.org>
19315         Optimize the "checking whether ... is declared without a macro" checks.
19316         Suggested by Paul Eggert in
19317         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
19318         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
19319         Gnulib module 'posixcheck' is not in use.
19321 2018-08-05  Bruno Haible  <bruno@clisp.org>
19323         iconv-h: Enable 'posixcheck' warnings.
19324         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
19325         iconv_open.
19326         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
19328 2018-08-05  Bruno Haible  <bruno@clisp.org>
19330         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
19331         * m4/extern-inline.m4: Add more comments.
19332         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
19333         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
19334         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
19336 2018-08-04  Bruno Haible  <bruno@clisp.org>
19338         New module 'posixcheck'.
19339         * modules/posixcheck: New file.
19340         * m4/posixcheck.m4: New file.
19341         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
19342         (Which modules?): Reference it.
19344 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
19346         dfa: fix memory leak
19347         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
19349 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
19351         ieee754-h: new module
19352         It looks like Emacs can use this for some NaN processing.
19353         Emacs uses it only on double NaNs so it should be safe.
19354         * MODULES.html.sh (func_all_modules): Add ieee754-h.
19355         * config/srclist.txt: Mention ieee754.h in a comment.
19356         * doc/glibc-headers/ieee754.texi (ieee754.h):
19357         Gnulib now has a substitute that should work
19358         except for long double and for non-IEEE platforms.
19359         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
19360         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
19362 2018-07-27  Bruno Haible  <bruno@clisp.org>
19364         iswcntrl: Mention minor problem on macOS.
19365         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
19367 2018-07-26  Colin Watson  <cjwatson@debian.org>
19369         bootstrap, gnulib-tool: fix translations rsync
19370         Previously, we created files such as $pobase/Makefile.in.in and then the
19371         subsequent rsync would immediately delete them.
19372         * build-aux/bootstrap (po_download_command_format): Avoid deleting
19373         non-.po files in target directory when rsyncing translations.
19374         * gnulib-tool (func_import): Likewise.
19375         * pygnulib/GLImport.py (GLImport.execute): Likewise.
19377 2018-07-25  Jim Meyering  <meyering@fb.com>
19379         bootstrap: reinstate definition fo gnulib_mk.
19380         That variable is used at least by cppi.
19381         * build-aux/bootstrap (gnulib_mk): Restore definition.
19382         This reverts the deletion from v0.1-1844-gc66dba9ba.
19384 2018-07-23  Bruno Haible  <bruno@clisp.org>
19386         doc: For module names, use texinfo markup @code{} or @samp{}.
19387         * doc/alloca.texi: Mark gnulib module names with @code.
19388         * doc/alloca-opt.texi: Likewise.
19389         * doc/quote.texi: Likewise.
19390         * doc/posix-functions/freopen.texi: Likewise.
19391         * doc/posix-functions/open.texi: Likewise.
19392         * doc/posix-functions/readlink.texi: Likewise.
19393         * doc/posix-functions/readlinkat.texi: Likewise.
19394         * doc/posix-functions/stdout.texi: Likewise.
19395         * doc/posix-functions/stderr.texi: Likewise.
19396         * doc/posix-functions/unlink.texi: Likewise.
19397         * doc/posix-functions/unlinkat.texi: Likewise.
19398         * doc/posix-functions/utime.texi: Likewise.
19399         * doc/posix-functions/utimensat.texi: Likewise.
19400         * doc/posix-functions/utimes.texi: Likewise.
19401         * doc/posix-headers/stdint.texi: Likewise.
19402         * doc/glibc-functions/futimesat.texi: Likewise.
19403         * doc/glibc-functions/lutimes.texi: Likewise.
19404         * doc/glibc-functions/memmem.texi: Likewise.
19406 2018-07-23  Werner LEMBERG  <wl@gnu.org>
19408         doc: Avoid some overfull lines in the TeX output.
19409         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
19410         @example.
19411         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
19412         newline before the long URL.
19413         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
19414         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
19415         Add line breaks in code snippets.
19417 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
19419         hard-locale: simplify by removing hard-locale.m4
19420         * m4/hard-locale.m4: Remove.
19421         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
19422         (configure.ac): Do not call gl_HARD_LOCALE.
19424         gnulib-tool: limit line length for git send-email
19425         * gnulib-tool (func_import): Break actioncmd log line
19426         into multiple lines.
19428 2018-07-16  Bruno Haible  <bruno@clisp.org>
19430         ffs: Ensure declaration on mingw.
19431         Reported by Daniel P. Berrangé <berrange@redhat.com>
19432         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
19433         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
19434         also declared.
19436 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
19438         regex-tests: add dependency
19439         * modules/regex-tests (Depends-on): Add gettext-h.
19440         This is needed given the recent changes to regex,
19441         which no longer depends on gettext-h.
19443 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19445         regex: now in sync with glibc
19446         * config/srclist.txt: Gnulib and glibc regex code
19447         are synchronized again.
19449 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19451         renameatu: rename from renameat2
19452         It's looking like Glibc will add a renameat2 function
19453         that is incompatible with Gnulib renameat2; see:
19454         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
19455         To help avoid future confusion, rename renameat2 to something else.
19456         Use the name 'renameatu', as the Gnulib function is close to the
19457         Glibc function.  Perhaps someday there will also be a renameat2
19458         Gnulib module, which mimicks the future glibc renameat2, but that
19459         can wait as nobody seems to need such a module now.
19460         * NEWS: Mention this.
19461         * lib/renameatu.c: Rename from lib/renameat2.c.
19462         * lib/renameatu.h: Rename from lib/renameat2.h.
19463         * modules/renameatu: Rename from modules/renameat2.
19464         * modules/renameatu-tests: Rename from modules/renameat2-tests.
19465         All uses of "renameat2" in identifiers or file name
19466         changed to "renameatu", except for two instances in
19467         lib/renameatu.c that deal with the Linux kernel's
19468         renameat2 syscall.
19470 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
19472         gnulib-tool: minor tweaks for --gnu-make
19473         * gnulib-tool: Do not allow --gnu-make in test modes,
19474         since they all require automake.
19475         (func_emit_lib_Makefile_am): Don’t emit automake comment
19476         if --gnu-make.
19478         regex: work around conditional-dependencies glitch
19479         * modules/regex (Depends-on): Add langinfo.
19480         Without this change, I had problems building an experimental
19481         version of GNU Emacs.  The symptom of the bug was a message
19482         ‘./configure: line 12726: test: =: unary operator expected’.
19483         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
19484         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
19485         was unset.  Although gl_FUNC_NL_LANGINFO has
19486         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
19487         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
19488         --conditional-dependencies sometimes arranges for the
19489         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
19490         code.  Since the regex code includes <langinfo.h> it should be
19491         depending on the langinfo module anyway, and this happens to work
19492         around the bug, so install that as a workaround for now.  To
19493         reproduce the original problem, run the following shell script on
19494         the version of Gnulib just before this patch was installed.
19495                 rm -fr foo
19496                 mkdir foo
19497                 cat >foo/configure.ac <<'EOF'
19498                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
19499                 gl_EARLY
19500                 gl_INIT
19501                 AC_OUTPUT
19502                 EOF
19503                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
19504                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
19505                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
19506                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
19507                 cd foo
19508                 aclocal -I m4
19509                 autoconf
19510                 ./configure --with-included-regex
19512 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19514         wchar: fix bug when checking for ‘inline’
19515         I discovered this when looking into using the regex module
19516         with Emacs.
19517         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
19518         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
19519         conftest1.c and conftest2.c but these files were not created.
19520         As far as I can see, this check never worked and nobody reported
19521         it until now, which is a bit worrisome.
19523 2018-06-30  Jim Meyering  <meyering@fb.com>
19525         bootstrap: s/--option val/--option=val/
19526         * build-aux/bootstrap (gnulib_tool_options): Change the
19527         spelling of "--option val" pairs to "--option=val", for
19528         aesthetics, and also so that this file no longer triggers
19529         a common help2man syntax-check warning when copied into
19530         projects like grep, gzip, etc.
19532 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19534         manywarnings: omit -Wswitch-default
19535         This should make things more consistent, as we already ignore
19536         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
19537         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
19538         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
19539         Add -Wswitch-default.
19540         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
19541         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
19542         Remove -Wswitch-default.
19544         regex: revert most trimming
19545         Problems reported by Bruno Haible in:
19546         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
19547         * modules/regex (Depends-on): Add lock, memcmp, memmove,
19548         and wctype back in.  lock because regex users shouldn’t
19549         need to know that regex needs locking, and the rest because
19550         gnulib-tool should ordinarily ignore them anyway.
19552 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19554         regex: trim module dependencies
19555         * modules/regex (Depends-on): Remove gettext-h and lock,
19556         since the regex code should work OK without these modules,
19557         and Emacs uses it that way.  Also remove memcmp, memmove,
19558         and wctype, as these modules are obsolete and should not be
19559         needed any more.
19561 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
19563         regex: glibc does not use intprops.h
19564         Maybe we can talk glibc into using intprops.h someday, but
19565         now doesn’t seem to be a good time.
19566         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
19567         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
19568         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
19570 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
19572         regex: port to recently proposed glibc regex merge
19573         This patch is inspired by Adhemerval Zanella's recent proposal
19574         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
19575         to merge glibc and Gnulib regex.  It aims to simplify the merge on
19576         the glibc side, without keeping Gnulib portable.
19577         * lib/regex.h: Fix a problem with glibc installed-header checking,
19578         as follows:
19579         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
19580         (_Restrict_arr_): Prefer __restrict_arr if defined,
19581         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
19582         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
19583         (build_wcs_upper_buffer, build_upper_buffer)
19584         (re_string_translate_buffer, re_string_context_at):
19585         Move decls here from lib/regex_internal.h, for glibc internal tests.
19586         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
19587         glibc BZ #18496.
19588         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
19589         -Wunused-value.
19590         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
19591         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19592         (bitset_mask): Now static inline, and without any __attribute__
19593         ((unused)) decoration, for glibc internal tests.
19595 2018-06-25  Bruno Haible  <bruno@clisp.org>
19597         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
19598         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
19599         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
19600         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
19601         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
19602         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
19603         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
19604         / -lthread / -lpth does not get optimized away by a preceding
19605         --as-needed option.
19607 2018-06-25  Bruno Haible  <bruno@clisp.org>
19609         Continue to use spaces for indentation, not tabs.
19610         * MODULES.html.sh: Untabify.
19611         * doc/regex.texi: Likewise.
19612         * lib/acl-internal.c: Likewise.
19613         * lib/dfa.c: Likewise.
19614         * lib/exclude.c: Likewise.
19615         * lib/exclude.h: Likewise.
19616         * lib/get-permissions.c: Likewise.
19617         * lib/gettimeofday.c: Likewise.
19618         * lib/parse-datetime.y: Likewise.
19619         * lib/pselect.c: Likewise.
19620         * lib/set-permissions.c: Likewise.
19621         * lib/time.in.h: Likewise.
19622         * m4/canonicalize.m4: Likewise.
19623         * m4/gc.m4: Likewise.
19624         * m4/gnulib-common.m4: Likewise.
19625         * m4/pthread_sigmask.m4: Likewise.
19626         * m4/vararrays.m4: Likewise.
19627         * tests/test-digest.h: Likewise.
19628         * tests/test-fcntl-h.c: Likewise.
19629         * tests/test-timespec.c: Likewise.
19630         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
19632 2018-06-25  Bruno Haible  <bruno@clisp.org>
19634         manywarnings: Don't enable -Wjump-misses-init warnings by default.
19635         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
19636         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
19637         -Wjump-misses-init.
19639 2018-06-25  Jim Meyering  <meyering@fb.com>
19641         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
19642         * lib/acl-internal.h (free_permission_context): Remove that
19643         attribute directive.  Otherwise, it would provoke this from GCC 9:
19644         lib/acl-internal.h:300:3: error: 'const' attribute on function \
19645           returning 'void' [-Werror=attributes]
19647 2018-06-24  Jim Meyering  <meyering@fb.com>
19649         parse-datetime: accommodate gcc-4.8.5
19650         Bruno Haible reported the build failure in
19651         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
19652         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
19653         on declaration of new local.
19655 2018-06-24  Bruno Haible  <bruno@clisp.org>
19657         af_alg: Fail in continuable manner on Linux/powerpc64le.
19658         Reported by Assaf Gordon <assafgordon@gmail.com>
19659         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
19660         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
19661         byte send() as the first round.
19663 2018-06-24  Bruno Haible  <bruno@clisp.org>
19665         af_alg: Fix state of stream after sendfile() succeeds.
19666         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
19667         the stream is correctly positioned afterwards.
19668         * modules/crypto/af_alg (Depends-on): Add fflush.
19669         * tests/test-digest.h (test_digest_on_files): Verify that after the
19670         operation the stream is positioned at end of file.
19672 2018-06-24  Jim Meyering  <meyering@fb.com>
19674         canon-host: take GCC9's advice rather than ignoring warning
19675         Pádraig Brady suggested not to ignore this GCC9 advice.
19676         * lib/canon-host.c: Undo preceding change.
19677         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
19679         parse-datetime.y: avoid spurious GCC 9 warning
19680         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
19681         a function local prior to the first "goto fail".  The prior use would
19682         evoke this:
19683         parse-datetime.y: In function 'parse_datetime2':
19684         parse-datetime.y:1791:19: error: jump skips variable initialization \
19685           [-Werror=jump-misses-init]
19686         parse-datetime.y:2385:2: note: label 'fail' defined here
19687         parse-datetime.y:188:43: note: '({anonymous})' declared here
19688         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
19690         canon-host.c: avoid spurious GCC 9 warning
19691         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
19693         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
19694         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
19695         * m4/manywarnings.m4: Remove them.
19696         Otherwise, building coreutils, I would see this:
19697         cc1: error: deprecated command line option '-Wchkp' [-Werror]
19698         cc1: error: -Wabi won't warn about anything [-Werror=abi]
19699         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
19700           which is also used by default
19701         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
19703 2018-06-24  Bruno Haible  <bruno@clisp.org>
19705         af_alg tests: Add another test.
19706         * tests/test-digest.h (test_digest_on_files): Also check a large file
19707         with a skipped header.
19708         * tests/test-md5.c: Include macros.h.
19709         * tests/test-sha1.c: Likewise.
19710         * tests/test-sha256.c: Likewise.
19711         * tests/test-sha512.c: Likewise.
19712         * modules/crypto/md5-tests (Files): Add tests/macros.h.
19713         * modules/crypto/sha1-tests (Files): Likewise.
19714         * modules/crypto/sha256-tests (Files): Likewise.
19715         * modules/crypto/sha512-tests (Files): Likewise.
19717 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19719         maint: clarify comments about sticky EOF
19720         * lib/af_alg.c: Be more direct that we can't
19721         assume stickiness of EOF for portability reasons.
19722         * lib/md5.c: Clarify that this isn't just a glibc issue.
19723         * lib/sha1.c: Likewise.
19724         * lib/sha256.c: Likewise.
19725         * lib/sha512.c: Likewise.
19727 2018-06-24  Bruno Haible  <bruno@clisp.org>
19729         af_alg: Comment and style improvements.
19730         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
19731         (afalg_buffer, afalg_stream): Improve comments.
19733 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19735         af_alg: disable kernel hash functions by default
19736         All the kernel routines were seen to be significantly slower
19737         with these relatively recent components on an i3-2310M system:
19738           kernel-4.10.6-200.fc25.x86_64
19739           openssl-1.0.2m-1.fc25.x86_64
19740         sha1 was nearly twice as slow in the kernel for example.
19741         Further considerations why this should not be the default, at:
19742         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
19744         * m4/af_alg.m4: Require --with-linux-crypto to enable.
19745         * m4/gl-openssl.m4: Tweak accordingly.
19747 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19749         af_alg: avoid hangs when reading from streams
19750         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
19751         and thus avoid doing a fread() when feof() is set.
19752         * lib/md5.c: Ensure feof() is called before fread().
19753         * lib/sha1.c: Likewise.
19754         * lib/sha256.c: Likewise.
19755         * lib/sha512.c: Likewise.
19757 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19759         af_alg: fix error handling when hash not returned
19760         * lib/af_alg.c (afalg_stream): Handle the case where we've
19761         successfully written data to the kernel in the read/write loop,
19762         but the kernel doesn't respond with the hash.
19764 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19766         libc-config: merge from glibc
19767         * lib/cdefs.h (__inline, __restrict):
19768         Copy from current glibc.  This fixes glibc bug 17721,
19769         which Gnulib had already fixed in a different way.
19770         (__nonnull): Lessen the distance from glibc by using the
19771         glibc definition inside an ‘#ifndef __nonnull’.
19772         (__attribute_nonstring__): New macro, copied from
19773         current glibc.
19774         * lib/libc-config.h (__attribute_nonstring__): New undef.
19775         (__restrict): Remove; workaround no longer needed.
19776         Keep the __inline workaround, though, as it uses HAVE___INLINE to
19777         support more compilers than the glibc __inline can.
19779 2018-06-24  Bruno Haible  <bruno@clisp.org>
19781         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
19782         * lib/mbrtowc.c (enc_t): New enum type.
19783         (locale_enc, locale_enc_cached): New functions.
19784         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
19785         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
19786         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
19787         instead.
19788         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
19789         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
19790         * modules/wcwidth (configure.ac): Invoke it.
19792 2018-06-24  Bruno Haible  <bruno@clisp.org>
19794         wchar-single: Fix test failure in wcwidth tests.
19795         * tests/test-wcwidth.c (main): If the wchar-single module is present,
19796         skip the tests in the C locale.
19798 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19800         crypto: mention --without-linux-crypto in --with-openssl --help
19801         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
19802         routines take precedence in --with-openssl help output.
19804 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19806         wchar-single: a new module to enable optimizations in wchar replacements
19807         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
19808         GNULIB_WCHAR_SINGLE is enabled.
19809         * lib/wcwidth.c (wcwidth): Likewise.
19811 2018-06-23  Bruno Haible  <bruno@clisp.org>
19813         libc-config: Fix conflict with FreeBSD include files.
19814         * lib/cdefs.h (__nonnull): Remove definition.
19815         * lib/libc-config.h (__nonnull): Remove undefinition.
19817 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19819         random_r: do not crash if state is unaligned
19820         Problem reported by Bruce Korb in:
19821         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
19822         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
19823         with 'cc -O2 -xmemalign=8s'.
19824         * lib/random_r.c: Include string.h, for memcpy.
19825         (get_int32, set_int32): New functions.
19826         (__srandom_r, __initstate_r, __setstate_r, __random_r):
19827         Use them to avoid assumption that state pointer is aligned.
19828         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
19829         * tests/test-random_r.c (test_failed): New function.
19830         (main): Use it, to test for alignment bugs.
19832         random_r: omit unnecessary include
19833         * lib/random_r.c: Do not include limits.h.
19835         random, random_r: merge from glibc
19836         * lib/random.c, lib/random_r.c:
19837         Include libc-config.h if !_LIBC, not config.h unilaterally.
19838         * lib/random.c:
19839         Do not include stdint.h or time.h; not needed.
19840         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
19841         (unsafe_state): Rename from generator.  All uses changed.
19842         Use C99-style initializers.
19843         (__random, __srandom, __initstate, __setstate): Rename from
19844         non-underscored version, but define it to non-underscored version
19845         on Gnulib.  Add a lock.
19846         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
19847         Likewise.
19848         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
19849         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
19850         (__srandom_r): Use int32_t instead of long int where int32_t will do.
19851         (__random_r): Use uint32 to fix glibc bug 17343.
19852         * modules/random, modules/random_r (Depends-on): Add libc-config.
19853         Depend on stdint only if $HAVE_RANDOM = 0.
19855 2018-06-19  Jim Meyering  <meyering@fb.com>
19857         README-release: also run any check-very-expensive tests
19858         * top/README-release: Adjust instructions so they run the
19859         check-very-expensive tests when there is such a target.
19861 2018-06-18  Bruno Haible  <bruno@clisp.org>
19863         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
19864         * m4/pthread_rwlock_rdlock.m4: Add comment.
19865         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
19866         are reader-preferring in glibc.
19867         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
19868         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
19870 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
19872         crypto: use byteswap
19873         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
19874         * lib/sm3.c: Include <byteswap.h>.
19875         (SWAP): Use its macros rather than reinventing the wheel.
19876         * modules/crypto/md4, modules/crypto/md5-buffer:
19877         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
19878         * modules/crypto/sha512-buffer, modules/crypto/sm3:
19879         (Depends-on): Add byteswap.
19881 2018-06-17  Pádraig Brady  <P@draigBrady.com>
19883         gendocs.sh: fix support for legacy --texi2html
19884         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
19885         to the default makeinfo invocation.
19886         Reported by Bruce Korb
19888 2018-06-17  Bruno Haible  <bruno@clisp.org>
19890         gettext po infrastructure: Update from current gettext git.
19891         Reported by Akim Demaille <akim@lrde.epita.fr>.
19892         * build-aux/po/Makefile.in.in: Update from current gettext git.
19893         * build-aux/po/remove-potcdate.sin: Likewise.
19894         * config/srclist.txt: Temporarily disable sync for these files.
19896 2018-06-17  Bruno Haible  <bruno@clisp.org>
19898         getloadavg: Return 0 on Windows without Cygwin.
19899         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
19901 2018-06-17  Paul Smith  <psmith@gnu.org>
19903         getloadavg: Allow building on Windows without Cygwin
19904         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
19905         * m4/getloadavg.m4: Check for unistd.h.
19907 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19909         Port crypto/af_alg to GCC 4.8.4
19910         Problem reported by Peter Simons in:
19911         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
19912         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
19914 2018-05-27  Colin Watson  <cjwatson@debian.org>
19916         bootstrap: document source fetching in --help
19917         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
19919 2018-04-09  Colin Watson  <cjwatson@debian.org>
19921         bootstrap: allow non-submodule control of gnulib
19922         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
19923         bootstrap.conf when fetching gnulib using "git clone" or via
19924         GNULIB_SRCDIR.
19926 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19928         crypto: omit stream ops Emacs doesn’t need
19929         * lib/md5.c (md5_stream):
19930         * lib/sha1.c (sha1_stream):
19931         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
19932         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19933         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
19934         defined.  Emacs needs this, as it does not use the stream
19935         operations and doesn’t need all the af_alg stuff we’ve recently
19936         added.  Perhaps a similar change is needed to the other crypto
19937         modules, but this patch changes only those needed for Emacs.
19938         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
19939         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
19940         New modules, used by Emacs.
19941         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19942         * modules/crypto/sha512: Rewrite to depend on the new modules.
19944 2018-05-20  Pádraig Brady  <P@draigBrady.com>
19946         fts: avoid a memory leak edge case
19947         * lib/fts.c (fts_open): Set an appropriate fts_level
19948         so that an immediate fts_close() will free the allocation.
19949         * tests/test-fts.c (fts_dealloc): Add a test case which
19950         will trigger under valgrind or address sanitizer.
19951         Fixes https://bugs.gnu.org/31439
19953 2018-05-20  Bruno Haible  <bruno@clisp.org>
19955         wcwidth tests: Fix link error.
19956         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
19957         $(LIBUNISTRING).
19959 2018-05-20  Bruno Haible  <bruno@clisp.org>
19961         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
19962         * modules/regex (Files): Add m4/glibc21.m4.
19964 2018-05-20  Bruno Haible  <bruno@clisp.org>
19966         localcharset: Optimize.
19967         * lib/localcharset.c (alias_table): Comment out no-op mappings for
19968         platforms where these don't matter. This reduces the table size,
19969         which in turn reduces the lookup time.
19971 2018-05-19  Bruno Haible  <bruno@clisp.org>
19973         localcharset: Map the locale encodings found in newer OSes.
19974         * lib/localcharset.c (alias_table): Add mapping for locale encodings
19975         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
19976         IRIX 6.5, Minix 3.3.
19977         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
19979 2018-05-19  Bruno Haible  <bruno@clisp.org>
19981         localcharset: Move mapping tables into the code. Use a binary search.
19982         * lib/localcharset.h: Document the GNU canonical names for character
19983         encodings here.
19984         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
19985         relocatable.h, configmake.h.
19986         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
19987         macros.
19988         (charset_aliases): Remove variable.
19989         (get_charset_aliases): Remove function.
19990         (struct table_entry): New type.
19991         (alias_table, locale_table): New constants.
19992         (locale_charset): Use the alias_table or locale_table to get the
19993         canonicalized encoding name.
19994         * lib/config.charset: Remove file.
19995         * lib/ref-add.sin: Remove file.
19996         * lib/ref-del.sin: Remove file.
19997         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
19998         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
19999         * modules/localcharset (Notice): Remove.
20000         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
20001         glibc21.m4.
20002         (Depends-on): Remove configmake.
20003         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
20004         (Makefile.am): Simplify.
20005         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
20007 2018-05-19  Bruno Haible  <bruno@clisp.org>
20009         localcharset: Add a manual test.
20010         * tests/test-localcharset.c: New file.
20011         * modules/localcharset-tests: New file.
20013 2018-05-19  Bruno Haible  <bruno@clisp.org>
20015         localcharset: Remove support for obsolete platforms.
20016         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
20017         Mac OS X 10.2. Comment out dubious entry for Solaris.
20019 2018-05-19  Jim Meyering  <meyering@fb.com>
20021         gnupload: adjust comment
20022         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
20023         more likely we'll remove the just-added code in a year or two.
20025 2018-05-19  Bruno Haible  <bruno@clisp.org>
20027         gnupload: Fix "gpg-agent is not available in this session" error.
20028         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
20030 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20032         crypto/af_alg: fix --help
20033         * m4/af_alg.m4: Avoid spurious newline in --help output.
20035 2018-05-13  Bruno Haible  <bruno@clisp.org>
20037         nl_langinfo: Fix compilation error on Android.
20038         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
20039         INT_CURR_SYMBOL, etc. only if these items are defined.
20041 2018-05-13  Bruno Haible  <bruno@clisp.org>
20043         truncate: Fix compilation error on Android.
20044         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
20045         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
20046         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
20047         HAVE_TRUNCATE.
20048         * modules/truncate: Likewise.
20049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
20050         not HAVE_TRUNCATE.
20051         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
20052         HAVE_TRUNCATE.
20053         * doc/posix-functions/truncate.texi: Mention the issue.
20055 2018-05-13  Bruno Haible  <bruno@clisp.org>
20057         pthread: Fix compilation error on Android.
20058         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
20059         recursive inclusion of this file.
20061 2018-05-13  Bruno Haible  <bruno@clisp.org>
20063         posix_spawn: Fix compilation error on Android.
20064         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
20065         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
20066         (posix_spawn_file_actions_t): Consider also the case
20067         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
20069 2018-05-13  Bruno Haible  <bruno@clisp.org>
20071         tsearch: Move from K&R C to ANSI C.
20072         * lib/tsearch.c (tfind): Convert definition to ANSI C.
20074 2018-05-13  Bruno Haible  <bruno@clisp.org>
20076         tsearch: Fix compilation error on Android.
20077         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
20078         is 0.
20079         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
20080         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
20081         GNULIB_defined_tsearch is true.
20082         (twalk): Define only if GNULIB_defined_twalk is true.
20083         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
20084         is 0.
20085         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
20086         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
20087         * modules/search (Makefile.am): Substitute HAVE_TWALK.
20089 2018-05-13  Bruno Haible  <bruno@clisp.org>
20091         imaxdiv: Fix compilation error on Android.
20092         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
20093         is not defined.
20094         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
20095         HAVE_DECL_IMAXDIV, is 0.
20096         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
20097         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
20099 2018-05-13  Bruno Haible  <bruno@clisp.org>
20101         Support selective inclusion mechanism of recent mingw.org header files.
20102         Reported by Eli Zaretskii <eliz@gnu.org>.
20103         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
20104         __need_ssize_t, or __need_time_t is defined, just include the system's
20105         <sys/types.h>.
20106         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
20107         include the system's <locale.h>.
20109 2018-05-13  Bruno Haible  <bruno@clisp.org>
20111         Avoid compilation error due to 'mmap' on Android.
20112         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
20113         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
20114         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
20115         Undefine on Android.
20117 2018-05-13  Bruno Haible  <bruno@clisp.org>
20119         Add cross-compilation guesses for Linux systems without glibc.
20120         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
20121         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
20122         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20123         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20124         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
20125         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
20126         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20127         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
20128         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
20129         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
20130         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20131         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20132         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
20133         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20134         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20135         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
20136         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20137         * m4/utimens.m4 (gl_UTIMENS): Likewise.
20139 2018-05-13  Bruno Haible  <bruno@clisp.org>
20141         getpagesize: Fix compilation error on Android.
20142         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
20143         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
20144         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
20145         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
20146         HAVE_GETPAGESIZE accordingly.
20147         * modules/getcwd (Files): Add m4/getpagesize.m4.
20149 2018-05-13  Bruno Haible  <bruno@clisp.org>
20151         tcgetsid: Fix compilation error on Android.
20152         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
20153         AC_CHECK_FUNC.
20155 2018-05-13  Bruno Haible  <bruno@clisp.org>
20157         getpass: Fix configure test for Android.
20158         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
20159         AC_CHECK_FUNC.
20161 2018-05-13  Bruno Haible  <bruno@clisp.org>
20163         ffs: Fix compilation error on Android.
20164         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
20166 2018-05-13  Bruno Haible  <bruno@clisp.org>
20168         mkfifo: Fix compilation error on Android.
20169         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
20170         AC_CHECK_FUNC.
20172 2018-05-13  Bruno Haible  <bruno@clisp.org>
20174         c-strtod: Fix configure test for Android.
20175         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
20176         AC_CHECK_FUNC.
20178 2018-05-13  Bruno Haible  <bruno@clisp.org>
20180         random: Fix compilation error on Android.
20181         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
20182         AC_CHECK_FUNC.
20184 2018-05-13  Bruno Haible  <bruno@clisp.org>
20186         grantpt: Fix compilation error on Android.
20187         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
20188         AC_CHECK_FUNC.
20190 2018-05-13  Bruno Haible  <bruno@clisp.org>
20192         stdioext: Fix compilation errors with newer Android headers.
20193         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
20194         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
20195         fallbacks for Android.
20196         * lib/fpending.c: Update comments.
20197         * lib/fpurge.c: Likewise.
20198         * lib/freadable.h: Likewise.
20199         * lib/freadable.c: Likewise.
20200         * lib/freadahead.c: Likewise.
20201         * lib/freading.h: Likewise.
20202         * lib/freadptr.c: Likewise.
20203         * lib/fseterr.c: Likewise.
20204         * lib/fwritable.h: Likewise.
20205         * lib/fwritable.c: Likewise.
20206         * lib/fwriting.h: Likewise.
20207         * lib/fwriting.c: Likewise.
20209 2018-05-13  Bruno Haible  <bruno@clisp.org>
20211         doc: Add info about Android versions 2.0 to 8.1.
20212         * doc/**/*.texi: Add info about functions in all released versions of
20213         Bionic.
20215 2018-05-12  Bruno Haible  <bruno@clisp.org>
20217         fseeko: On mingw, don't use the hidden function _fseeki64.
20218         Reported by Eli Zaretskii <eliz@gnu.org>.
20219         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
20220         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
20222 2018-05-12  Bruno Haible  <bruno@clisp.org>
20224         glob: Choose 'dirent_type' in a way that works better on mingw.
20225         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
20226         * lib/glob.c (dirent_type): Define as uint_fast32_t.
20228 2018-05-12  Bruno Haible  <bruno@clisp.org>
20230         execute, spawn-pipe: Avoid warning about redefining 'close'.
20231         Reported by Eli Zaretskii <eliz@gnu.org>.
20232         * lib/execute.c: Undefine 'close' before redefining it.
20233         * lib/spawn-pipe.c: Likewise.
20235 2018-05-12  Bruno Haible  <bruno@clisp.org>
20237         nanosleep: Avoid test failure on mingw when it has nanosleep.
20238         Reported by Eli Zaretskii <eliz@gnu.org>.
20239         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
20240         If it does not exist, use a simpler test program that does not call
20241         alarm().
20243 2018-05-10  Bruno Haible  <bruno@clisp.org>
20245         lock, cond, thread, tls: Use a different symbol as libpthread witness.
20246         Reported by Devin Hussey <husseydevin@gmail.com>.
20247         Based on a patch by Paul Eggert.
20248         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
20249         as witness of libpthread.
20250         * lib/glthread/cond.h (pthread_in_use): Likewise.
20251         * lib/glthread/thread.h (pthread_in_use): Likewise.
20252         * lib/glthread/tls.h (pthread_in_use): Likewise.
20254 2018-05-10  Bruno Haible  <bruno@clisp.org>
20256         cond tests: Fix compilation error on Solaris.
20257         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
20258         macro.
20260 2018-05-10  Bruno Haible  <bruno@clisp.org>
20262         doc: Add partial info about Android 4.3.
20263         * doc/*-functions/*.texi: Add info about functions that were added
20264         to Bionic between Android 4.3 and Android 9.0.
20266 2018-05-10  Bruno Haible  <bruno@clisp.org>
20268         doc: Add info about Android 9.0.
20269         * doc/**/*.texi: Add info about functions and headers in Bionic from
20270         Android 9.0.
20272 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
20274         af_alg: fix my typo in afalg_buffer
20275         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
20276         (afalg_stream): Simplify and avoid the need for a runtime test
20277         at the end.
20279         af_alg: recover better from crypto failures
20280         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
20281         input stream is seekable, by repositioning the stream back to
20282         where it was, possibly by just calling sendfile with an offset
20283         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
20284         cases, which lets our callers try again with user-mode code.
20285         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
20286         instead of on fflush and lseek.
20288         af_alg: distiguish I/O errors better
20289         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
20290         not -EIO, if it’s OK for the caller to try again with user-mode code.
20291         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
20292         some other error number) if fflush fails, as the caller should not
20293         try again that case.
20295         af_alg: avoid gotos
20296         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
20297         gotos, as they were a source of unreliability and made the code a
20298         bit harder to follow.
20300         af_alg: don’t leak file descriptors into children
20301         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
20302         This code should be compiled only on recent GNU/Linux platforms
20303         so we shouldn’t have to also depend on the accept4 module.
20305         af_alg: coalesce socket creation
20306         * lib/af_alg.c (alg_socket): New function.
20307         (afalg_buffer, afalg_stream): Use it.  This avoids some
20308         code duplication and gotos.
20310         af_alg: fix file descriptor leak
20311         * lib/af_alg.c (afalg_stream): Close leak.
20313         af_alg: Pacify --enable-gcc-warnings on GCC 8
20314         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
20315         and checking to pacify gcc -Wjump-misses-init on GCC 8.
20317 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20319         af_alg: Pacify --enable-gcc-warnings
20320         Problem reported by Assaf Gordon in:
20321         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
20322         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
20323         gcc -Wjump-misses-init.
20324         * lib/sha512.c (shaxxx_stream): Now static.
20326 2018-05-06  Bruno Haible  <bruno@clisp.org>
20328         af_alg: Add ability to use Linux kernel crypto API on data in memory.
20329         * lib/af_alg.h (afalg_buffer): New declaration.
20330         * lib/af_alg.c (afalg_buffer): New function.
20332 2018-05-06  Bruno Haible  <bruno@clisp.org>
20334         af_alg: Avoid warnings.
20335         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
20336         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
20338 2018-05-06  Bruno Haible  <bruno@clisp.org>
20340         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
20341         * tests/bench-digest.h: New file.
20342         * tests/bench-md5.c: New file.
20343         * tests/bench-sha1.c: New file.
20344         * tests/bench-sha224.c: New file.
20345         * tests/bench-sha256.c: New file.
20346         * tests/bench-sha384.c: New file.
20347         * tests/bench-sha512.c: New file.
20348         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
20349         tests/bench-digest.h.
20350         (Depends-on): Add getrusage, gettimeofday.
20351         (Makefile.am): Add variables to build bench-md5.
20352         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
20353         tests/bench-digest.h.
20354         (Depends-on): Add getrusage, gettimeofday.
20355         (Makefile.am): Add variables to build bench-sha1.
20356         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
20357         tests/bench-sha256.c, tests/bench-digest.h.
20358         (Depends-on): Add getrusage, gettimeofday.
20359         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
20360         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
20361         tests/bench-sha512.c, tests/bench-digest.h.
20362         (Depends-on): Add getrusage, gettimeofday.
20363         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
20365 2018-05-06  Bruno Haible  <bruno@clisp.org>
20367         af_alg: Fix a resource leak.
20368         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
20369         New local variable 'result'.
20371 2018-05-06  Bruno Haible  <bruno@clisp.org>
20373         af_alg: Fix bug with streams that are not at position 0.
20374         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
20375         assume that the stream is positioned at position 0.
20376         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
20377         of the stream.
20378         * lib/md5.h (md5_stream): Likewise.
20379         * lib/sha1.h (sha1_stream): Likewise.
20380         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
20381         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
20382         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
20384         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
20385         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
20386         stream that is not positioned at the beginning.
20388 2018-05-06  Bruno Haible  <bruno@clisp.org>
20390         af_alg: Add configure option to enable/disable use of Linux crypto API.
20391         Suggested by Assaf Gordon <assafgordon@gmail.com>.
20392         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
20393         USE_LINUX_CRYPTO_API.
20394         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
20395         * lib/af_alg.c: Likewise.
20397 2018-05-06  Bruno Haible  <bruno@clisp.org>
20399         Followup to 'af_alg: New module.'.
20400         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
20401         * modules/crypto/sha1 (Depends-on): Likewise.
20402         * modules/crypto/sha256 (Depends-on): Likewise.
20403         * modules/crypto/sha512 (Depends-on): Likewise.
20405 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20407         crypto/{md5,sha1,sha256,sha512}: simplify
20408         * lib/md5.c (md5_stream):
20409         * lib/sha1.c (sha1_stream):
20410         * lib/sha256.c (shaxxx_stream):
20411         Simplify, partly by assuming C99.
20412         * lib/sha256.c (shaxxx_stream):
20413         New function, which implements both sha256 and sha224.
20414         Simplify, partly by assuming C99.
20415         (sha256_stream, sha224_stream):
20416         Use it to avoid code duplication, removing a FIXME.
20417         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
20418         Likewise.
20420         af_alg: Improve comments.
20421         * lib/af_alg.h: Use imperatives and tighten up wording.
20423 2018-05-05  Bruno Haible  <bruno@clisp.org>
20425         af_alg: Improve comments.
20426         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
20428 2018-05-05  Bruno Haible  <bruno@clisp.org>
20430         af_alg: New module.
20431         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
20432         * lib/af_alg.c: Include "af_alg.h" before the other header files.
20433         * lib/md5.c: Include "af_alg.h" unconditionally.
20434         (md5_stream): Invoke afalg_stream unconditionally.
20435         * lib/sha1.c: Include "af_alg.h" unconditionally.
20436         (sha1_stream): Invoke afalg_stream unconditionally.
20437         * lib/sha256.c: Include "af_alg.h" unconditionally.
20438         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
20439         * lib/sha512.c: Include "af_alg.h" unconditionally.
20440         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
20441         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
20442         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
20443         * modules/crypto/af_alg: New file.
20444         * modules/crypto/md5 (Files): Remove files that are now in the
20445         'crypto/af_alg' module.
20446         (Depends-on): Add crypto/af_alg.
20447         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20448         (Makefile.am): Don't mention af_alg.c here.
20449         * modules/crypto/sha1 (Files): Remove files that are now in the
20450         'crypto/af_alg' module.
20451         (Depends-on): Add crypto/af_alg.
20452         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20453         (Makefile.am): Don't mention af_alg.c here.
20454         * modules/crypto/sha256 (Files): Remove files that are now in the
20455         'crypto/af_alg' module.
20456         (Depends-on): Add crypto/af_alg.
20457         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20458         (Makefile.am): Don't mention af_alg.c here.
20459         * modules/crypto/sha512 (Files): Remove files that are now in the
20460         'crypto/af_alg' module.
20461         (Depends-on): Add crypto/af_alg.
20462         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20463         (Makefile.am): Don't mention af_alg.c here.
20465 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20467         crypto tests: pacify GCC
20468         * tests/test-digest.h (test_digest_on_files):
20469         Don’t assume digest size fits in int (!).
20471         af_alg: minor style improvements
20472         * lib/af_alg.c (afalg_stream): Prefer C99 style
20473         decl-after-statement, since we’re already assuming C99.  Clarify
20474         by strengthening the bind test and omit unnecessary assignment.
20476 2018-05-05  Bruno Haible  <bruno@clisp.org>
20478         af_alg: Fix bug on empty files.
20479         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
20480         stream is empty.
20482 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20484         sys-limits.h: new file for crypto and safe I/O
20485         * lib/af_alg.c: Include sys-limits.h.
20486         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
20487         (afalg_stream): Also reject negative sizes for sendfile; they
20488         should not happen and the code is a bit cleaner and faster this way.
20489         * lib/safe-read.c: Include sys-limits.h.
20490         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
20491         * lib/sys-limits.h: New file, with values and commentary derived
20492         from the old safe-read.c and from GNU Emacs sysdep.c.
20493         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
20494         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
20495         Add lib/sys-limits.h to Files section.
20497 2018-05-05  Bruno Haible  <bruno@clisp.org>
20499         af_alg: Improve function signature.
20500         * lib/af_alg.h (afalg_stream): Swap second and third argument.
20501         * lib/af_alg.c (afalg_stream): Likewise.
20502         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
20504 2018-05-05  Bruno Haible  <bruno@clisp.org>
20506         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
20507         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
20508         * modules/crypto/sha1 (Depends-on): Likewise.
20509         * modules/crypto/sha256 (Depends-on): Likewise.
20510         * modules/crypto/sha512 (Depends-on): Likewise.
20512 2018-05-05  Bruno Haible  <bruno@clisp.org>
20514         crypto/{md5,sha1,sha256,sha512}: Fix module description.
20515         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
20516         * modules/crypto/sha1 (Depends-on): Likewise.
20517         * modules/crypto/sha256 (Depends-on): Likewise.
20518         * modules/crypto/sha512 (Depends-on): Likewise.
20520 2018-05-05  Bruno Haible  <bruno@clisp.org>
20522         af_alg: Add documentation.
20523         * lib/af_alg.h: Add comments.
20525 2018-05-05  Bruno Haible  <bruno@clisp.org>
20527         sha512: Add tests.
20528         * tests/test-sha512.c: New file.
20529         * modules/crypto/sha512-tests: New file.
20531 2018-05-05  Bruno Haible  <bruno@clisp.org>
20533         sha256: Add tests.
20534         * tests/test-sha256.c: New file.
20535         * modules/crypto/sha256-tests: New file.
20537 2018-05-05  Bruno Haible  <bruno@clisp.org>
20539         sha1 tests: Add test for sha1_stream.
20540         * tests/test-sha1.c: Include test-digest.h.
20541         (main): Invoke test_digest_on_files on 'sha1_stream'.
20542         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
20544 2018-05-05  Bruno Haible  <bruno@clisp.org>
20546         md5 tests: Add test for md5_stream.
20547         * tests/test-digest.h: New file.
20548         * tests/test-md5.c: Include test-digest.h.
20549         (main): Invoke test_digest_on_files on 'md5_stream'.
20550         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
20552 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20554         md5sum: Use AF_ALG when available.
20555         * lib/md5.c: Include af_alg.h.
20556         (md5_stream): Use afalg_stream when available.
20557         * modules/crypto/md5 (Files): Add the af_alg files.
20558         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20559         (Makefile.am): Add af_alg.c.
20561 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20563         sha512sum: Use AF_ALG when available.
20564         * lib/sha512.c: Include af_alg.h.
20565         (sha512_stream, sha384_stream): Use afalg_stream when available.
20566         * modules/crypto/sha512 (Files): Add the af_alg files.
20567         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20568         (Makefile.am): Add af_alg.c.
20570 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20572         sha256sum: Use AF_ALG when available.
20573         * lib/sha256.c: Include af_alg.h.
20574         (sha256_stream, sha224_stream): Use afalg_stream when available.
20575         * modules/crypto/sha256 (Files): Add the af_alg files.
20576         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20577         (Makefile.am): Add af_alg.c.
20579 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20581         sha1sum: Use AF_ALG when available.
20582         * lib/af_alg.h: New file.
20583         * lib/af_alg.c: New file.
20584         * lib/sha1.c: Include af_alg.h.
20585         (sha1_stream): Use afalg_stream when available.
20586         * m4/linux-if-alg.m4: New file.
20587         * modules/crypto/sha1 (Files): Add the new files.
20588         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20589         (Makefile.am): Add af_alg.c.
20591 2018-05-05  Bruno Haible  <bruno@clisp.org>
20593         all: Replace more http URLs by https URLs.
20594         * lib/localename.c: Use https: URL.
20595         * lib/timespec.h: Likewise.
20597 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20599         maint: port more modules to GCC 8
20600         * lib/dirname.h (base_name):
20601         * lib/exclude.h (new_exclude):
20602         * lib/xstrndup.h (xstrndup):
20603         Add malloc attribute.
20604         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
20605         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
20606         This pacifies GCC 8.
20607         * m4/gnulib-common.m4 (gl_COMMON_BODY):
20608         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
20610 2018-05-03  Bruno Haible  <bruno@clisp.org>
20612         Simplify code. Drop support for Borland C++ on Windows.
20613         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
20614         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
20615         'defined _WIN32'.
20616         * lib/canonicalize-lgpl.c: Likewise.
20617         * lib/classpath.c: Likewise.
20618         * lib/clean-temp.c: Likewise.
20619         * lib/csharpexec.c: Likewise.
20620         * lib/ctime.c: Likewise.
20621         * lib/dosname.h: Likewise.
20622         * lib/dup2.c: Likewise.
20623         * lib/errno.in.h: Likewise.
20624         * lib/error.c: Likewise.
20625         * lib/euidaccess.c: Likewise.
20626         * lib/execute.c: Likewise.
20627         * lib/fcntl.in.h: Likewise.
20628         * lib/fcntl.c: Likewise.
20629         * lib/filename.h: Likewise.
20630         * lib/findprog.c: Likewise.
20631         * lib/flock.c: Likewise.
20632         * lib/fopen.c: Likewise.
20633         * lib/freopen.c: Likewise.
20634         * lib/fstat.c: Likewise.
20635         * lib/fsync.c: Likewise.
20636         * lib/gc-gnulib.c: Likewise.
20637         * lib/get-rusage-data.c: Likewise.
20638         * lib/getaddrinfo.c: Likewise.
20639         * lib/getdelim.c: Likewise.
20640         * lib/getdtablesize.c: Likewise.
20641         * lib/gethostname.c: Likewise.
20642         * lib/getlogin.c: Likewise.
20643         * lib/getlogin_r.c: Likewise.
20644         * lib/getopt.c: Likewise.
20645         * lib/getpagesize.c: Likewise.
20646         * lib/getpass.c: Likewise.
20647         * lib/getrusage.c: Likewise.
20648         * lib/gettimeofday.c: Likewise.
20649         * lib/glob.c: Likewise.
20650         * lib/inttypes.in.h: Likewise.
20651         * lib/isapipe.c: Likewise.
20652         * lib/javaexec.c: Likewise.
20653         * lib/link.c: Likewise.
20654         * lib/localcharset.c: Likewise.
20655         * lib/localename.h: Likewise.
20656         * lib/localename.c: Likewise.
20657         * lib/localtime.c: Likewise.
20658         * lib/lseek.c: Likewise.
20659         * lib/mbsinit.c: Likewise.
20660         * lib/mkdir.c: Likewise.
20661         * lib/msvc-nothrow.h: Likewise.
20662         * lib/nanosleep.c: Likewise.
20663         * lib/nl_langinfo.c: Likewise.
20664         * lib/nonblocking.c: Likewise.
20665         * lib/nproc.c: Likewise.
20666         * lib/open.c: Likewise.
20667         * lib/openpty.c: Likewise.
20668         * lib/pathmax.h: Likewise.
20669         * lib/pipe-filter-aux.c: Likewise.
20670         * lib/pipe-filter-gi.c: Likewise.
20671         * lib/pipe-filter-ii.c: Likewise.
20672         * lib/pipe.c: Likewise.
20673         * lib/pipe2.c: Likewise.
20674         * lib/poll.c: Likewise.
20675         * lib/popen.c: Likewise.
20676         * lib/posix_openpt.c: Likewise.
20677         * lib/printf-parse.c: Likewise.
20678         * lib/progreloc.c: Likewise.
20679         * lib/putenv.c: Likewise.
20680         * lib/read.c: Likewise.
20681         * lib/relocatable.c: Likewise.
20682         * lib/rename.c: Likewise.
20683         * lib/same-inode.h: Likewise.
20684         * lib/secure_getenv.c: Likewise.
20685         * lib/select.c: Likewise.
20686         * lib/sethostname.c: Likewise.
20687         * lib/setlocale.c: Likewise.
20688         * lib/sigaction.c: Likewise.
20689         * lib/sigprocmask.c: Likewise.
20690         * lib/sleep.c: Likewise.
20691         * lib/spawn-pipe.h: Likewise.
20692         * lib/spawn-pipe.c: Likewise.
20693         * lib/spawni.c: Likewise.
20694         * lib/stat-time.h: Likewise.
20695         * lib/stat-w32.c: Likewise.
20696         * lib/stat.c: Likewise.
20697         * lib/stdio.in.h: Likewise.
20698         * lib/stdio-impl.h: Likewise.
20699         * lib/stdio-read.c: Likewise.
20700         * lib/stdio-write.c: Likewise.
20701         * lib/stdlib.in.h: Likewise.
20702         * lib/strerror_r.c: Likewise.
20703         * lib/strftime-fixes.c: Likewise.
20704         * lib/sys_stat.in.h: Likewise.
20705         * lib/sys_types.in.h: Likewise.
20706         * lib/sys_wait.in.h : Likewise.
20707         * lib/system-quote.h: Likewise.
20708         * lib/system-quote.c: Likewise.
20709         * lib/tmpdir.c: Likewise.
20710         * lib/tzset.c: Likewise.
20711         * lib/uname.c: Likewise.
20712         * lib/unistd.in.h: Likewise.
20713         * lib/utime.in.h: Likewise.
20714         * lib/utime.c: Likewise.
20715         * lib/utimecmp.c: Likewise.
20716         * lib/utimens.c: Likewise.
20717         * lib/vasnprintf.c: Likewise.
20718         * lib/vma-iter.h: Likewise.
20719         * lib/vma-iter.c: Likewise.
20720         * lib/wait-process.c: Likewise.
20721         * lib/wcsftime.c: Likewise.
20722         * lib/wctype.in.h: Likewise.
20723         * lib/write.c: Likewise.
20724         * tests/nap.h: Likewise.
20725         * tests/test-cloexec.c: Likewise.
20726         * tests/test-dup-safer.c: Likewise.
20727         * tests/test-dup2.c: Likewise.
20728         * tests/test-dup3.c: Likewise.
20729         * tests/test-fcntl.c: Likewise.
20730         * tests/test-get-rusage-data.c: Likewise.
20731         * tests/test-getaddrinfo.c: Likewise.
20732         * tests/test-getlogin.h: Likewise.
20733         * tests/test-isatty.c: Likewise.
20734         * tests/test-localename.c: Likewise.
20735         * tests/test-mbrtowc-w32.c: Likewise.
20736         * tests/test-nonblocking.c: Likewise.
20737         * tests/test-nonblocking-pipe-main.c: Likewise.
20738         * tests/test-nonblocking-socket-main.c: Likewise.
20739         * tests/test-nonblocking-socket.h: Likewise.
20740         * tests/test-pipe.c: Likewise.
20741         * tests/test-pipe2.c: Likewise.
20742         * tests/test-poll.c: Likewise.
20743         * tests/test-pthread_sigmask1.c: Likewise.
20744         * tests/test-select.h: Likewise.
20745         * tests/test-sethostname2.c: Likewise.
20746         * tests/test-sigprocmask.c: Likewise.
20747         * tests/test-spawn-pipe-child.c: Likewise.
20748         * tests/test-stat-time.c: Likewise.
20749         * tests/test-system-quote-main.c: Likewise.
20750         * tests/test-utimens-common.h: Likewise.
20751         * tests/test-wcrtomb-w32.c: Likewise.
20752         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
20753         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20754         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
20755         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
20756         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
20757         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20758         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20759         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20760         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20761         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20762         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
20763         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
20764         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
20765         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20766         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
20767         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20769 2018-05-02  Bruno Haible  <bruno@clisp.org>
20771         localename: Fix test failures on mingw.
20772         * lib/localename.c (gl_locale_name_thread): Remove code specific to
20773         native Windows.
20774         (gl_locale_name_posix): Move code specific to native Windows here.
20775         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
20776         Accept result without charset suffix, as it appears on mingw.
20778 2018-04-28  Paul Smith  <psmith@gnu.org>
20780         bootstrap: Avoid gnulib operations if not needed
20781         * build-aux/bootstrap: Remove unused variable gnulib_mk.
20782         Set $gnulib_extra_files early so it can be overridden in .conf.
20783         Remove redundant --import flag from $gnulib_tool_options.
20784         Set $use_gnulib to false if no gnulib modules or files are needed.
20785         If $use_gnulib is false, don't do anything related to gnulib.
20786         A lot of this is just whitespace (indentation) changes.
20788 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
20790         manywarnings: port to GCC 8.0
20791         * build-aux/gcc-warning.spec: Add -Wcatch-value,
20792         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
20793         fact that the GCC help message now mentions operands for
20794         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
20795         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
20796         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
20797         and -Wunused-const-variable.
20798         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
20799         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
20800         -Wmissing-attributes, -Wmultistatement-macros,
20801         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
20802         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
20804 2018-04-24  Bruno Haible  <bruno@clisp.org>
20806         sys_socket: Make SO_REUSEPORT available across platforms.
20807         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20808         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
20809         * doc/posix-headers/sys_socket.texi: Mention the issue.
20810         * tests/test-poll.c (SO_REUSEPORT): Remove.
20811         * tests/test-select.h: Include <sys/socket.h>.
20812         (SO_REUSEPORT): Remove.
20813         * modules/select-tests (Depends-on): Add 'sys_socket'.
20815 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
20817         localcharset: short-circuit the search for an alias on a Mac
20818         * lib/localcharset.c (get_charset_aliases): Add a tautological
20819         UTF-8 entry to speed up the search for this case.
20820         Most machines default to a UTF-8 locale nowadays, so begin the
20821         list of aliases with a dummy UTF-8 entry so it will be found
20822         immediately and a time-consuming search through the rest of
20823         the list is avoided.
20825 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
20827         fts: add comment
20828         * lib/fts.c (fts_build): Explain why ==, not >.
20829         See remark by Bernhard Voelker in:
20830         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
20832         fts: fix bug in find across filesystems
20833         This fixes a bug I introduced last summer.
20834         Problem reported by Kamil Dudka in:
20835         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
20836         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
20837         (leaf_optimization):
20838         New arg for file descriptor.  All callers changed.
20839         (fts_build): Check for whether inodes should be sorted
20840         before closing the directory.
20842 2018-04-07  Bruno Haible  <bruno@clisp.org>
20844         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
20845         Reported by Genki Sky <sky@genki.is>.
20846         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
20847         version 0.9.10 or newer.
20848         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
20849         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
20850         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
20851         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
20852         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
20854 2018-04-07  Bruno Haible  <bruno@clisp.org>
20856         execute: Update comment.
20857         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
20859 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20861         fts: treat CIFS like NFS
20862         Problem reported by Kamil Dudka in:
20863         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
20864         * lib/fts.c (S_MAGIC_CIFS): New macro.
20865         (dirent_inode_sort_may_be_useful, leaf_optimization):
20866         Treat CIFS like NFS.
20868 2018-03-28  Bruno Haible  <bruno@clisp.org>
20870         c-stack: Fix possible build failure on some platforms.
20871         * lib/c-stack.c (die): Define whenever this function is referenced.
20873 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
20875         time_rz: fix workaround for Mac OS X 10.6 infloop
20876         Problems reported by Charles A. Roelli (Bug#27736#117).
20877         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
20878         Also, discard output, which clutters the 'configure' log.
20880 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
20882         havelib: port to Solaris 10 /bin/sh
20883         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
20884         instead of '! test EXPR'.
20886 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
20888         time_rz: work around Mac OS X 10.6 infloop
20889         * doc/posix-functions/localtime.texi:
20890         * doc/posix-functions/localtime_r.texi: Mention the bug.
20891         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
20892         better to fix localtime and localtime_r instead, but that would be
20893         more work and is not needed to fix the Emacs problem.
20894         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
20896 2018-03-24  Jim Meyering  <meyering@fb.com>
20898         test-version-etc.sh: don't use diff directly: use init.sh's compare
20899         We'd rather not sacrifice readable "diff -u" output even for
20900         "diff -c" output (not supported by busybox) or for even less
20901         readable ed-style "diff" output.  So use init.sh's compare function
20902         * tests/test-version-etc.sh: Source init.sh and add "." to path.
20903         Remove "./" from invocation of test-version-etc, so we use path.
20904         And s/diff/compare/.
20905         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
20906         to get init.sh.
20907         Prompted by Eric Blake's comments in
20908         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
20910 2018-03-24  Bruno Haible  <bruno@clisp.org>
20912         javacomp-script, javacomp: Add support for Java 10.
20913         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
20914         target-version 10.
20915         * lib/javaversion.h: Update comments.
20916         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20917         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20918         TARGET_VERSION_BOUND, target_version_index,
20919         corresponding_classfile_version): Accept source_version 10 and
20920         target_version 10.
20921         * lib/javacomp.h: Update comments accordingly.
20923 2018-03-24  Bruno Haible  <bruno@clisp.org>
20925         javacomp-script, javacomp: Update comments.
20926         * m4/javacomp.m4: Update comments regarding gcj.
20927         * lib/javacomp.h: Likewise.
20929 2018-03-24  Bruno Haible  <bruno@clisp.org>
20931         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
20932         * lib/javaversion.h: Update comments.
20933         * lib/javacomp.h: Likewise.
20934         * lib/javacomp.c (default_target_version, source_version_index,
20935         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
20936         "1.9".
20937         (TARGET_VERSION_BOUND): Bump to 9.
20938         (target_version_index, corresponding_classfile_version): Recognize "9"
20939         instead of "1.9".
20940         (get_source_version_for_javac): New function.
20941         (is_envjavac_nongcj_usable, is_javac_usable): Add
20942         source_version_for_javac argument.
20943         (compile_java_class): Determine and pass source_version_for_javac.
20944         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
20945         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
20946         appropriate.
20948 2018-03-23  Jim Meyering  <meyering@fb.com>
20950         test-version-etc.sh: port to diff without -c
20951         * tests/test-version-etc.sh: Don't use diff's -c option.
20952         This caused spurious test failure on Alpine Linux, which
20953         uses busybox's diff. Reported by Assaf Gordon in
20954         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
20956 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
20958         c-stack: port to recent GCC build
20959         Problem reported by The Fireplace (Bug#30913).
20960         * lib/c-stack.c (die): Define only if used.
20962 2018-03-20  Bruno Haible  <bruno@clisp.org>
20964         euidaccess: Port to native Windows.
20965         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
20966         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
20968 2018-03-19  Bruno Haible  <bruno@clisp.org>
20970         javacomp: Add support for Java 7, 8, 9.
20971         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20972         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20973         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
20974         and target_version 1,7, 1.8, 1.9.
20975         * lib/javacomp.h: Update comments accordingly.
20977 2018-03-19  Bruno Haible  <bruno@clisp.org>
20979         javacomp-script: Add support for Java 9.
20980         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
20981         target-version 1.9.
20983 2018-03-16  Bruno Haible  <bruno@clisp.org>
20985         glob: Don't compile replacements on recent glibc systems.
20986         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
20987         REPLACE_GLOB is 0, include the system's <glob.h> and use
20988         _GL_CXXALIAS_SYS.
20989         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
20990         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
20991         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
20992         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
20993         Remove snippet/warn-on-use.
20994         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
20995         (Makefile.am): Create glob.h always. Update list of substitutions in
20996         glob.h. Don't depend on $(WARN_ON_USE_H).
20998 2018-03-16  Bruno Haible  <bruno@clisp.org>
21000         glob: Fix link error on native Windows.
21001         * modules/glob (Depends-on): Add 'lstat'.
21003 2018-03-15  Bruno Haible  <bruno@clisp.org>
21005         glob: Fix compilation error in C++ mode.
21006         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
21008 2018-03-15  Bruno Haible  <bruno@clisp.org>
21010         host-cpu-c-abi: Support for RISC-V CPU.
21011         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
21012         riscv32 and riscv64 ABIs.
21013         References:
21014         https://github.com/riscv/riscv-toolchain-conventions
21015         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
21016         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
21018 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
21020         fflush: be more paranoid about libio.h change
21021         Suggested by Eli Zaretskii in:
21022         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
21023         * lib/fbufmode.c (fbufmode):
21024         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21025         (disable_seek_optimization, rpl_fflush):
21026         * lib/fpending.c (__fpending):
21027         * lib/fpurge.c (fpurge):
21028         * lib/freadable.c (freadable):
21029         * lib/freadahead.c (freadahead):
21030         * lib/freading.c (freading):
21031         * lib/freadptr.c (freadptr):
21032         * lib/freadseek.c (freadptrinc):
21033         * lib/fseeko.c (fseeko):
21034         * lib/fseterr.c (fseterr):
21035         * lib/fwritable.c (fwritable):
21036         * lib/fwriting.c (fwriting):
21037         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
21039 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
21041         maint: write-file-hooks -> before-save-hook
21042         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
21043         it's time to use the recommended replacement.
21044         Problem reported by Glenn Morris in:
21045         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
21046         * build-aux/announce-gen, build-aux/bootstrap:
21047         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
21048         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
21049         * build-aux/gnu-web-doc-update, build-aux/gnupload:
21050         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
21051         * build-aux/update-copyright, build-aux/useless-if-before-free:
21052         * build-aux/vc-list-files:
21053         Update hook usage for files where Gnulib is the canonical source.
21055 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
21057         binary-io: pacify gcc -Wunused-parameter
21058         Problem reported by Reuben Thomas in:
21059         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
21060         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
21061         Use _GL_UNUSED where appropriate.
21063         fflush: adjust to glibc 2.28 libio.h removal
21064         Problem reported by Daniel P. Berrangé in:
21065         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
21066         * lib/fbufmode.c (fbufmode):
21067         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21068         (disable_seek_optimization, rpl_fflush):
21069         * lib/fpending.c (__fpending):
21070         * lib/fpurge.c (fpurge):
21071         * lib/freadable.c (freadable):
21072         * lib/freadahead.c (freadahead):
21073         * lib/freading.c (freading):
21074         * lib/freadptr.c (freadptr):
21075         * lib/freadseek.c (freadptrinc):
21076         * lib/fseeko.c (fseeko):
21077         * lib/fseterr.c (fseterr):
21078         * lib/fwritable.c (fwritable):
21079         * lib/fwriting.c (fwriting):
21080         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
21081         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
21082         Define if not already defined.
21084 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
21086         environ: fix link error on 32-bit Cygwin
21087         Problem reported for GNU Emacs by Ken Brown in:
21088         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
21089         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
21091 2018-02-24  Bruno Haible  <bruno@clisp.org>
21093         mbrtowc tests: Fix regression on glibc.
21094         Reported by Bernhard Voelker.
21095         * tests/test-mbrtowc.c (main): Fix expected value of wc.
21097 2018-02-24  Bruno Haible  <bruno@clisp.org>
21099         striconveha, uniconv/*: Avoid test failures on musl libc.
21100         * tests/iconvsupport.c: New file.
21101         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
21102         does not support the ISO-2022-JP-2 encoding.
21103         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
21104         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
21105         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
21106         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
21107         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
21108         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
21109         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
21110         (Makefile.am): Link test-striconveha with iconvsupport.o.
21111         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
21112         tests/iconvsupport.c.
21113         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
21114         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
21115         tests/iconvsupport.c.
21116         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
21117         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
21118         tests/iconvsupport.c.
21119         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
21120         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
21121         tests/iconvsupport.c.
21122         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
21123         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
21124         tests/iconvsupport.c.
21125         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
21126         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
21127         tests/iconvsupport.c.
21128         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
21130 2018-02-24  Bruno Haible  <bruno@clisp.org>
21132         localename: Add support for musl libc.
21133         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
21134         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
21135         on Linux platforms which define NL_LOCALE_NAME.
21137 2018-02-24  Bruno Haible  <bruno@clisp.org>
21139         mbrtowc tests: Don't make assumptions about the charset the C locale.
21140         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
21141         particular mapping in the C locale.
21143 2018-02-24  Bruno Haible  <bruno@clisp.org>
21145         ptsname_r: Don't expect that this function sets errno.
21146         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
21147         from ptsname_r().
21148         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
21150 2018-02-23  Bruno Haible  <bruno@clisp.org>
21152         xmalloca: pacify gcc -Wbad-function-cast
21153         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
21155 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
21157         nl_langinfo: pacify gcc -Wunused-function
21158         * lib/nl_langinfo.c (ctype_codeset): Do not define if
21159         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
21160         this case.  Without this change, I got a diagnostic when building
21161         coreutils on Fedora 27 with gcc 7.3.1 20180130.
21163         same: pacify gcc -Wunused-variable
21164         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
21165         Omit unused variable.
21167         malloca: pacify gcc -Wbad-function-cast
21168         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
21169         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
21170         To pacify GCC, I had to cast alloca’s result to some type other
21171         than void * before casting that to uintptr_t.
21173 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21175         utimecmp: new function utimecmpat
21176         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
21177         Do not include utimens.h.
21178         (utimecmpat): New function, generalizing utimecmp.
21179         (utimecmp): Now a thin layer around utimecmpat.
21180         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
21181         utimensat instead of on lstat and utimens.
21183         same: new function same_nameat
21184         * lib/same.c: Include fcntl.h.
21185         * lib/same.c (same_nameat): New function, generalizing same_name.
21186         (same_name): Now a thin layer around same_nameat.
21187         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
21188         * modules/same (Depends-on): Depend on fstatat, openat.
21190 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
21192         warnings: Add support for Objective C.
21193         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
21194         macro.
21196 2018-02-17  Bruno Haible  <bruno@clisp.org>
21198         lock: Fix test-once1 crash on FreeBSD11.
21199         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
21200         'pthread_create', not 'pthread_cancel'.
21202 2018-02-17  Bruno Haible  <bruno@clisp.org>
21204         lock: Add test of gl_once.
21205         * tests/test-once.c: New file.
21206         * modules/lock-tests (Files): Add it.
21207         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
21209 2018-02-17  Bruno Haible  <bruno@clisp.org>
21211         thread: Fix compilation error on IRIX.
21212         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
21213         needed; include it outside the C++ extern "C" {} block.
21214         * doc/posix-headers/pthread.texi: Mention the problem with
21215         pthread_atfork on IRIX.
21217 2018-02-04  Bruno Haible  <bruno@clisp.org>
21219         nl_langinfo: Override the system's nl_langinfo() when needed.
21220         Reported by Jim Meyering.
21221         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
21222         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
21224 2018-02-04  Bruno Haible  <bruno@clisp.org>
21226         signal-h, monetary, strings: Fix build failure in some cases.
21227         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21228         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
21229         as delimiter in sed command, not '|'.
21230         * modules/monetary (Makefile.am): Likewise.
21231         * modules/strings (Makefile.am): Likewise.
21233 2018-02-03  Jim Meyering  <meyering@fb.com>
21235         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
21236         * top/maint.mk (sc_file_system): Don't complain about
21237         "/proc/filesystems".
21239 2018-02-03  Bruno Haible  <bruno@clisp.org>
21241         stdlib: Fix compilation error on OpenIndiana.
21242         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
21243         <sys/time.h>.
21244         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
21245         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
21247 2018-02-03  Bruno Haible  <bruno@clisp.org>
21249         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
21250         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
21251         and use $EGREP instead of 'grep -E'.
21252         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
21253         'grep -E'.
21255 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
21257         malloca: Add a compile-time verification.
21258         * lib/malloca.c (small_t): Verify that it is wide enough.
21259         * modules/malloca (Depends-on): Add verify.
21261 2018-02-02  Bruno Haible  <bruno@clisp.org>
21263         malloca: Add an argument check.
21264         Suggested by Paul Eggert.
21265         * lib/malloca.c (freea): Check against an invalid argument.
21267 2018-02-02  Bruno Haible  <bruno@clisp.org>
21269         localename: Add support for OpenIndiana.
21270         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
21271         Solaris 11 variants with uselocale() but without getlocalename_l().
21273 2018-02-02  Bruno Haible  <bruno@clisp.org>
21275         malloca, xmalloca: Make multithread-safe.
21276         Reported by Florian Weimer <fweimer@redhat.com>.
21277         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
21278         * lib/malloca.h (malloca): In the stack allocation case, return a
21279         pointer that is a multiple of 2 * sa_alignment_max.
21280         (sa_increment): Remove enum item.
21281         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
21282         a pointer that is a multiple of 2 * sa_alignment_max.
21283         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
21284         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
21285         HASH_TABLE_SIZE, mmalloca_results): Remove.
21286         (small_t): New type.
21287         (mmalloca, free): Rewritten.
21288         * lib/malloca.valgrind: Remove file.
21289         * modules/malloca (Files): Remove it.
21290         (Depends-on): Remove verify.
21292 2018-01-31  Bruno Haible  <bruno@clisp.org>
21294         environ: Fix link error on 64-bit Cygwin.
21295         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
21296         __declspec(dllimport) attribute.
21297         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
21299 2018-01-30  Bruno Haible  <bruno@clisp.org>
21301         get-rusage-data: Add support for Minix 3.
21302         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
21304 2018-01-30  Bruno Haible  <bruno@clisp.org>
21306         vma-iter: Add support for Minix 3.
21307         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
21308         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
21310 2018-01-27  Bruno Haible  <bruno@clisp.org>
21312         Fix malfunction of socket functions on HP-UX in 64-bit mode.
21313         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
21314         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
21315         _HPUX_ALT_XOPEN_SOCKET_API.
21316         * modules/accept (Depends-on): Add 'extensions'.
21317         * modules/getpeername (Depends-on): Likewise.
21318         * modules/getsockname (Depends-on): Likewise.
21319         * modules/getsockopt (Depends-on): Likewise.
21320         * modules/recvfrom (Depends-on): Likewise.
21321         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
21322         * doc/posix-functions/getpeername.texi: Likewise.
21323         * doc/posix-functions/getsockname.texi: Likewise.
21324         * doc/posix-functions/getsockopt.texi: Likewise.
21325         * doc/posix-functions/recvfrom.texi: Likewise.
21327 2018-01-27  Bruno Haible  <bruno@clisp.org>
21329         getsockname tests: More tests.
21330         * tests/test-getsockname.c (open_server_socket): New function, mostly
21331         copied from test-poll.c.
21332         (main): Check that getsockname fills in addr.
21333         * modules/getsockname-tests (Depends-on): Add the necessary
21334         dependencies.
21335         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
21337 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
21339         manywarnings: fix maintainer comment
21340         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
21341         it does not mistakenly think that ‘-1)’ is an option.
21343 2018-01-26  Bruno Haible  <bruno@clisp.org>
21345         langinfo: Fix last commit.
21346         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21347         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
21349 2018-01-24  Bruno Haible  <bruno@clisp.org>
21351         langinfo, nl_langinfo: Add support for alternative month names.
21352         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
21353         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
21354         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
21355         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
21356         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
21357         * doc/posix-functions/nl_langinfo.texi: Likewise.
21359 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21361         Merge strftime.c changes from glibc
21362         This incorporates:
21363         2017-11-14 [BZ #10871] Implement alternative month names
21364         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
21365         2017-06-20 Use locale_t, not __locale_t, throughout glibc
21366         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
21367         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
21368         Use locale_t, not __locale_t.
21369         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
21370         (__strftime_internal): Add support for alternate months.
21372 2018-01-23  Bruno Haible  <bruno@clisp.org>
21374         doc: Mention another prerequisite for using Gnulib.
21375         Reported at <https://stackoverflow.com/questions/48378214/>.
21376         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
21377         AC_CONFIG_HEADERS.
21379 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
21381         build: GuixSD doesn't have /bin/bash
21382         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
21384 2018-01-21  Bruno Haible  <bruno@clisp.org>
21386         Avoid test failures on Microsoft Windows Subsystem for Linux.
21387         * tests/test-fcntl.c (main): Allow a different errno.
21388         * tests/test-rename.h (test_rename): Likewise.
21389         * tests/test-renameat.c (main): Likewise.
21390         * tests/test-renameat2.c (main): Likewise.
21392 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
21394         filenamecat: make base a suffix of result
21395         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
21396         (mfile_name_concat): Always make BASE a suffix of the result, as
21397         cp expects this.  To implement this, separate with '.' instead of
21398         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
21399         * tests/test-filenamecat.c (main): Adjust tests to match
21400         current behavior.  Check that BASE_IN_RESULT points to
21401         a copy of BASE and is a suffix of the resultk, and that DIR
21402         is a prefix of the result that is no longer than the prefix
21403         indicated by BASE_IN_RESULT.
21405 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
21407         update-copyright: Handle use of ©
21408         * build-aux/update-copyright ($circle_c_re): Update regex to
21409         handle use of © in headers.
21411 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
21413         Fix -Wundef warning in user-included header lib/cdefs.h.
21414         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
21416 2018-01-04  Bruno Haible  <bruno@clisp.org>
21418         pthread_sigmask: Avoid compilation error on mingw.
21419         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21420         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
21421         macro.
21423 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
21425         test-framework-sh: ‘ps -ef’, not ‘ps ef’
21426         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
21427         Suggested by Bob Proulx (Bug#29968).
21428         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
21430 2018-01-02  Eric Blake  <eblake@redhat.com>
21432         stat-time: silence -Wunused-parameter regression
21433         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
21434         Prefer attribute over cast-to-void.
21435         (stat_time_normalize): Mark st as potentially unused.
21437 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
21439         test-framework-sh: avoid netstat
21440         Problem reported by Kristýna Streitová (Bug#29947).
21441         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
21442         deprecated on SuSE and it's not that important anyway.
21444 2018-01-01  Jim Meyering  <meyering@fb.com>
21446         update-copyright: add code to handle more special cases
21447         After running "make update-copyright" this year, five files
21448         required additional manual changes.  Automate those adjustments
21449         for next year.
21450         * Makefile (_year_and_prev): Define.
21451         (update-copyright): Add perl commands to induce this year's post-
21452         update-copyright adjustments.
21454 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
21456         version-etc: new year
21457         * build-aux/gendocs.sh (version):
21458         * doc/gendocs_template:
21459         * doc/gendocs_template_min:
21460         * doc/gnulib.texi:
21461         * lib/version-etc.c (COPYRIGHT_YEAR):
21462         Update copyright dates by hand in templates and the like.
21464         maint: fix 'make update-copyright'
21465         * Makefile (update-copyright): Adjust to 2016-11-23 change
21466         to config/srclist-update, which changed the format of srclist.txt.
21468 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
21470         chdir-safer: remove this module
21471         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
21472         * NEWS: Document removal.
21473         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
21474         * modules/chdir-safer: Remove these files.
21476 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
21478         Add cross-compilation results for GNU/Hurd.
21479         * m4/calloc.m4: Add GNU/Hurd guess.
21480         * m4/cbrtl.m4: Likewise.
21481         * m4/ceil.m4: Likewise.
21482         * m4/ceilf.m4: Likewise.
21483         * m4/ceill.m4: Likewise.
21484         * m4/chown.m4: Likewise.
21485         * m4/duplocale.m4: Likewise.
21486         * m4/exp2l.m4: Likewise.
21487         * m4/expm1.m4: Likewise.
21488         * m4/fchdir.m4: Likewise.
21489         * m4/floor.m4: Likewise.
21490         * m4/floorf.m4: Likewise.
21491         * m4/fmod.m4: Likewise.
21492         * m4/fmodf.m4: Likewise.
21493         * m4/fmodl.m4: Likewise.
21494         * m4/getcwd.m4: Likewise.
21495         * m4/getgroups.m4: Likewise.
21496         * m4/gettimeofday.m4: Likewise.
21497         * m4/hypot.m4: Likewise.
21498         * m4/hypotf.m4: Likewise.
21499         * m4/hypotl.m4: Likewise.
21500         * m4/link-follow.m4: Likewise.
21501         * m4/link.m4: Likewise.
21502         * m4/linkat.m4: Likewise.
21503         * m4/log.m4: Likewise.
21504         * m4/log10.m4: Likewise.
21505         * m4/log10f.m4: Likewise.
21506         * m4/log1p.m4: Likewise.
21507         * m4/log1pf.m4: Likewise.
21508         * m4/log1pl.m4: Likewise.
21509         * m4/log2.m4: Likewise.
21510         * m4/log2f.m4: Likewise.
21511         * m4/logf.m4: Likewise.
21512         * m4/lstat.m4: Likewise.
21513         * m4/malloc.m4: Likewise.
21514         * m4/mbrlen.m4: Likewise.
21515         * m4/mbrtowc.m4: Likewise.
21516         * m4/mkdir.m4: Likewise.
21517         * m4/mkfifo.m4: Likewise.
21518         * m4/mknod.m4: Likewise.
21519         * m4/mkstemp.m4: Likewise.
21520         * m4/modf.m4: Likewise.
21521         * m4/modff.m4: Likewise.
21522         * m4/modfl.m4: Likewise.
21523         * m4/printf.m4: Likewise.
21524         * m4/pselect.m4: Likewise.
21525         * m4/ptsname.m4: Likewise.
21526         * m4/putenv.m4: Likewise.
21527         * m4/readlink.m4: Likewise.
21528         * m4/realloc.m4: Likewise.
21529         * m4/remainder.m4: Likewise.
21530         * m4/remainderf.m4: Likewise.
21531         * m4/remainderl.m4: Likewise.
21532         * m4/rmdir.m4: Likewise.
21533         * m4/round.m4: Likewise.
21534         * m4/roundf.m4: Likewise.
21535         * m4/roundl.m4: Likewise.
21536         * m4/select.m4: Likewise.
21537         * m4/setenv.m4: Likewise.
21538         * m4/signbit.m4: Likewise.
21539         * m4/sleep.m4: Likewise.
21540         * m4/stat.m4: Likewise.
21541         * m4/strerror.m4: Likewise.
21542         * m4/strtok_r.m4: Likewise.
21543         * m4/symlink.m4: Likewise.
21544         * m4/symlinkat.m4: Likewise.
21545         * m4/trunc.m4: Likewise.
21546         * m4/truncf.m4: Likewise.
21547         * m4/truncl.m4: Likewise.
21548         * m4/tzset.m4: Likewise.
21549         * m4/ungetc.m4: Likewise.
21550         * m4/usleep.m4: Likewise.
21551         * m4/wcwidth.m4: Likewise.
21553 2017-12-28  Bruno Haible  <bruno@clisp.org>
21555         gnulib-tool: Make --conditional-dependencies work better.
21556         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
21557         * gnulib-tool (Options): Don't reject the combination of
21558         --conditional-dependencies with --with-tests.
21559         (func_emit_autoconf_snippets): Add argument referenceable_modules.
21560         Don't reference $modules.
21561         (func_import, func_create_testdir): Pass it.
21563 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21565         regex: use re_malloc etc. consistently
21566         Problem and original patch reported by Arnold Robbins in:
21567         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
21568         * lib/regcomp.c (re_comp):
21569         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
21570         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
21572 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
21573             Paul Eggert  <eggert@cs.ucla.edu>
21575         glob: Silence warning about void pointer arithmetic.
21576         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
21577         arithmetic.
21579 2017-12-15  Bruno Haible  <bruno@clisp.org>
21581         spawn-pipe: Silence a clang warning.
21582         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21583         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
21584         in this file.
21586 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
21588         explicit_bzero: port to macOS + Clang 9.0.0
21589         Problem reported by Marcus Johnson (Bug#29658).
21590         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
21591         Don’t use asm.
21593 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21595         doc: Improve explanation of supporting relocatable libraries.
21596         * doc/relocatable-maint.texi (Supporting Relocation): Explain
21597         properly how to build the relocatable module for
21598         libraries. (Method and example code from Bruno Haible.)
21600 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21602         doc: Use better texinfo tags in a few cases.
21603         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
21604         instead of @samp in a few places.
21606 2017-12-11  Bruno Haible  <bruno@clisp.org>
21608         unistr/base: Update comment.
21609         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
21611 2017-12-10  Pádraig Brady  <P@draigBrady.com>
21613         test-faccessat.c: unlink temp file to avoid subsequent test failure
21614         * tests/test-faccessat.c: Remove the file to avoid failure
21615         to open the file on subsequent runs due to being created
21616         with no permissions.
21618 2017-12-10  Bruno Haible  <bruno@clisp.org>
21620         doc: New sect. "Modifying the build rules of a Gnulib import directory".
21621         * doc/gnulib-tool.texi (Modified build rules): New node.
21623 2017-12-10  Bruno Haible  <bruno@clisp.org>
21625         doc: Tweak wording.
21626         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
21627         "binaries".
21629 2017-12-05  Sam Steingold  <sds@gnu.org>
21630             Bruno Haible  <bruno@clisp.org>
21632         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
21633         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
21634         AC_EGREP_CPP pattern.
21636 2017-12-03  Bruno Haible  <bruno@clisp.org>
21638         all: Replace more http URLs by https URLs.
21639         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
21640         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
21641         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
21642         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
21644 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
21646         Port better to CentOS 5
21647         Problems reported by Tom G. Christensen in:
21648         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
21649         * doc/glibc-functions/strverscmp.texi (strverscmp):
21650         Document strverscmp bug with glibc 2.9 and earlier.
21651         * doc/posix-functions/tzset.texi (tzset):
21652         Document that TZ with angle brackets is POSIX-2001 and later.
21653         * tests/test-nstrftime.c: Include unistd.h.
21654         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
21655         (TZ): Use it to skip tests with angle brackets in TZ,
21656         for older systems.
21658         stat: add missing module dependencies
21659         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
21660         Add stat-time.
21662 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
21664         stat: fix compilation failure on macOS Sierra
21665         Reported by Marius Schamschula <mschamschula@gmail.com> in:
21666         https://savannah.gnu.org/bugs/?52546
21667         * lib/stat.c: Add missing include of stat-time.h.
21669 2017-11-28  Jim Meyering  <meyering@fb.com>
21671         test-faccessat.c: correct BASE definition to avoid parallel test failure
21672         * tests/test-faccessat.c (BASE): Define using this file's name, not
21673         that of test-lstat.c.  Using the latter caused this test to fail
21674         sometimes when run concurrently with test-lstat.
21676 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21678         unicase: fix VPATH build
21679         * modules/unicase/special-casing (Makefile.am): Ensure that the
21680         base directory is created when generating
21681         unicase/special-casing.h.
21683 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21685         libunistring: update to Unicode 9.0.0
21686         * lib/gen-uni-tables.c (fill_properties): Recognize
21687         Sentence_Terminal and Prepended_Concatenation_Mark.
21688         (is_property_default_ignorable_code_point): Exclude U+08E2.
21689         (fill_arabicshaping): Allow missing whitespace when parsing;
21690         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
21691         (output_blocks): Increase the element size of the level1 table to
21692         accommodate more blocks.
21693         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
21694         Update each class according to the standard.
21695         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
21696         E_Base_GAZ characters.
21697         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
21698         Glue_After_Zwj, and E_Base_GAZ characters.
21699         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
21700         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
21701         enum value.
21702         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
21703         value.
21704         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
21705         LBP_ZWJ, LBP_EB, and LBP_EM.
21706         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
21707         enum value.
21708         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
21709         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
21710         declaration.
21711         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
21712         (uniwbrk_table): Implement WB14.
21713         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
21714         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
21715         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
21716         uc-is-grapheme-break.
21717         * modules/unigbrk/uc-grapheme-breaks: New module.
21718         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
21719         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
21720         enum value.
21721         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
21722         * lib/unigbrk/u-grapheme-breaks.h: New file.
21723         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
21724         u-grapheme-breaks.h instead of uc_is_grapheme_break.
21725         * lib/unigbrk/uc-grapheme-breaks.c: New file.
21726         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
21727         29.
21728         * tests/unigbrk/test-uc-gbrk-prop.c
21729         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21730         GBP_GAZ, and GBP_EBG.
21731         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
21732         * tests/unigbrk/test-uc-is-grapheme-break.c
21733         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21734         GBP_GAZ, and GBP_EBG.
21735         (main): Skip unsupported rules involving 3 or more characters,
21736         namely GB10, GB12, and GB13.
21737         * lib/uniwidth/width.c (nonspacing_table_data): Update.
21738         * all generated files under lib/uni* and tests/uni*: Regenerate.
21739         * all the affected modules: Bump version.
21741 2017-11-26  Bruno Haible  <bruno@clisp.org>
21743         strfmon_l: Fix compilation error with glibc 2.5.
21744         Reported by Tom G. Christensen <tgc@jupiterrise.com>
21745         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
21746         * lib/monetary.in.h: Include also <locale.h>.
21748 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21750         posixtm: remove PDS_LEADING_YEAR
21751         This changes the API slightly, in a hopefully-innocuous way.
21752         Without this change the code had undefined behavior when a
21753         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
21754         Problem reported by Pádraig Brady in:
21755         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
21756         * NEWS: Mention this.
21757         * lib/posixtm.c (posix_time_parse): Treat the absence of
21758         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
21759         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
21760         present, but define it as zero, for compatibility with existing
21761         source code).  All other PDS_* values moved up.
21762         * tests/test-posixtm.c (LY): New macro.
21763         (T): Use it.  Do not expect a particular numeric encoding
21764         for PDS_CENTURY etc.
21766 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21768         stat: work around Solaris bug with tv_nsec < 0
21769         * doc/posix-functions/fstat.texi (fstat):
21770         * doc/posix-functions/fstatat.texi (fstatat):
21771         * doc/posix-functions/lstat.texi (lstat):
21772         * doc/posix-functions/stat.texi (stat):
21773         Mention Solaris 11 bug.
21774         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
21775         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
21776         * lib/lstat.c (rpl_lstat):
21777         * lib/stat.c (rpl_stat):
21778         Normalize resulting timestamps.
21779         * lib/fstatat.c (normal_fstatat): New function.
21780         (rpl_fstatat): Use it.
21781         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
21782         (stat_time_normalize): New function.
21783         * m4/fstat.m4 (gl_FUNC_FSTAT):
21784         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
21785         * m4/lstat.m4 (gl_FUNC_LSTAT):
21786         * m4/stat.m4 (gl_FUNC_STAT):
21787         Replace on Solaris.
21788         * modules/fstat (Depends-on):
21789         * modules/fstatat (Depends-on):
21790         Add stat-time.
21791         * modules/stat-time (Depends-on): Add errno, intprops.
21793 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
21795         regex: merge from glibc
21796         * lib/regcomp.c (init_word_char): Add comments.
21798 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
21800         regex: merge from glibc
21801         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
21802         * lib/regex_internal.h (internal_function): Remove.
21803         All uses removed.
21805 2017-11-20  Bruno Haible  <bruno@clisp.org>
21807         crypto/gc-sm3: Fix buffer overrun.
21808         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
21809         Reported by Coverity.
21811 2017-11-12  Jim Meyering  <meyering@fb.com>
21813         maint: shorten https://lists.gnu.org/archive/html/... links
21814         Each /archive/html/ part can be replace with /r/.
21815         Run this to induce the change:
21816         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
21817         * ChangeLog: Perform that substitution.
21818         * Makefile: Likewise.
21819         * STATUS-libposix: Likewise.
21820         * build-aux/bootstrap: Likewise.
21821         * doc/maintain.texi: Likewise.
21822         * gnulib-tool: Likewise.
21823         * lib/allocator.h: Likewise.
21824         * lib/argp-ba.c: Likewise.
21825         * lib/argp-pv.c: Likewise.
21826         * lib/canon-host.c: Likewise.
21827         * lib/canonicalize-lgpl.c: Likewise.
21828         * lib/float.in.h: Likewise.
21829         * lib/fstat.c: Likewise.
21830         * lib/getdelim.c: Likewise.
21831         * lib/getprogname.c: Likewise.
21832         * lib/glthread/thread.h: Likewise.
21833         * lib/intprops.h: Likewise.
21834         * lib/mbsrtowcs-state.c: Likewise.
21835         * lib/safe-read.c: Likewise.
21836         * lib/signal.in.h: Likewise.
21837         * lib/stat.c: Likewise.
21838         * lib/stdbool.in.h: Likewise.
21839         * lib/stdio-impl.h: Likewise.
21840         * lib/stdio.in.h: Likewise.
21841         * lib/sysexits.in.h: Likewise.
21842         * lib/timespec.h: Likewise.
21843         * lib/wcsrtombs-state.c: Likewise.
21844         * m4/alloca.m4: Likewise.
21845         * m4/extern-inline.m4: Likewise.
21846         * m4/fstatat.m4: Likewise.
21847         * m4/gnulib-common.m4: Likewise.
21848         * m4/lib-ignore.m4: Likewise.
21849         * m4/printf.m4: Likewise.
21850         * m4/regex.m4: Likewise.
21851         * m4/stat-size.m4: Likewise.
21852         * m4/std-gnu11.m4: Likewise.
21853         * m4/stdbool.m4: Likewise.
21854         * m4/sys_types_h.m4: Likewise.
21855         * m4/threadlib.m4: Likewise.
21856         * m4/vararrays.m4: Likewise.
21857         * pygnulib/GLImport.py: Likewise.
21858         * tests/test-exp.h: Likewise.
21859         * tests/test-exp2.h: Likewise.
21860         * tests/test-expm1.h: Likewise.
21861         * tests/test-fflush2.c: Likewise.
21862         * tests/test-getopt_long.h: Likewise.
21863         * tests/test-intprops.c: Likewise.
21864         * tests/test-log.h: Likewise.
21865         * tests/test-log10.h: Likewise.
21866         * tests/test-log1p.h: Likewise.
21867         * tests/test-log2.h: Likewise.
21868         * tests/test-printf-posix.h: Likewise.
21869         * tests/test-regex.c: Likewise.
21870         * tests/test-snprintf-posix.h: Likewise.
21871         * tests/test-sprintf-posix.h: Likewise.
21872         * tests/test-stdalign.c: Likewise.
21873         * tests/test-stdbool.c: Likewise.
21874         * tests/test-vasnprintf-posix.c: Likewise.
21875         * tests/test-vasprintf-posix.c: Likewise.
21876         * top/maint.mk: Likewise.
21878 2017-11-12  Bruno Haible  <bruno@clisp.org>
21880         faccessat: Make the last change more robust.
21881         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
21882         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
21884 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21886         faccessat: port to macOS (Bug#29231)
21887         macOS faccessat has the same bug that lstat does: if the file
21888         name ends in '/' it ignores the trailing slash.
21889         Problem reported for Emacs by Vincent Zhang.
21890         * doc/posix-functions/faccessat.texi (faccessat): Document this.
21891         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
21892         around the initial includes.  Include errno.h, string.h, sys/stat.h.
21893         (orig_faccessat) [HAVE_FACCESSAT]: New function.
21894         Include "unistd.h" after defining it.
21895         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
21896         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
21897         Handle in the usual way.
21898         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
21899         lstat dereferences symlinks, since faccessat is likely to
21900         have the same problem.
21901         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
21902         * modules/faccessat (Depends-on): Add fstatat.
21903         Depend if REPLACE_FACCESSAT is 1, too.
21904         (configure.ac): Link if REPLACE_FACCESSAT is 1.
21905         * modules/faccessat-tests (Depends-on): Add symlink.
21906         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
21907         * tests/test-faccessat.c (main): Test for the bug.
21909 2017-11-11  Bruno Haible  <bruno@clisp.org>
21911         getprogname: Fix compilation error on IRIX.
21912         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
21913         'namesize'.
21915 2017-11-11  Bruno Haible  <bruno@clisp.org>
21917         year2038: Tweak last patch.
21918         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
21920 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
21922         year2038: be more insistent about 64-bit time_t
21923         Applications requiring access to arbitrary files should not be
21924         built with 32-bit time_t on hosts that have 64-bit timestamps,
21925         as this can lead to real trouble at runtime.
21926         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
21927         Check on all systems, not just MinGW.  Use a heuristic involving
21928         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
21929         output a failure or just a warning, to make it more likely that
21930         builders will select 64-bit time_t.
21932 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
21934         havelib: fix typo in previous change
21935         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
21937         Don’t use AC_EGREP_CPP if affected by CFLAGS
21938         * m4/float_h.m4 (gl_FLOAT_H):
21939         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
21940         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
21941         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
21942         * m4/year2038.m4 (gl_YEAR2038):
21943         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
21944         likely to be affected by the choice of CFLAGS, since CFLAGS are
21945         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
21946         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
21948         fstatat: pacify GCC on unusual platform
21949         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
21950         Omit, as it’s unused in this case.
21952 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21954         timespec: prefer ‘assume’ to ‘assure’
21955         This avoids some runtime tests.  The rest of the module makes
21956         similar assumptions and there is little point to testing here.
21957         * lib/timespec.h: Include verify.h instead of assure.h.
21958         (timespec_cmp): Use ‘assume’, not ‘assure’.
21959         Also, remove an unnecessary cast to ‘int’, as lots of other
21960         code in this module now causes -Wconversion to complain, and
21961         this is a problem with -Wconversion not with the code.
21963         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
21965         Port recent gnulib-tool change to Dash
21966         * gnulib-tool (func_create_testdir): Don't assume that the shell
21967         retokenizes after expanding "$@" inside the call to
21968         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
21970 2017-10-27  Jim Meyering  <meyering@fb.com>
21972         timespec.h: use "assure" to avoid a spurious warning
21973         * lib/timespec.h: Include "assure.h" and use it to help
21974         gcc7's -Wstrict-overflow avoid a false positive warning
21975         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
21976         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
21977         * modules/timespec (Depends-on): Add assure.
21979 2017-10-29  Bruno Haible  <bruno@clisp.org>
21981         Avoid several test failures with traditional locales on Haiku.
21982         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
21983         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
21984         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
21985         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
21986         LOCALE_ZH_CN=none.
21988 2017-10-29  Bruno Haible  <bruno@clisp.org>
21990         strerror_r-posix: Fix behaviour and test failure on Haiku.
21991         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
21992         are positive. Work around return value 0 instead of ERANGE on Haiku.
21993         For unknown error numbers, use a format string consistent with perror().
21994         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
21995         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
21996         are positive.
21998 2017-10-29  Bruno Haible  <bruno@clisp.org>
22000         get-rusage-data: Avoid crash on Haiku.
22001         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
22003 2017-10-29  Bruno Haible  <bruno@clisp.org>
22005         get-rusage-as: Avoid crash on Haiku.
22006         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
22008 2017-10-29  Bruno Haible  <bruno@clisp.org>
22010         ilogbl: Ensure replacement on Haiku.
22011         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
22012         REPLACE_ILOGBL if ilogbl does not work.
22013         (gl_FUNC_ILOGBL_WORKS): New macro.
22014         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
22015         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
22016         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
22017         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
22018         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
22020 2017-10-29  Bruno Haible  <bruno@clisp.org>
22022         expl: Ensure replacement on Haiku.
22023         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
22024         zero.
22025         * doc/posix-functions/expl.texi: Mention the Haiku problem.
22027 2017-10-29  Bruno Haible  <bruno@clisp.org>
22029         math: Fix test failure on Haiku.
22030         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
22031         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
22032         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
22033         * doc/posix-headers/math.texi: Mention the Haiku problem.
22035 2017-10-29  Bruno Haible  <bruno@clisp.org>
22037         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
22038         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
22039         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
22041 2017-10-29  Bruno Haible  <bruno@clisp.org>
22043         crypto/*: Verify that the header file is self-contained.
22044         * tests/test-gc-*.c: Include the module's header file immediately after
22045         <config.h>.
22046         * tests/test-hmac-*.c: Likewise.
22047         * tests/test-arcfour.c: Likewise.
22048         * tests/test-arctwo.c: Likewise.
22049         * tests/test-des.c: Likewise.
22050         * tests/test-md2.c: Likewise.
22051         * tests/test-md4.c: Likewise.
22052         * tests/test-md5.c: Likewise.
22053         * tests/test-rijndael.c: Likewise.
22054         * tests/test-sha1.c: Likewise.
22055         * tests/test-sm3.c: Likewise.
22057 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22058             Bruno Haible  <bruno@clisp.org>
22060         crypto/gc: fix build failure with -Werror=suggest-attribute=const
22061         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
22063 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22065         New module: crypto/gc-sm3
22066         * lib/gc.h: Declare SM3-related stuffs.
22067         * lib/gc-gnulib.c: Support sm3 in internal functions.
22068         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
22069         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
22070         * modules/crypto/gc-sm3: Define gc-sm3 module.
22071         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
22072         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
22073         * MODULES.html.sh: List gc-sm3 module.
22075 2017-10-29  Bruno Haible  <bruno@clisp.org>
22077         random, random_r: Mention different prototypes on Haiku.
22078         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
22079         * doc/glibc-functions/random_r.texi: Likewise.
22080         * doc/glibc-functions/initstate_r.texi: Likewise.
22081         * doc/glibc-functions/setstate_r.texi: Likewise.
22083 2017-10-28  Bruno Haible  <bruno@clisp.org>
22085         posix_spawn: Avoid spurious message in configure output.
22086         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
22087         'cmp' command.
22089 2017-10-28  Bruno Haible  <bruno@clisp.org>
22091         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
22092         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
22093         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
22095 2017-10-28  Bruno Haible  <bruno@clisp.org>
22097         ioctl: Override non-POSIX declaration on Haiku.
22098         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
22099         * lib/sys_ioctl.in.h: Add comment about Haiku.
22100         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
22101         * doc/glibc-headers/sys_ioctl.texi: Likewise.
22103 2017-10-28  Bruno Haible  <bruno@clisp.org>
22105         crypto/sm3: Add overview documentation to the .h file.
22106         * lib/sm3.h: Add comments.
22108 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22110         New module: crypto/sm3
22111         This new module can be used to compute SM3 message digest of files or
22112         memory blocks according to the specification GM/T 004-2012
22113         Cryptographic Hash Algorithm SM3, published by State Cryptography
22114         Administration, China.
22115         The official SM3 cryptographic hash algorithm specification is
22116         available at
22117         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
22118         * lib/sm3.h: Declare the APIs of sm3 module.
22119         * lib/sm3.c: Implement SM3 hash algorithm.
22120         * m4/sm3.m4: m4 file for sm3 module.
22121         * modules/crypto/sm3: Define sm3 module.
22122         * tests/test-sm3.c: Implement SM3 test case.
22123         * modules/crypto/sm3-tests: Define sm3 test module.
22124         * MODULES.html.sh: List sm3 module.
22126 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22128         gc-libgcrypt: fix undefined enum type in switch statement
22129         Resolve the following build failure:
22130         lib/gc-libgcrypt.c: In function 'gc_hash_open':
22131         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
22132         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
22133              case 0:
22134              ^~~~
22135         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
22136         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
22138 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22140         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
22141         Resolve the following build failure:
22142         lib/gc-libgcrypt.c: In function 'gc_hash_read':
22143         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
22144         in signedness [-Werror=pointer-sign]
22145             digest = gcry_md_read (ctx->gch, 0);
22146                    ^
22147         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
22149 2017-10-26  Bruno Haible  <bruno@clisp.org>
22151         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
22152         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
22153         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
22155 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
22157         glob: fix another heap buffer overflow
22158         Problem reported by Tim Rühsen in:
22159         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
22160         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
22162 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
22164         quotearg: pacify compiler re unsigned
22165         * lib/quotearg.c (quotearg_n_options):
22166         Rewrite to avoid diagnostic from overly-picky compiler.
22167         Problem reported by Sami Kerola in:
22168         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
22170         glob: fix heap buffer overflow
22171         * lib/glob.c (glob): Fix off-by-one error introduced into
22172         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
22173         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
22174         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
22175         Fix suggested by Bruno Haible.
22177 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
22179         glob: pacify fuzzer for mempcpy
22180         Problem reported by Tim Rühsen in:
22181         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
22182         * lib/glob.c (glob): Do not pass NULL to mempcpy.
22184 2017-10-12  Bruno Haible  <bruno@clisp.org>
22186         doc: Fix syntax error (regression from 2017-10-03).
22187         * doc/posix-functions/strncpy.texi: Fix syntax error.
22189 2017-10-12  Bruno Haible  <bruno@clisp.org>
22191         doc: Update for Solaris 11.3.
22192         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
22193         mention Solaris 11.3.
22194         * m4/log2.m4: Fix comments.
22195         * m4/log2f.m4: Likewise.
22196         * m4/printf.m4: Update comments.
22197         * m4/rename.m4: Likewise.
22198         * m4/strncat.m4: Likewise.
22200         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
22202 2017-10-10  Bruno Haible  <bruno@clisp.org>
22204         doc: Improve doc about ioctl.
22205         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
22206         prototype.
22208 2017-10-09  Bruno Haible  <bruno@clisp.org>
22210         wcwidth: Don't use obsolete syntax of 'test'.
22211         Reported by Eric Blake.
22212         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
22213         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
22215 2017-10-09  Bruno Haible  <bruno@clisp.org>
22217         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
22218         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
22219         and Daniel P. Berrange <berrange@redhat.com>.
22220         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
22221         on glibc systems. The getopt-pfx-core.h file declares exactly what
22222         unistd.h needs, nothing more.
22224 2017-10-08  Bruno Haible  <bruno@clisp.org>
22226         vma-iter: Improve support for FreeBSD.
22227         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
22228         vma_iterate.
22229         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
22231 2017-10-08  Bruno Haible  <bruno@clisp.org>
22233         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
22234         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
22236 2017-10-07  KO Myung-Hun  <komh@chollian.net>
22238         test-framework-sh: Fix 'invalid path dir' error.
22239         On OS/2, a path separator is ';' not ':'. And ':' is used as a
22240         separator between a drive letter and directory parts.
22241         As a result, an absolute path such as x:/path/to/dir on OS/2 is
22242         treated as an invalid path dir.
22243         * tests/init.sh (PATH_SEPARATOR): Set at startup.
22244         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
22245         instead of hard coded ':'.
22247 2017-10-07  Bruno Haible  <bruno@clisp.org>
22249         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
22250         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
22251         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
22252         (rof_open): On Linux, do multiple read() calls and make sure
22253         MIN_LEFTOVER bytes are left when read() returns.
22255 2017-10-07  Bruno Haible  <bruno@clisp.org>
22257         vma-iter: Improve support for GNU/Hurd.
22258         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
22259         API, not the /proc file system.
22261 2017-10-07  Bruno Haible  <bruno@clisp.org>
22263         test-framework-sh: Don't require bash on Windows and OS/2.
22264         Reported by KO Myung-Hun.
22265         * tests/test-init.sh: Use 'shopt' only when running in bash.
22267 2017-10-06  KO Myung-Hun  <komh@chollian.net>
22269         wcwidth: check a macro version of wcwidth () as well
22270         * lib/wchar.in.h: Revert commit from 2016-01-14.
22271         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
22273 2017-10-06  Bruno Haible  <bruno@clisp.org>
22275         getopt-posix: Clarify copyright header.
22276         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
22277         * lib/getopt-pfx-core.h: Likewise.
22278         * lib/getopt-pfx-ext.h: Likewise.
22279         * lib/getopt-cdefs.in.h: Likewise.
22281 2017-10-03  Bruno Haible  <bruno@clisp.org>
22283         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
22284         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
22285         gl_HOST_CPU_C_ABI.
22287 2017-10-03  Bruno Haible  <bruno@clisp.org>
22289         doc: warn about misuse of strncpy and wcsncpy.
22290         * doc/posix-functions/strcpy.texi: Describe requirements on prior
22291         memory allocation.
22292         * doc/posix-functions/wcscpy.texi: Likewise.
22293         * doc/posix-functions/strncpy.texi: Describe what this function is not
22294         useful for.
22295         * doc/posix-functions/wcsncpy.texi: Likewise.
22297 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
22299         fsuage: fix typo in previous change
22300         * lib/fsusage.c: Remove stray include of full-read.h.
22301         Problem reported by Sam Steingold for macOS (Bug#28669).
22303 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
22305         fsusage: remove SVR2 support
22306         SVR2 was obsolete by 1986 and is no longer supported by anybody,
22307         and its code was getting in the way of use of this module by
22308         Emacs, which has its own ‘read’ function anyway.
22309         * lib/fsusage.c: Do not include sys/filsys.h.
22310         (get_fs_usage): Remove SVR2-specific code.
22311         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
22312         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
22313         * modules/fsusage (Depends-on): Do not depend on full-read.
22315         Simplify autoupdate of licenses
22316         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
22317         place.
22319 2017-10-01  Bruno Haible  <bruno@clisp.org>
22321         vma-iter: Add support for GNU/Hurd.
22322         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
22323         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22325 2017-09-30  Bruno Haible  <bruno@clisp.org>
22327         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
22328         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
22329         fail when module 'largefile' is in use.
22330         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
22331         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
22332         Don't test HAVE_SYS_PROCFS_H.
22334 2017-09-30  Bruno Haible  <bruno@clisp.org>
22336         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
22337         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
22338         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
22339         * modules/havelib (Depends-on): Add host-cpu-c-abi.
22341 2017-09-30  Bruno Haible  <bruno@clisp.org>
22343         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
22344         * lib/uniname/uniname.c (unicode_name_character): Add braces around
22345         scope of local variables.
22347 2017-09-28  Bruno Haible  <bruno@clisp.org>
22349         string: code style
22350         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
22351         substitutable variables.
22352         * modules/string (Makefile.am): Likewise.
22354 2017-09-26  Bruno Haible  <bruno@clisp.org>
22356         uniname/uniname-tests: Tighten code.
22357         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
22358         local variables into one.
22360 2017-09-26  Bruno Haible  <bruno@clisp.org>
22362         vma-iter: Improvements for Linux and BSD platforms.
22363         - Add support for DragonFly BSD.
22364         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
22365         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
22366         Read the entire file into memory in a single system call.
22367         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
22368         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
22370 2017-09-26  Bruno Haible  <bruno@clisp.org>
22372         vma-iter: Provide the protection flags on FreeBSD.
22373         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
22374         skip three fields between the addresses and the protection flags.
22376 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
22378         glob: remove bogus extern decl
22379         * lib/glob.c (__glob_pattern_type): Remove now-spurious
22380         extern declaration.  Problem reported by Adhemerval Zanella in:
22381         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
22383 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
22385         uniname/uniname-tests: integer overflow fix
22386         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
22387         Check for integer overflow.
22389         duplocale-tests: fix unlikely crash
22390         * tests/test-duplocale.c (get_locale_dependent_values):
22391         Don’t crash with absurdly long month names.
22393         maint: fix overflow checking in nap.h
22394         * modules/chown-tests:
22395         * modules/fchownat-tests, modules/fdutimensat-tests:
22396         * modules/futimens-tests, modules/lchown-tests:
22397         * modules/stat-time-tests, modules/utime-tests:
22398         * modules/utimens-tests, modules/utimensat-tests:
22399         Depend on intprops.
22400         * tests/nap.h: Include intprops.h.
22401         (diff_timespec): Handle overflow properly.
22403         sys_types: update URL
22404         * m4/sys_types_h.m4: Use https: URL.
22406         parse-datetime: fix dependency
22407         * modules/parse-datetime (Depends-on): Depend
22408         on nstrftime, not strftime.
22410         parse-datetime, posixtm: avoid uninit access
22411         * lib/parse-datetime.y (parse_datetime2):
22412         * lib/posixtm.c (posixtime):
22413         Do not access uninitialized storage, even though the resulting
22414         value is never used.
22416 2017-09-25  Bruno Haible  <bruno@clisp.org>
22418         vma-iter: Improvements for BSD platforms.
22419         - Add support for GNU/kFreeBSD.
22420         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
22421         - Speed up on OpenBSD.
22422         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
22423         (vma_iterate_bsd): New function.
22424         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
22425         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
22426         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22427         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
22429 2017-09-23  Bruno Haible  <bruno@clisp.org>
22431         strfmon_l: New module.
22432         * modules/strfmon_l: New file.
22433         * lib/strfmon_l.c: New file.
22434         * m4/strfmon_l.m4: New file.
22435         * doc/posix-functions/strfmon_l.texi: Mention the new module.
22436         * modules/strfmon_l-tests: New file.
22437         * tests/test-strfmon_l.c: New file.
22439         monetary: New module.
22440         * modules/monetary: New file.
22441         * lib/monetary.in.h: New file.
22442         * m4/monetary_h.m4: New file.
22443         * doc/posix-headers/monetary.texi: Mention the new module.
22444         * modules/monetary-tests: New file.
22445         * tests/test-monetary.c: New file.
22446         * modules/monetary-c++-tests: New file.
22447         * tests/test-monetary-c++.cc: New file.
22448         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
22450 2017-09-23  Bruno Haible  <bruno@clisp.org>
22452         duplocale tests: Fix test crash on Linux/x86.
22453         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
22454         locale from the current thread before freeing it.
22456 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
22458         mktime: port to OpenVMS
22459         Problem reported by John E. Malmberg in:
22460         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
22461         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
22463 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22465         manywarnings: port to GCC on 64-bit MS-Windows
22466         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
22467         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
22468         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
22470 2017-09-13  Bruno Haible  <bruno@clisp.org>
22472         all: Replace many more http URLs by https URLs. Update stale URLs.
22473         * users.txt: Remove mention of 'newts'.
22474         * lib/localename.c: Update comment about LANG_SOTHO.
22476 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22478         all: Replace many http URLs by https URLs.
22480 2017-09-12  Bruno Haible  <bruno@clisp.org>
22482         doc: Prefer https URLs where possible.
22483         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
22484         * doc/ld-output-def.texi: Remove unavailable URL.
22486 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22488         maintainer-makefile: FTP -> HTTPS
22489         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
22490         of FTP, which is planned to be decommissioned on 2017-11-01.
22492 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
22494         libc-config: Fix __GNUC_PREREQ macro.
22495         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
22496         __GNUC_MINOR.
22498 2017-09-09  Bruno Haible  <bruno@clisp.org>
22500         gnulib-tool: Simplify commit from 2015-08-20.
22501         * gnulib-tool (func_add_or_update): Remove local variable
22502         is_binary_file.
22504 2017-09-08  Bruno Haible  <bruno@clisp.org>
22506         stddef: Avoid conflict with system-defined max_align_t.
22507         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
22508         Reported by Werner Lemberg <wl@gnu.org> in
22509         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
22510         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
22511         (max_align_t): Define as a macro.
22512         (GNULIB_defined_max_align_t): New macro. Guards against multiple
22513         definitions of rpl_max_align_t in different copies of gnulib-generated
22514         <stddef.h>.
22516 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22518         libc-config: port to MSVC
22519         Problems reported by Gisle Vanem in:
22520         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
22521         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
22522         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
22523         * m4/__inline.m4: New file.
22524         * modules/libc-config (Files): Add it.
22525         (Depends-on): Use it.
22527         glob: Use enum for __glob_pattern_type result
22528         From a patch proposed by Adhemerval Zanella in:
22529         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
22530         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
22531         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
22532         * lib/glob_internal.h (__glob_pattern_type):
22533         * lib/glob.c (glob):
22534         * lib/glob_pattern_p.c (__glob_pattern_p):
22535         Use them.
22537         glob: fix for use in glibc
22538         Problem reported by Adhemerval Zanella in:
22539         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
22540         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
22541         Do not redefine if _LIBC.
22543 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22545         glob: fix bugs with long login names
22546         Problem reported by Adhemerval Zanella in:
22547         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
22548         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
22549         (glob): Use the same scratch buffer for both getlogin_r and
22550         getpwnam_r.  Don’t require preallocation of the login name.  This
22551         simplifies storage allocation, and corrects the handling of
22552         long login names.
22554 2017-09-02  Bruno Haible  <bruno@clisp.org>
22556         dirent: Update doc.
22557         * doc/posix-headers/dirent.texi: More concrete list of platforms.
22559 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22561         glob: fix getpwnam_r errno typo
22562         * lib/glob.c (glob): Fix longstanding misuse of errno after
22563         getpwnam_r, which returns an error number rather than setting
22564         errno.
22566         glob: fix typo in recent change
22567         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
22568         Fix recently-introduced typo.
22570 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22572         glob: don't save and restore errno unnecessarily
22573         * lib/glob.c (glob): Don't save and restore errno
22574         merely because we have getpwnam_r.
22576         glob: don't assume getpwnam_r
22577         * lib/glob.c (glob): Port recent patches to platforms
22578         lacking getpwnam_r.
22580         scratch_buffer: don’t use private glibc API
22581         Suggested by Florian Weimer in:
22582         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
22583         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
22584         * lib/scratch_buffer_grow.c: Rename to
22585         lib/malloc/scratch_buffer_grow.c.
22586         * lib/scratch_buffer_grow_preserve.c: Rename to
22587         lib/malloc/scratch_buffer_grow_preserve.c.
22588         * lib/scratch_buffer_set_array_size.c: Rename to
22589         lib/malloc/scratch_buffer_set_array_size.c.
22590         * lib/scratch_buffer.h: New file.
22591         * modules/scratch_buffer (Files, Makefile.am):
22592         Adjust to source-file renaming.
22594 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22596         glob: use scratch_buffer instead of extend_alloca
22597         Much of the lib/glob.c part of this patch comes from a glibc patch
22598         proposed by Adhemerval Zanella in:
22599         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
22600         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
22601         included via glob.h, does this for us now.
22602         (__set_errno): Remove, as libc-config does this for us now.
22603         Include <scratch_buffer.h>.
22604         (GETPW_R_SIZE_MAX): Remove.
22605         (glob): Use struct scratch_buffer instead of extend_alloca.
22606         * lib/glob.in.h: Include libc-config.h rather than
22607         including <sys/cdefs.h> conditionally.
22608         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
22609         (__glibc_unlikely, __restrict, weak_alias):
22610         Remove, as libc-config does this for us now.
22611         * m4/glob.m4 (gl_PREREQ_GLOB):
22612         Remove sys/cdefs.h tests; no longer needed.
22613         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
22614         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
22616         scratch_buffer: new module
22617         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
22618         * lib/scratch_buffer_grow_preserve.c:
22619         * lib/scratch_buffer_set_array_size.c:
22620         New files, copied from glibc with very minor changes that can be
22621         copied back.
22622         * modules/scratch_buffer: New file.
22624         libc-config: new module
22625         * MODULES.html.sh: Add libc-config.
22626         * lib/cdefs.h: New file, copied from the GNU C Library with very
22627         minor changes that can be copied back.
22628         * lib/libc-config.h, modules/libc-config: New files.
22630 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22632         glob: match dangling symlinks
22633         This fixes a bug I inadvertently introduced to Gnulib when I
22634         merged glibc glob back into gnulib on 2007-10-16.  This fix is
22635         inspired by a patch proposed for glibc by Adhemerval Zanella in:
22636         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
22637         * doc/posix-functions/glob.texi: Update list of affected platforms.
22638         * lib/glob.c (__lstat64): New macro.
22639         (is_dir): New function.
22640         (glob, glob_in_dir): Match symlinks even if they are dangling.
22641         (link_stat, link_exists_p): Remove.  All uses removed.
22642         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
22643         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
22644         * modules/glob-tests (Depends-on): Add symlink.
22645         * tests/test-glob.c: Include errno.h, unistd.h.
22646         (BASE): New macro.
22647         (main): Test dangling symlinks, if symlinks are supported.
22649         glob, backupfile: inode 0 is a valid inode number
22650         * doc/posix-functions/readdir.texi (readdir):
22651         * doc/posix-headers/dirent.texi (dirent.h):
22652         Document more readdir portability issues.
22653         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
22654         (numbered_backup): Don’t treat inode 0 any differently from
22655         other inode values.
22656         * lib/glob.c (struct readdir_result): Remove skip_entry member.
22657         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
22658         All uses removed.
22659         * modules/glob (Depends-on): Remove d-ino.
22661         glob: simplify symlink detection
22662         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
22663         uint8_t, as C99 does not require uint8_t.
22664         (struct readdir_result): Use it.  Do not define skip_entry unless
22665         it is needed; this saves a byte on platforms lacking d_ino.
22666         (readdir_result_type, readdir_result_skip_entry):
22667         New functions, replacing ...
22668         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
22669         ... these functions, which were removed.  This makes the callers
22670         easier to read.  All callers changed.
22671         (D_INO_TO_RESULT): Now empty if there is no d_ino.
22673 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22675         fts-tests: tag as a longrunning-test so not included by default
22676         * modules/fts-tests: This test takes about 20s on current systems,
22677         and uses about 285M of space on ext4.
22679 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22681         renameat2: fix compilation on alpine linux
22682         * m4/renameat.m4: Check for <linux/fs.h> presence.
22683         * lib/renameat2.h: Only include <linux/fs.h> if present.
22684         Reported by Assaf Gordon on Alpine Linux.
22686 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22688         glob: try to port recent changes to MS-Windows
22689         Problem reported by Bruno Haible in:
22690         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
22691         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
22692         * lib/glob.in.h (__glob_pattern_p): ... to here.
22694 2017-08-24  Eric Blake  <eblake@redhat.com>
22696         warnings: fix compilation with old autoconf
22697         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
22698         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
22699         AC_DEFUN.
22700         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
22701         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
22703 2017-08-24  Bruno Haible  <bruno@clisp.org>
22705         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
22706         * modules/glob (Depends-on): Add c99.
22708 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22710         glob: fix typo that broke platforms lacking d_ino
22711         This typo also hurt performance on GNU/Linux and similar hosts.
22712         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
22713         in previous change.
22715 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22717         glob: merge from glibc with Zanella glob changes
22718         Merge glob from glibc, with changes for glob proposed
22719         by Adhemerval Zanella in the thread starting here:
22720         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
22721         plus some fixes for this merge.
22722         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
22723         New files, ported from glibc.
22724         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
22725         with __restrict.
22726         (__size_t): Remove.  All uses replaced by size_t.
22727         (size_t): Define by defining __need_size_t and including <stddef.h>.
22728         This should work even in non-glibc platforms, where any name
22729         pollution is OK.
22730         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
22731         (struct stat64): Don’t worry about __GLOB_GNULIB.
22732         (glob, globfree, glob_pattern_p): Remove macros for
22733         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
22734         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
22735         but set errno.
22736         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
22737         removed since the glibc behavior works on null pointers.
22738         Do not include stdio.h; old SunOS is irrelevant now.
22739         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
22740         Include glob_internal.h.
22741         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
22742         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
22743         worked only coincidentally.
22744         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
22745         Remove macros; now done in glob.in.h.
22746         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
22747         (glob): Properly initialize glob structure with
22748         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
22749         Remove old code using SHELL since Bash no longer
22750         uses this.
22751         (glob, prefix_array): Separate MS code better.
22752         (glob, glob_in_dir): Use C99 decls before statements when glibc
22753         does.
22754         (glob_in_dir): Remove old Amiga and VMS code.
22755         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
22756         separate files.
22757         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
22758         (__glibc_unlikely):
22759         Move here from glob.c.
22760         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
22761         (weak_alias): New macro.
22762         (__size_t): Remove.  All uses replaced by size_t.
22763         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
22764         * modules/glob (Files): Add +lib/glob_internal.h,
22765         lib/glob_pattern_p.c, lib/globfree.c.
22766         (Depends-on): Remove snippet/arg-nonnull.
22768 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
22770         glob: port to clang's Undefined Sanitizer
22771         Problem reported by Tim Rühsen in:
22772         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
22773         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
22774         (glob_in_dir): Do not rely on undefined behavior in accessing
22775         struct members beyond their bounds.  Use a flexible array member
22776         instead.
22778 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
22780         vc-list-files: port to Solaris 10
22781         * build-aux/vc-list-files: Don't assume test -e works.
22783 2017-08-21  Karl Berry  <karl@freefriends.org>
22785         * doc/posix-functions/srandom.texi (srandom): typo }.
22787 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
22789         git-version-gen: port to Solaris 10
22790         Problem reported by Dagobert Michelsen in:
22791         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
22792         * build-aux/git-version-gen (v_from_git):
22793         Use expr instead of shell substitution.
22795 2017-08-19  Bruno Haible  <bruno@clisp.org>
22797         host-cpu-c-abi: Improve detection of MIPS ABI.
22798         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
22799         _MIPS_SIM.
22801 2017-08-17  Bruno Haible  <bruno@clisp.org>
22803         hypot tests: Fix test failure on FreeBSD 11.0/x86.
22804         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
22806 2017-08-17  Bruno Haible  <bruno@clisp.org>
22808         float: Fix LDBL_MIN value on FreeBSD/x86.
22809         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
22811 2017-08-17  Bruno Haible  <bruno@clisp.org>
22813         random: Fix test compilation failure on Cygwin 1.5.25.
22814         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
22815         HAVE_DECL_SETSTATE.
22816         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
22817         declared.
22818         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
22819         HAVE_DECL_SETSTATE.
22820         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
22821         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
22822         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
22823         * doc/posix-functions/random.texi: Likewise.
22824         * doc/posix-functions/setstate.texi: Likewise.
22825         * doc/posix-functions/srandom.texi: Likewise.
22827 2017-08-16  Bruno Haible  <bruno@clisp.org>
22829         stdnoreturn: Fix test compilation failure on Cygwin.
22830         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
22831         <stdnoreturn.h> replacement.
22832         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
22833         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
22835 2017-08-16  Bruno Haible  <bruno@clisp.org>
22837         thread: Fix conflict with pthread_sigmask module.
22838         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
22839         it's defined as a macro.
22840         * modules/thread (Depends-on): Add pthread_sigmask.
22842 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
22844         rename: port better to NetBSD
22845         * doc/posix-functions/rename.texi (rename): NetBSD 7
22846         does not have the link-count bug.
22847         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
22848         broken merely because rename ("a", "b") removes "a" when the two
22849         names are hard links to the same file.
22851 2017-08-16  Bruno Haible  <bruno@clisp.org>
22853         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
22854         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
22855         the target file names with '$(srcdir)/'.
22856         * modules/unicase/locale-language (Makefile.am): Likewise.
22857         * modules/unicase/special-casing (Makefile.am): Likewise.
22858         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
22859         * modules/unictype/category-byname (Makefile.am): Likewise.
22860         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
22861         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
22862         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
22863         * modules/unictype/property-byname (Makefile.am): Likewise.
22864         * modules/unictype/scripts (Makefile.am): Likewise.
22865         * modules/uninorm/composition (Makefile.am): Likewise.
22867 2017-08-16  Bruno Haible  <bruno@clisp.org>
22869         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
22870         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
22871         value for OpenBSD.
22873 2017-08-16  Bruno Haible  <bruno@clisp.org>
22875         rename, renameat: Update doc regarding NetBSD.
22876         * doc/posix-functions/rename.texi: Clarify that when using
22877         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
22878         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
22879         version.
22881 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
22883         renameat2: port better to macOS
22884         * lib/renameat2.c (renameat2): Use renameatx_np if available.
22886         futimens: don’t assume struct timespec layout
22887         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
22888         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
22889         * tests/test-fdutimensat.c (main):
22890         * tests/test-futimens.h (test_futimens):
22891         * tests/test-lutimens.h (test_lutimens):
22892         * tests/test-utimens.h (test_utimens):
22893         * tests/test-utimensat.c (main):
22894         Don’t assume that struct timespec is a two-member structure in
22895         tv_sec, tv_nsec order.  Although this is true on all platforms we
22896         know about, POSIX does not guarantee it.
22898         rename: document+test NetBSD rename
22899         Test failure reported by Bruno Haible in:
22900         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
22901         This is an area where NetBSD is better-behaved than POSIX,
22902         so allow the NetBSD behavior in tests.
22903         * doc/posix-functions/rename.texi:
22904         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
22905         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
22907 2017-08-15  Bruno Haible  <bruno@clisp.org>
22909         renameat: Ensure declaration in <stdio.h> on NetBSD.
22910         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
22911         * doc/posix-functions/renameat.texi: Mention this problem.
22913 2017-08-15  Bruno Haible  <bruno@clisp.org>
22915         duplocale: Work around NetBSD 7.0 bug.
22916         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
22917         * lib/duplocale.c: Add comment about NetBSD problem.
22918         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
22920 2017-08-15  Bruno Haible  <bruno@clisp.org>
22922         duplocale tests: Verify use with *_l functions.
22923         * modules/duplocale-tests (configure.ac): Test for uselocale and
22924         some *_l functions.
22925         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
22926         from main.
22927         (get_locale_dependent_values_from, test_with_locale_parameter): New
22928         functions.
22929         (main): Test both test_with_uselocale and test_with_locale_parameter.
22931 2017-08-15  Bruno Haible  <bruno@clisp.org>
22933         extensions: Enable NetBSD specific extensions.
22934         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
22936 2017-08-14  Bruno Haible  <bruno@clisp.org>
22938         open, openat: Update doc about O_CLOEXEC.
22939         * doc/posix-functions/open.texi: More concrete list of platforms.
22940         * doc/posix-functions/openat.texi: Likewise.
22942 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
22944         open: support O_CLOEXEC
22945         * NEWS, doc/posix-functions/open.texi:
22946         * doc/posix-functions/openat.texi: Document this.
22947         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
22948         (GNULIB_defined_O_CLOEXEC): New symbol.
22949         * lib/open.c: Include cloexec.h.
22950         (open): Support O_CLOEXEC.
22951         * lib/openat.c: Include cloexec.h.
22952         (rpl_openat): Support O_CLOEXEC.
22953         * lib/popen-safer.c: Do not include cloexec.h.
22954         (open_noinherit): Remove.
22955         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
22956         * lib/save-cwd.c: Do not include cloexec.h.
22957         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
22958         * m4/open-cloexec.m4: New file.
22959         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
22960         Replace 'open' if O_CLOEXEC is not present.
22961         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
22962         Replace 'openat' if O_CLOEXEC is not present.
22963         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
22964         * modules/open (Files): Add m4/open-cloexec.m4.
22965         (Depends-on): Depend on cloexec if replacing 'open'.
22966         * modules/openat (Files): Add m4/open-cloexec.m4.
22967         (Depends-on): Depend on cloexec if replacing openat.
22968         * modules/popen-safer (Depends-on): Remove cloexec.
22969         * modules/save-cwd (Depends-on): Remove cloexec, and add
22970         fd-safer-flag and 'open'.
22972 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
22974         reallocarray: minor fixes
22975         * doc/glibc-functions/reallocarray.texi: Update version numbers.
22976         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
22977         * modules/reallocarray (License): Change from GPL to LGPL.
22978         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
22979         Indent properly and don't use tabs.
22981 2017-08-13  Darshit Shah  <darnir@gnu.org>
22983         reallocarray: New module
22984         reallocarray is a new function in glibc 2.26 to safely allocate an array
22985         of memory locations with integer overflow protection.
22986         * MODULES.html.sh: Add reallocarray.
22987         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
22988         * lib/reallocarray.c: New file to implement module reallocarray.
22989         * lib/stdlib.in.h: Add function declarations for reallocarray.
22990         * m4/reallocarray.m4: New file.
22991         * m4/stdlib_h.m4: Declare reallocarray.
22992         * modules/reallocarray: New file.
22993         * modules/reallocarray-test: New file.
22994         * modules/stdlib: Coerce stdlib.h to export reallocarray.
22995         * tests/test-reallocarray.c: New test.
22997 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22999         dirent-safer: fix cloexec race
23000         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
23001         (opendir_safer): Use F_DUPFD_CLOEXEC.
23002         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
23003         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
23004         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
23005         instead of dup_safer.
23007         fts: fix cloexec races
23008         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
23009         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
23010         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
23011         (fd_ring_check): Set cloexec flag on new file descriptors.
23012         (fts_build, fd_ring_check): While we’re at it, make sure the
23013         resulting file descriptor is not 0, 1, or 2, since that is easy.
23015 2017-08-11  Bruno Haible  <bruno@clisp.org>
23017         fts tests: Fix link error.
23018         Reported by Tom G. Christensen in
23019         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
23020         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
23022 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23024         fts: port recent changes to CentOS 6
23025         Problem reported by Tom G. Christensen in:
23026         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
23027         * lib/fts.c (fsword): New type.
23028         (struct dev_type, filesystem_type): Use it.
23029         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
23030         Also, check for f_type only if fstatfs and sys/vfs.h work.
23032 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
23034         tempname: do not depend on secure_getenv
23035         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
23036         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
23037         * modules/tempname (Depends-on): Remove secure_getenv.
23039 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
23041         extensions: add _OPENBSD_SOURCE
23042         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
23044 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
23045             Bruno Haible  <bruno@clisp.org>
23047         manywarnings: Add support for C++.
23048         * build-aux/g++-warning.spec: New file.
23049         * m4/manywarnings-c++.m4: New file.
23050         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
23051         redirects to manywarnings-c++.m4.
23052         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
23054 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
23056         git-version-gen: another fix for tags with "-"
23057         * build-aux/git-version-gen: Improve fix for tags containing "-".
23058         Suggested by Markus Armbruster in:
23059         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
23061 2017-08-06  Bruno Haible  <bruno@clisp.org>
23063         warnings, manywarnings: Add support for multiple languages, not just C.
23064         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
23065         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
23066         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
23067         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
23068         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
23069         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
23070         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
23071         of the current language. If C++ is the current language, modify
23072         WARN_CXXFLAGS instead of WARN_CFLAGS.
23073         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
23074         gl_MANYWARN_ALL_GCC.
23075         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
23077 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
23079         git-version-gen: Fix for tags containing '-'
23081         Really old versions of git-describe (before v1.5.0, Feb 2007)
23082         don't have the number of commits in their long format output,
23083         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
23084         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
23085         recognizes both patterns, and normalizes the old format to the new one.
23087         Unfortunately, this normalization code gets confused when the tag
23088         contains '-'.  Reproducer:
23090             $ git-tag -m test v0.2-rc1
23091             $ build-aux/git-version-gen .tarball-version; echo
23092             build-aux/git-version-gen: WARNING: git rev-list failed
23093             UNKNOWN
23095         We take exact tag "v0.2-rc1" for the old format, extract the presumed
23096         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
23097         commits since tha tag.  Fails, because tag "v0.2" does not exist.
23099         * git-version-gen: We could perhaps drop support for versions from
23100         more than a decade ago.  But tightening the pattern match is easy
23101         enough, so do that.  Still breaks when you use version tags ending in
23102         something matching -g????, but you arguably get what you deserve then.
23104 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
23106         valgrind-tests: use ls, and cache
23107         * m4/valgrind-tests.m4: Test ls, not bash.
23108         Problem reported by Reuben Thomas.
23109         Also, cache the result so that it can be overridden.
23111 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
23113         manywarnings: port to 64-bit GCC builds of Emacs
23114         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
23115         object size rather than hardwiring 2147483647.  This is needed to
23116         build GNU Emacs, which has one conditional (and used
23117         only-in-theory) call to malloc with a literal greater than
23118         2147483647.
23120 2017-08-04  Bruno Haible  <bruno@clisp.org>
23122         Relax the license of some modules with no runtime code.
23123         * modules/std-gnu11 (License): Set to 'unlimited'.
23124         * modules/c99 (License): Likewise.
23125         Reported by Reuben Thomas <rrt@sc3d.org>.
23126         * modules/d-ino (License): Set to 'LGPL'.
23127         * modules/host-os (License): Likewise.
23128         * modules/longlong (License): Likewise.
23130 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
23132         renameat2: port to RHEL 7 + NFS
23133         * lib/renameat2.c (renameat2) [SYS_renameat2]:
23134         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
23135         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
23137 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
23139         renameat2: port to non-renameat platforms
23140         Problem reported for MSVC-2015 by Gisle Vanem in:
23141         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
23142         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
23143         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
23145 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
23147         manywarnings: port to 32-bit GCC bug
23148         Problem reported by Pino Toscano in:
23149         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
23150         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
23151         not 2**63 - 1, to work around the following GCC bug:
23152         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
23154 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
23156         backupfile: new function to validate backup suffix
23157         * lib/backupfile.c (set_simple_backup_suffix): New function.
23158         (backupfile_internal): Use it.
23160         canonicalize: fix EOVERFLOW commentary
23161         Problem reported by Bruno Haible in:
23162         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
23163         * lib/canonicalize.c (canonicalize_filename_mode):
23164         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
23166         Don't interpret EOVERFLOW to mean nonexistence
23167         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
23168         may be EOVERFLOW; this is likely more useful than reporting the
23169         stat errno.
23170         * lib/glob.c (link_stat): Rename from link_exists2_p and
23171         return -1/0 instead of 0/1.  Caller changed.
23172         * lib/glob.c (link_exists_p):
23173         * lib/renameat2.c (rename_noreplace, renameat2):
23174         * lib/tempname.c (try_nocreate):
23175         If errno == EOVERFLOW then the directory entry exists, so do not
23176         act as if it does not exist.
23178         backup-rename: new module
23179         It is like backupfile, except it avoids some race conditions,
23180         and it does not output to stderr or exit.
23181         * MODULES.html.sh: Add backup-rename.
23182         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
23183         * modules/backup-rename: New files.
23184         * lib/backupfile.c: Turn this into an internals file, which
23185         contains code common to backupfile and backup_rename.  Include
23186         backupfile-internal.h instead of backupfile.h.  Do not include
23187         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
23188         renameat2.h and fcntl.h.
23189         (BACKUP_NOMEM): New constant.
23190         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
23191         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
23192         (backupfile_internal): Rename from find_backup_file_name.
23193         Support new arg RENAME.
23194         (backup_args, backup_types, get_version, xget_version):
23195         Move to lib/backup-find.c.
23196         * lib/backupfile.h (backup_file_rename): New decl.
23197         * modules/backupfile (Files): Add lib/backup-internal.h,
23198         lib/backup-find.c.
23199         (Depends-on): Add dirfd, fcntl, renameat2.
23200         (lib_SOURCES): Add backup-find.c.
23202         renameat2: port better to older Solaris
23203         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
23204         Add goto to use a label, to silence picky compilers.
23206         fts-tests: port to gcc -Wwrite-strings
23207         * tests/test-fts.c (base, base_d): New static vars.
23208         (argv, remove_tree, main): Use them.
23210 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
23212         relocatable-lib{,-lgpl}: improve documentation
23213         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
23214         Various other updates.
23216 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
23217             Bruno Haible  <bruno@clisp.org>
23219         relocatable-lib{,-lgpl}: add Valgrind suppressions
23220         * lib/relocatable.valgrind: New file.
23221         * modules/relocatable-lib (Files): Add relocatable.valgrind.
23222         * modules/relocatable-lib-lgpl: Likewise.
23224 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
23226         relocatable: Make the license on the sources the GPL.
23227         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
23228         LGPL, which was a special case so that the relocatable source files
23229         could be used without gnulib-tool, to GPL. They can still be used under
23230         the LGPL, using the --lgpl option to gnulib-tool.
23232 2017-07-30  Bruno Haible  <bruno@clisp.org>
23234         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
23235         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
23236         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
23237         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
23238         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
23240 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
23242         faccessat: document AT_SYMLINK_NOFOLLOW issue
23243         * doc/posix-functions/faccessat.texi: Modernize platform list.
23244         Document AT_SYMLINK_NOFOLLOW limitation.
23246         renameat2: port to Solaris 10
23247         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
23248         with AT_SYMLINK_NOFOLLOW (which is not portable).
23249         (renameat): Undef before using, to avoid endless recursion when
23250         the replacement renameat calls renameat2 which calls the
23251         replacement renameat.
23252         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
23253         * modules/renameat2 (Depends-on): Remove faccessat.
23254         * modules/renameat-tests (test_renameat_LDADD):
23255         * modules/renameat2-tests (test_renameat2_LDADD):
23256         Remove $(LIB_EACCESS).
23258         renameat2: new module
23259         Although the Linux syscall renameat2 is not in glibc (yet?), it is
23260         useful to have access to its RENAME_NOREPLACE flag.
23261         * MODULES.html.sh (func_all_modules): Add renameat2.
23262         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
23263         * modules/renameat2-tests, tests/test-renameat2.c: New files.
23264         * lib/renameat.c (renameat): Move most of the implementation
23265         to renameat2, and just call renameat2.
23266         * modules/renameat (Files): Remove lib/at-func2.c.
23267         (Depends-on): Depend only on renameat2.
23268         (Include): Remove <fcntl.h>.
23269         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
23270         since renameat (via renameat2) might use faccessat.
23272 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
23274         vc-list-files: Adjust the script to support git worktrees
23275         * build-aux/vc-list-files: Require existence, not directory.
23277 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23279         doc: bring MODULES.html.sh up to date
23280         Somehow a few months ago we stopped updating MODULES.html.sh.
23281         I don’t recall explicitly deciding this, so I updated it now.
23282         Alternatively I suppose we could remove it.
23283         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
23284         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
23285         truncate, utime, utime-h, windows-stat-inodes,
23286         windows-stat-override, windows-stat-timespec, year2038.  Sort.
23288 2017-07-26  Jim Meyering  <meyering@fb.com>
23290         fprintftime: fix build-break caused by recent renaming
23291         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
23292         "strftime.c".
23293         * modules/fprintftime: Depend directly on nstrftime.
23295 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23297         regex: work with GCC7's -Werror=implicit-fallthrough=
23298         * lib/regex_internal.h (FALLTHROUGH): New macro.
23299         * lib/regcomp.c (peek_token_bracket, parse_expression):
23300         * lib/regexec.c (check_node_accept): Use it.
23302 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
23304         fts: simplify fts_build
23305         * lib/fts.c (fts_build): Simplify, and be lazier about
23306         calling leaf_optimization.
23308         fts: three levels of leaf optimization
23309         * lib/fts.c (enum leaf_optimization): New type with three values.
23310         (S_MAGIC_AFS): New macro.  Sort them.
23311         (leaf_optimization): Rename from leaf_optimization_applies, and
23312         return enum leaf_optimization instead of bool.  All uses changed.
23313         Add cases for unknown type and for AFS.
23314         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
23316         fts: cache dirent_inode_sort_may_be_useful too
23317         * lib/fts.c (struct dev_type): New struct.
23318         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
23319         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
23320         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
23321         Now takes FTSENT const *, not int.  All uses changed.  Use
23322         filesystem_type to cache.
23323         (link_count_optimize_ok): Remove.  Caller changed to use
23324         leaf_optimization_applies, which now uses shared cache.
23326         fts: introduce MIN_DIR_NLINK
23327         * lib/fts.c (MIN_DIR_NLINK): New constant.
23328         Use it instead of 2, whenever we are talking about link counts.
23330         fts: nlink_t signedness fixups
23331         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
23332         so that root need not be a special case later.
23333         (fts_read): Remove now-redundant test for fts_level.
23334         Do not assume that nlink_t is signed.
23335         (fts_build): Remove useless decrement of nlinks.
23336         (fts_stat): Avoid unlikely signed integer overflow later, if
23337         nlink_t is signed.
23339         fts-tests: new module
23340         * modules/fts-tests, tests/test-fts.c: New files.
23342 2017-07-23  Bruno Haible  <bruno@clisp.org>
23344         Rename module 'strftime' to 'nstrftime'.
23345         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
23346         * lib/nstrftime.c: Renamed from lib/strftime.c.
23347         * modules/nstrftime: Renamed from modules/strftime.
23348         (Files, Makefile.am): Update.
23349         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
23350         Fix comment.
23351         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
23352         (Files, Makefile.am): Update.
23353         * modules/strftime: New file, an obsolete indirection.
23354         * doc/posix-functions/strftime.texi: Update reference.
23355         * config/srclist.txt: Update info.
23356         * NEWS: Mention the change.
23358 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
23360         malloca: Silence a warning from clang's memory sanitizer.
23361         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
23362         (freea): Use it.
23364 2017-07-18  Bruno Haible  <bruno@clisp.org>
23366         host-cpu-c-abi: Fix detection of MIPS ABI.
23367         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
23368         ABI, not the CPU instruction set.
23370 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
23372         explicit_bzero: new module
23373         The explicit_bzero function has been added to glibc.
23374         This module is intended to supports its use in GNU programs.
23375         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
23376         * m4/explicit_bzero.m4, modules/explicit_bzero:
23377         New files.
23378         * doc/gnulib.texi (Glibc string.h): Link to new doc.
23379         * lib/string.in.h (explicit_bzero): Declare.
23380         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
23381         * modules/string (string.h): Substitute its vars.
23383 2017-07-16  Bruno Haible  <bruno@clisp.org>
23385         threadlib: Support static linking.
23386         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
23387         set gl_cv_have_weak to 'no'.
23389 2017-07-16  Bruno Haible  <bruno@clisp.org>
23391         unicase/locale-language: Fix link dependencies.
23392         * modules/unicase/locale-language (Link): New section.
23393         * modules/unicase/locale-language-tests (Makefile.am): Link
23394         test-locale-language program with $(LIBTHREAD).
23396 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23398         sys_socket: Add support for OpenVMS.
23399         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
23400         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
23402 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23404         sys_resource: Add support for OpenVMS.
23405         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
23406         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
23408 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23409             Bruno Haible  <bruno@clisp.org>
23411         math: Add support for OpenVMS.
23412         * lib/math.in.h [__VMS]: Include <fp.h>.
23413         * doc/posix-headers/math.texi: Mention OpenVMS issues.
23415 2017-07-15  Bruno Haible  <bruno@clisp.org>
23417         getdtablesize: Add minimal support for OpenVMS.
23418         Reported by John E. Malmberg <wb8tyw@qsl.net>.
23419         * modules/getdtablesize (Description): Fix.
23420         * lib/getdtablesize.c: Fix comment.
23421         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
23422         getdtablesize() function, even though the test fails.
23423         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
23424         limitation on OpenVMS.
23426 2017-07-13  Bruno Haible  <bruno@clisp.org>
23428         Revisit cross-compilation guesses.
23429         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
23431 2017-07-13  Bruno Haible  <bruno@clisp.org>
23433         Improve cross-compilation guesses for native Windows.
23434         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
23435         Windows.
23436         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
23437         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
23438         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23439         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
23440         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
23441         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
23442         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
23443         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
23444         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23445         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23446         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23447         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
23448         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
23449         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
23450         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
23451         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23452         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
23453         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
23454         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23455         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
23456         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
23457         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
23458         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
23459         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
23460         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
23461         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
23462         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
23463         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
23464         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23465         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
23466         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23467         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
23468         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
23469         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
23470         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
23471         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
23472         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
23473         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23474         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
23475         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23476         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23477         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23478         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
23479         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
23480         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
23481         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
23482         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
23483         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
23484         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
23485         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
23486         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
23487         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
23488         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
23489         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
23490         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
23491         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
23492         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
23493         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23494         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
23495         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
23496         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23497         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
23498         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
23499         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
23500         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
23501         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23502         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
23503         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23504         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
23505         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
23506         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
23507         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
23508         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23509         * m4/regex.m4 (gl_REGEX): Likewise.
23510         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
23511         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
23512         gl_FUNC_REMAINDERF_WORKS): Likewise.
23513         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
23514         gl_FUNC_REMAINDERL_WORKS): Likewise.
23515         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23516         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23517         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23518         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23519         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23520         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
23521         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23522         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23523         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
23524         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23525         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
23526         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
23527         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23528         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23529         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
23530         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23531         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23532         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23533         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23534         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23535         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23536         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23537         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23538         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23539         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23540         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23541         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23542         Likewise.
23543         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23544         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
23545         Windows. Enable also on Autoconf 2.70.
23546         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23547         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23548         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23549         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
23550         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23551         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
23552         for native Windows.
23553         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23554         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
23556 2017-07-13  Bruno Haible  <bruno@clisp.org>
23558         Improve cross-compilation guesses for native Windows.
23559         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
23560         Windows.
23561         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
23562         memchr.m4.
23563         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23565 2017-07-13  Bruno Haible  <bruno@clisp.org>
23567         Improve cross-compilation guesses for native Windows.
23568         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
23569         native Windows.
23570         (gl_FUNC_FFLUSH): Update accordingly.
23571         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
23572         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23574 2017-07-11  Bruno Haible  <bruno@clisp.org>
23576         More systematic m4 quoting and indentation.
23577         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
23578         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23579         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
23580         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23581         * m4/host-os.m4 (gl_HOST_OS): Likewise.
23582         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
23583         gl_WINSIZE_IN_PTEM): Likewise.
23584         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
23585         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23586         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23587         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
23588         Correct indentation.
23589         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
23590         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23591         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
23592         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23593         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23594         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23596 2017-07-10  Bruno Haible  <bruno@clisp.org>
23598         round, roundf: Avoid compiler warning in configure test.
23599         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
23600         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23602 2017-07-10  Bruno Haible  <bruno@clisp.org>
23604         getlogin tests: Avoid #ifdefs when sharing code between modules.
23605         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
23606         * modules/getlogin-tests (Files): Likewise. Remove
23607         tests/test-getlogin_r.c.
23608         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
23609         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
23610         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
23611         getlogin().
23613 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
23615         getlogin: don’t assume one name per uid
23616         Problem reported by Wolfgang F. Muthmann (Bug#27640).
23617         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
23618         (ttyname): Remove test.
23619         * modules/getlogin_r-tests (ttyname): Remove test.
23620         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
23621         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
23622         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
23623         getlogin rather than getlogin_r.  This avoids code duplication.
23624         (main): Use isatty and fstat rather than ttyname and stat.
23625         Use getpwnam instead of getpwuid, to be portable to test platforms
23626         that have multiple login names for the same uid.
23628 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
23629             Bruno Haible  <bruno@clisp.org>
23631         glob: Fix more memory leaks.
23632         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
23633         returning.
23634         Reported by Tim Rühsen.
23636 2017-07-10  Bruno Haible  <bruno@clisp.org>
23638         Make sure $host and $host_os are defined when used.
23639         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
23640         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
23641         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
23642         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23643         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23644         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23645         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23646         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
23647         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23648         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23649         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
23650         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
23651         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23652         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
23653         m4_ifdef block.
23655 2017-07-09  Bruno Haible  <bruno@clisp.org>
23657         *printf: Fix cross-compilation guess for Solaris.
23658         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
23659         2010-12-21.
23661 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23662             Bruno Haible  <bruno@clisp.org>
23664         vasnprintf: port to macOS 10.13
23665         Problem reported by comex in:
23666         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
23667         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
23669 2017-07-06  Bruno Haible  <bruno@clisp.org>
23671         imaxdiv tests: Fix logic.
23672         * tests/test-imaxdiv.c (main): Use == instead of =.
23673         Reported by Coverity.
23675 2017-07-06  Bruno Haible  <bruno@clisp.org>
23677         uninorm/filter: Fix use-after-free bug.
23678         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
23679         sortbuf == filter->sortbuf invariant.
23680         Reported by Coverity.
23682 2017-07-06  Bruno Haible  <bruno@clisp.org>
23684         glob: Fix more memory leaks.
23685         * lib/glob.c (glob): Free dirname before returning.
23686         Reported by Coverity and Tim Rühsen.
23688 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23690         parse-datetime: fix uninit var bug
23691         Reported by Bruno Haible in:
23692         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
23693         * lib/parse-datetime.y (parse_datetime2): Do not use
23694         uninitialized.
23696 2017-07-05  Bruno Haible  <bruno@clisp.org>
23698         doc: Update for MSVC 14.
23699         * doc/posix-headers/*.texi: Add info about MSVC 14.
23700         * doc/posix-functions/*.texi: Likewise.
23701         * doc/pastposix-functions/*.texi: Likewise.
23702         * doc/glibc-headers/*.texi: Likewise.
23703         * doc/glibc-functions/*.texi: Likewise.
23705 2017-07-05  Bruno Haible  <bruno@clisp.org>
23707         sched: Fix build failure on native Windows (regression from 2017-06-19).
23708         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
23710 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
23712         stdioext: Port to OpenVMS.
23713         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
23714         * lib/fpending.c (fpending): Remove non-working VMS specific code.
23715         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
23716         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
23717         * lib/fpurge.c (fpurge): Likewise.
23718         * lib/freadable.c (freadable): Likewise.
23719         * lib/freadahead.c (freadahead): Likewise.
23720         * lib/freading.c (freading): Likewise.
23721         * lib/freadptr.c (freadptr): Likewise.
23722         * lib/freadseek.c (freadseek): Likewise.
23723         * lib/fseeko.c (fseeko): Likewise.
23724         * lib/fseterr.c (fseterr): Likewise.
23725         * lib/fwritable.c (fwriteable): Likewise.
23726         * lib/fwriting.c (fwriting): Likewise.
23728 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
23730         glob: Declare variables at the very start of their scope.
23731         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
23732         its separate scope, so the functions will compile on Haiku.
23734 2017-07-01  Bruno Haible  <bruno@clisp.org>
23736         logbl: Work around a glibc bug on PowerPC64LE.
23737         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
23738         numbers.
23739         * doc/posix-functions/logbl.texi: Update.
23741 2017-06-29  Bruno Haible  <bruno@clisp.org>
23743         stat, fstat: Compile stat-w32.c only on platforms that need it.
23744         Suggested by Paul Eggert.
23745         * modules/stat (configure.ac): Request stat-w32.o only on native
23746         Windows.
23747         * modules/fstat (configure.ac): Likewise.
23749 2017-06-25  Bruno Haible  <bruno@clisp.org>
23751         stat: Improve last change.
23752         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
23754 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23756         stat: port to xlc 12.01
23757         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
23758         12.01 complains "Compilation unit is empty."
23760 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
23762         xalloc-oversized: port to icc
23763         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
23764         __builtin_mul_overflow if ICC is defined, as this results in
23765         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
23766         20170213.
23768 2017-06-19  Bruno Haible  <bruno@clisp.org>
23770         classpath: Avoid including config.h twice, as it produces warnings.
23771         Reported by John E. Malmberg <wb8tyw@gmail.com>.
23772         * lib/classpath.h: Conditionalize the include of config.h.
23774 2017-06-19  Bruno Haible  <bruno@clisp.org>
23775             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
23777         sched: Fix compilation failure on OpenVMS.
23778         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
23779         test whether <pthread.h> exists and defines struct sched_param.
23780         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
23782 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
23784         diffseq: port to GCC 7 with --enable-gcc-warnings
23785         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
23786         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
23787         not complain about big_snake being defined but not used.
23789 2017-06-15  Bruno Haible  <bruno@clisp.org>
23791         gettext-h: Update theoretical condition for use of variable size arrays.
23792         Reported by Paul Eggert.
23793         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
23794         to include the theoretical condition for availability of variable size
23795         arrays, if we could trust the value of __STDC_VERSION__.
23797 2017-06-12  Bruno Haible  <bruno@clisp.org>
23799         Relicense some modules under LGPLv2+.
23800         Daiki Ueno's approval is in
23801         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
23802         * modules/uniwidth/base (License): Change to LGPLv2+.
23803         * modules/uniwidth/width (License): Likewise.
23805 2017-06-11  Bruno Haible  <bruno@clisp.org>
23807         localename: Fix test failure on DragonFly BSD.
23808         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
23809         like FreeBSD.
23811 2017-06-11  Bruno Haible  <bruno@clisp.org>
23813         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
23814         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
23815         * lib/float.in.h: Likewise.
23816         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
23818 2017-06-11  Bruno Haible  <bruno@clisp.org>
23820         gnulib-tool: Clean up after autotools.
23821         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
23822         useless directory left over by the Autotools.
23824 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23826         getopt-posix: port to glibc 2.25.90
23827         Problem reported by Daniel P. Berrange in:
23828         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
23829         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
23830         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
23831         #undef if __GETOPT_PREFIX is defined.
23833 2017-06-11  Bruno Haible  <bruno@clisp.org>
23835         strtod-obsolete: Fix license.
23836         * modules/strtod-obsolete (License): Change to LGPL.
23838 2017-06-10  Jim Meyering  <meyering@fb.com>
23840         maint: update to work with GCC7's -Werror=implicit-fallthrough=
23841         * lib/savewd.c (FALLTHROUGH): Define.
23842         (savewd_save, savewd_restore): Use this, rather than a comment,
23843         whenever one switch case falls through into the next.
23845 2017-06-08  Bruno Haible  <bruno@clisp.org>
23847         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
23848         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
23849         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
23850         case.
23852 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
23854         doc: remove robots, add prereqs
23855         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
23856         builds.  Simon's robot site does not seem to be up, so remove
23857         mentions of it for now.
23859 2017-06-08  Bruno Haible  <bruno@clisp.org>
23861         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
23862         * gnulib-tool (func_symlink_target): New function, extracted from
23863         func_symlink.
23864         (func_symlink, func_symlink_if_changed): Use it.
23866 2017-06-08  Bruno Haible  <bruno@clisp.org>
23868         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
23869         * gnulib-tool (func_ln_s): Determine cp_src correctly.
23871 2017-06-07  Bruno Haible  <bruno@clisp.org>
23873         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
23874         Reported by John E. Malmberg <wb8tyw@gmail.com> in
23875         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
23876         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
23877         override, pass 2 arguments to getcwd, not 3.
23879 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
23881         same-inode: port better to VMS 8.2 and later
23882         Problem reported by John E. Malmberg in:
23883         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
23884         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
23885         Use the usual POSIX definition.
23886         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
23888 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23890         error: fix POSIX violation for va_end
23891         Problem reported by Bruno Haible in:
23892         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
23893         * lib/error.c (error_tail): Do not call va_end here.
23894         (error, error_at_line): Call it here instead.
23896 2017-05-28  Bruno Haible  <bruno@clisp.org>
23898         c-strtod: Make it usable in C++ mode.
23899         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
23901 2017-05-25  Jim Meyering  <meyering@fb.com>
23903         quotearg: fix compilation failure due to FALLTHROUGH misuse
23904         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
23905         macro back to /* fall through */ comment.  The macro can apply only
23906         to a following case statement.  Reported by Assaf Gordon.
23908 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23910         intprops: port to recent icc
23911         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
23912         but does not support __builtin_add_overflow etc.
23913         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
23914         Define to 0.
23916 2017-05-23  Karl Berry  <karl@freefriends.org>
23918         * config/srclist.txt (iconv.m4): sync broken, comment out
23919         until (hopefully) the next gettext release.
23921 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
23923         Remove repeated words in comments.
23925 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
23927         fallthrough: reinstate a FALLTHROUGH instance in quotearg
23928         quotearg.c: Reinstate this instance which is significant
23929         when the if branch is not taken.
23931 2017-05-21  Bruno Haible  <bruno@clisp.org>
23933         gnulib-tool: Add options to create hard links.
23934         * gnulib-tool (func_usage): Document options --hardlink,
23935         --local-hardlink, --more-hardlinks.
23936         (func_symlink): Renamed from func_ln.
23937         (func_symlink_if_changed): Renamed from func_ln_if_changed.
23938         (func_hardlink): New function.
23939         (copymode, lcopymode): New variables.
23940         (symbolic, lsymbolic): Remove variables.
23941         (Options): Implement options --hardlink, --local-hardlink,
23942         --more-hardlinks.
23943         (func_should_link): Renamed from func_should_symlink. Set copyaction.
23944         (func_add_file, func_update_file): Update invocation of
23945         func_should_link. Invoke func_hardlink when appropriate.
23946         (func_import): Update comments.
23947         (func_create_testdir): Update invocation of func_should_link. Invoke
23948         func_hardlink when appropriate.
23949         Finally, invoke 'git update-index --refresh' to mitigate the effects of
23950         the hard links on git.
23952 2017-05-20  Bruno Haible  <bruno@clisp.org>
23954         argp: Simplify bit manipulation.
23955         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
23956         on a signed integer type.
23958 2017-05-20  Bruno Haible  <bruno@clisp.org>
23960         Avoid wrong configure results with gcc -fsanitize=address.
23961         This completes the work done on 2016-02-06 on this topic.
23962         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
23963         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23964         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23965         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23966         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
23967         returning.
23968         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23969         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
23970         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23971         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23972         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23973         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23974         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
23975         free allocated memory before returning.
23976         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23977         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
23978         objects before returning.
23979         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
23980         returning.
23982 2017-05-20  Bruno Haible  <bruno@clisp.org>
23984         gnulib-tool: Don't create hard links between gnulib and its testdirs.
23985         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
23987 2017-05-20  Bruno Haible  <bruno@clisp.org>
23989         argp, tsearch tests: Fix file list.
23990         * modules/argp-tests (Files): Add tests/macros.h.
23991         * modules/tsearch-tests (Files): Likewise.
23993 2017-05-20  Bruno Haible  <bruno@clisp.org>
23995         getopt-posix tests: Remove redundant include.
23996         * tests/test-getopt.h: Don't include "macros.h". It's already included
23997         by tests/test-getopt-main.h.
23999 2017-05-19  Jim Meyering  <meyering@fb.com>
24001         dfa: two small simplifications
24002         * lib/dfa.c (build_state): Avoid repeating longer expressions.
24004 2017-05-18  Jim Meyering  <meyering@fb.com>
24006         fallthrough: update for GCC 7/8
24007         * lib/quotearg.c (FALLTHROUGH): New macro.
24008         Use it whenever one switch case falls through into the next,
24009         replacing "/* Fall through */" comments.  This exposed one
24010         instance of an unwarranted "fall through" comment: unwarranted
24011         because it preceded a "goto" label not a case statement.
24012         * lib/freopen-safer.c (freopen_safer): Likewise.
24013         * lib/fts.c (leaf_optimization_applies): Likewise.
24014         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
24015         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
24016         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
24017         tests/macros.h for the definition.
24018         * tests/test-argp.c (group1_parser): Likewise.
24019         * tests/test-getopt.h (getopt_loop): Likewise.
24021 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24023         argp: fix shift bug
24024         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
24025         behavior on shift overflow, caught by gcc -fsanitize=undefined.
24027         argp: fix pointer-subtraction bug
24028         * lib/argp-help.c (hol_append): Don’t subtract pointers to
24029         different arrays, as this can run afoul of -fcheck-pointer-bounds.
24030         See the thread containing Bruno Haible’s report in:
24031         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
24033 2017-05-19  Bruno Haible  <bruno@clisp.org>
24035         printf-posix tests: Avoid test failure with "gcc --coverage".
24036         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
24037         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
24038         than 5000000.
24039         * tests/test-fprintf-posix2.c (main): Likewise.
24041 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24043         closeout: don’t close stderr when sanitizing
24044         * NEWS: Document this.
24045         * lib/closeout.c (__has_feature): New macro, if not already defined.
24046         (SANITIZE_ADDRESS): New constant.
24047         (close_stdout): Don’t close stderr if sanitizing addresses.
24049 2017-05-19  Bruno Haible  <bruno@clisp.org>
24051         get-rusage-data tests: Avoid failure on Linux/glibc.
24052         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
24053         on glibc systems.
24055 2017-05-18  Bruno Haible  <bruno@clisp.org>
24057         localename: Include necessary header files on Cygwin.
24058         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
24059         where NL_LOCALE_NAME is defined.
24061 2017-05-18  Bruno Haible  <bruno@clisp.org>
24063         gettext: Update macros from gettext git.
24064         * m4/intldir.m4: Require Autoconf >= 2.60.
24065         * m4/progtest.m4: Fix typos in copyright notice.
24067 2017-05-18  Bruno Haible  <bruno@clisp.org>
24069         copy-file tests: Fix link error (regression from 2017-05-01).
24070         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24071         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
24072         $(LIB_CLOCK_GETTIME).
24074 2017-05-18  Bruno Haible  <bruno@clisp.org>
24076         unicase/special-casing: Fix incompatibility with gperf-3.0.4
24077         (regression from 2017-02-13).
24078         * lib/unicase/special-casing.in.h: Renamed from
24079         lib/unicase/special-casing.h.
24080         * modules/unicase/special-casing (Files): Add
24081         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
24082         (Makefile.am): Add rule for generating unicase/special-casing.h.
24083         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
24084         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
24085         not "special-casing.h".
24086         * lib/unicase/u*.c: Likewise.
24088 2017-05-17  Bruno Haible  <bruno@clisp.org>
24090         README: Don't ask people to read a TeXinfo file.
24091         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
24092         * README: Tell people how to read the HTML formatted manual.
24094 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
24096         parse-datetime: Fix memleak
24097         * lib/parse-datetime.y (parse_datetime2): Cleanup on
24098         localtime_rz() failure.
24100 2017-05-16  Bruno Haible  <bruno@clisp.org>
24102         javacomp: Fix handle leak.
24103         Found by Coverity.
24104         * lib/javacomp.c (get_classfile_version): Close fd before returning.
24106 2017-05-16  Bruno Haible  <bruno@clisp.org>
24108         relocate: Make it easier to reclaim allocated memory.
24109         * lib/relocatable.h (relocate2): New declaration/macro.
24110         * lib/relocatable.c (relocate2): New function.
24111         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
24112         relocate2 function.
24113         * lib/localcharset.c (relocate2): Define fallback.
24114         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
24115         allocated memory.
24116         * lib/javaversion.c (relocate2): Define fallback.
24117         (javaexec_version): Invoke relocate2 instead of relocate. Free the
24118         allocated memory.
24120 2017-05-16  Bruno Haible  <bruno@clisp.org>
24122         relocate: Simplify EMX specific code.
24123         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
24124         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
24126 2017-05-16  Bruno Haible  <bruno@clisp.org>
24128         sigpipe tests: Fix file list.
24129         * modules/sigpipe-tests (Files): Add tests/macros.h.
24131 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24133         manywarnings: update for GCC 7
24134         * build-aux/gcc-warning.spec:
24135         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
24136         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
24137         requires a non-comment fallthrough attribute.  This is a bit
24138         cleaner than the comment versions.
24139         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
24140         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
24141         Use it whenever one switch case falls through into the next.
24142         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
24143         Use FALLTHROUGH macro.
24145 2017-05-15  Bruno Haible  <bruno@clisp.org>
24147         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
24148         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
24149         @ALLOCA@, not @LTALLOCA@.
24151 2017-05-15  Bruno Haible  <bruno@clisp.org>
24153         sys_select: Avoid "was expanded before it was required" warning.
24154         * modules/sys_select (configure.ac): Require, not invoke,
24155         gl_HEADER_SYS_SELECT.
24157 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24159         gnulib-tool: improve GNU Make debugging
24160         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
24161         Report autoconf diagnostics when it fails, in the output makefile.
24163 2017-05-14  Bruno Haible  <bruno@clisp.org>
24165         stat-time tests: Improve comment.
24166         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
24168 2017-05-14  Bruno Haible  <bruno@clisp.org>
24170         same-inode: Adapt for windows-stat-inodes.
24171         * lib/same-inode.h: Include <sys/types.h>.
24172         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
24173         * modules/same-inode (Depends-on): Add sys_types.
24175 2017-05-14  Bruno Haible  <bruno@clisp.org>
24177         windows-stat-inodes: New module.
24178         * m4/windows-stat-inodes.m4: New file.
24179         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
24180         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
24181         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
24182         (_GL_WINDOWS_STAT_INODES): New macro.
24183         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
24184         (GetFileInformationByHandleExFunc): New variable.
24185         (initialize): Initialize it.
24186         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
24187         st_ino appropriately.
24188         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
24189         a fallback, because it does not provide st_dev and st_ino values.
24190         * modules/fstat (Depends-on): Add 'verify'.
24191         * modules/windows-stat-inodes: New file.
24192         * doc/windows-stat-inodes.texi: New file.
24193         * doc/gnulib.texi: Include it.
24194         * doc/posix-headers/sys_stat.texi: Mention the new module.
24196 2017-05-14  Bruno Haible  <bruno@clisp.org>
24198         stat-time tests: Workaround for native Windows.
24199         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
24200         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
24201         New variables.
24202         (initialize_filenames): New function.
24203         (main): Invoke it.
24204         (cleanup, prepare_test): Update.
24206 2017-05-14  Bruno Haible  <bruno@clisp.org>
24208         stat-time: Adapt for windows-stat-timespec.
24209         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
24210         entire st_ctim field.
24212 2017-05-13  Jim Meyering  <meyering@fb.com>
24214         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
24215         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
24216         file that uses the assume macro, claiming that verify.h is unused.
24218 2017-05-13  Bruno Haible  <bruno@clisp.org>
24220         Use symbolic values for _WIN32_WINNT.
24221         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
24222         * lib/sethostname.c (_WIN32_WINNT): Likewise.
24224 2017-05-13  Bruno Haible  <bruno@clisp.org>
24226         year2038: New module.
24227         * m4/year2038.m4: New file.
24228         * modules/year2038: New file.
24229         * doc/year2038.texi: New file.
24230         * doc/gnulib.texi: Include it.
24232 2017-05-13  Bruno Haible  <bruno@clisp.org>
24234         largefile: Simplify.
24235         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
24236         of _GL_WINDOWS_64_BIT_ST_SIZE.
24238 2017-05-13  Bruno Haible  <bruno@clisp.org>
24240         largefile: Improve and document.
24241         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
24242         the mingw headers already define 'stat' appropriately.
24243         * modules/largefile (Description): Clarify.
24244         * doc/largefile.texi: New file.
24245         * doc/gnulib.texi: Include it.
24246         * doc/posix-headers/sys_types.texi: Update.
24248 2017-05-13  Bruno Haible  <bruno@clisp.org>
24250         truncate: New module.
24251         * lib/unistd.in.h (truncate): New declaration.
24252         * lib/truncate.c: New file.
24253         * m4/truncate.m4: New file.
24254         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
24255         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
24256         REPLACE_TRUNCATE.
24257         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
24258         HAVE_TRUNCATE, REPLACE_TRUNCATE.
24259         * modules/truncate: New file.
24260         * tests/test-unistd-c++.cc (truncate): Test signature.
24261         * doc/posix-functions/truncate.texi: Mention the new module.
24263         * tests/test-truncate.c: New file.
24264         * modules/truncate-tests: New file.
24266 2017-05-13  Bruno Haible  <bruno@clisp.org>
24268         windows-stat-timespec: New module.
24269         * modules/windows-stat-timespec: New file.
24270         * m4/windows-stat-timespec.m4: New file.
24271         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
24272         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
24273         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
24274         fields st_atim, st_mtim, st_ctim.
24275         (st_atime, st_mtime, st_ctime): Define as macros.
24276         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
24277         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
24278         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
24279         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
24280         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
24281         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
24282         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
24283         FILETIME to 'struct timespec', not 'time_t'.
24284         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
24285         FILETIME to 'struct timespec', not 'time_t'.
24286         * lib/stat-time.h (STAT_TIMESPEC): Define also if
24287         _GL_WINDOWS_STAT_TIMESPEC.
24288         * doc/windows-stat-timespec.texi: New file.
24289         * doc/gnulib.texi: Include it.
24291 2017-05-13  Bruno Haible  <bruno@clisp.org>
24293         windows-stat-override: New module.
24294         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
24295         definition. Define GNULIB_defined_struct_stat.
24296         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
24297         link error if this symbol is used and the corresponding module is not
24298         in use.
24299         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
24300         GNULIB_OVERRIDES_STRUCT_STAT.
24301         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24302         GNULIB_OVERRIDES_STRUCT_STAT.
24303         * modules/sys_stat (Makefile.am): Substitute
24304         GNULIB_OVERRIDES_STRUCT_STAT.
24305         * modules/windows-stat-override: New file.
24307 2017-05-13  Bruno Haible  <bruno@clisp.org>
24309         fstat: Fix module dependency conditions.
24310         * modules/fstat (Depends-on): Fix typo.
24312 2017-05-13  Bruno Haible  <bruno@clisp.org>
24314         stat, fstat: Complete removal of old native Windows code.
24315         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
24316         * lib/fstat.c: Likewise.
24317         * lib/stat-w32.c: Likewise.
24319 2017-05-13  Bruno Haible  <bruno@clisp.org>
24321         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
24322         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
24324 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
24326         getopt-posix: port to mingw
24327         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
24328         Problem reported by Daniel P. Berrage in:
24329         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
24331 2017-05-11  Bruno Haible  <bruno@clisp.org>
24333         gettimeofday: Increase precision on mingw.
24334         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
24335         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
24336         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
24337         GetSystemTimePreciseAsFileTime based implementation always.
24338         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
24339         mingw.
24341 2017-05-11  Bruno Haible  <bruno@clisp.org>
24343         poll: Fix confusion between SOCKETs and FDs on native Windows.
24344         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
24345         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
24347 2017-05-11  Bruno Haible  <bruno@clisp.org>
24349         doc: Clarify doc about socket functions on native Windows.
24350         This reworks doc that was added on 2008-09-29.
24351         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
24352         clearer wording.
24353         * doc/posix-functions/accept.texi: Use clearer wording.
24354         * doc/posix-functions/bind.texi: Likewise.
24355         * doc/posix-functions/connect.texi: Likewise.
24356         * doc/posix-functions/getpeername.texi: Likewise.
24357         * doc/posix-functions/getsockname.texi: Likewise.
24358         * doc/posix-functions/getsockopt.texi: Likewise.
24359         * doc/posix-functions/ioctl.texi: Likewise.
24360         * doc/posix-functions/listen.texi: Likewise.
24361         * doc/posix-functions/recv.texi: Likewise.
24362         * doc/posix-functions/recvfrom.texi: Likewise.
24363         * doc/posix-functions/send.texi: Likewise.
24364         * doc/posix-functions/sendto.texi: Likewise.
24365         * doc/posix-functions/setsockopt.texi: Likewise.
24366         * doc/posix-functions/shutdown.texi: Likewise.
24367         * doc/posix-functions/socket.texi: Likewise.
24369 2017-05-10  Bruno Haible  <bruno@clisp.org>
24371         poll: Fix link error on native Windows.
24372         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
24374 2017-05-10  Bruno Haible  <bruno@clisp.org>
24376         time: Fix missing initialization of HAVE_TIMEZONE_T.
24377         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
24378         here...
24379         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
24380         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
24381         gl_HEADER_SYS_TIME_H_DEFAULTS.
24382         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
24383         (configure.ac): Remove useless quoting.
24385 2017-05-10  Bruno Haible  <bruno@clisp.org>
24387         Implement a way to opt out from MSVC support, part 2.
24388         * modules/msvc-inval (Include): Document recommended idiom.
24389         * modules/msvc-nothrow (Include): Likewise.
24391         Implement a way to opt out from MSVC support.
24392         This is useful for Emacs.
24393         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
24394         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
24395         * lib/error.c: Likewise.
24396         * lib/fcntl.c: Likewise.
24397         * lib/flock.c: Likewise.
24398         * lib/fstat.c: Likewise.
24399         * lib/fsync.c: Likewise.
24400         * lib/ioctl.c: Likewise.
24401         * lib/isapipe.c: Likewise.
24402         * lib/lseek.c: Likewise.
24403         * lib/nonblocking.c: Likewise.
24404         * lib/poll.c: Likewise.
24405         * lib/select.c: Likewise.
24406         * lib/sockets.h: Likewise.
24407         * lib/sockets.c: Likewise.
24408         * lib/stdio-read.c: Likewise.
24409         * lib/stdio-write.c: Likewise.
24410         * lib/utimens.c: Likewise.
24411         * lib/w32sock.h: Likewise.
24412         * lib/w32spawn.h: Likewise.
24413         * tests/test-cloexec.c: Likewise.
24414         * tests/test-dup-safer.c: Likewise.
24415         * tests/test-dup2.c: Likewise.
24416         * tests/test-dup3.c: Likewise.
24417         * tests/test-fcntl.c: Likewise.
24418         * tests/test-pipe.c: Likewise.
24419         * tests/test-pipe2.c: Likewise.
24420         * lib/ftruncate.c: Likewise.
24421         (chsize_nothrow): Renamed from chsize.
24422         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
24423         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24424         * lib/close.c: Likewise.
24425         * lib/dup.c: Likewise.
24426         * lib/fclose.c: Likewise.
24427         * lib/raise.c: Likewise.
24428         * tests/test-fgetc.c: Likewise.
24429         * tests/test-fputc.c: Likewise.
24430         * tests/test-fread.c: Likewise.
24431         * tests/test-fwrite.c: Likewise.
24432         * lib/getdtablesize.c: Likewise.
24433         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
24434         * lib/isatty.c: Don't include msvc-inval.h if
24435         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24436         Include <io.h> as an alternative to msvc-nothrow.h.
24437         * lib/read.c: Likewise.
24438         * lib/write.c: Likewise.
24439         * lib/dup2.c: Likewise.
24440         (dup2_nothrow): New function.
24441         (ms_windows_dup2): Use it.
24442         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
24443         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
24444         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
24445         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
24446         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
24447         * m4/read.m4 (gl_FUNC_READ): Likewise.
24448         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
24449         * doc/windows-without-msvc.texi: New file.
24450         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
24451         section.
24453 2017-05-10  Bruno Haible  <bruno@clisp.org>
24455         wait-process: Adjust native Windows support.
24456         * lib/wait-process.c: Use the usual condition for recognizing a native
24457         Windows platform.
24459 2017-05-10  Bruno Haible  <bruno@clisp.org>
24461         doc: New chapter "Native Windows Support".
24462         * doc/gnulib.texi (Native Windows Support): New chapter.
24463         * doc/windows-libtool.texi: Small wording changes.
24464         * doc/windows-sockets.texi: Small wording and formatting changes.
24466 2017-05-10  Bruno Haible  <bruno@clisp.org>
24468         doc: Move section "Library version handling".
24469         * doc/gnulib.texi: Move section "Library version handling"
24470         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
24472 2017-05-10  Bruno Haible  <bruno@clisp.org>
24474         doc: Move section "Running self-tests under valgrind".
24475         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
24476         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
24478 2017-05-10  Bruno Haible  <bruno@clisp.org>
24480         doc: New chapter "Build Infrastructure Modules".
24481         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
24483 2017-05-10  Bruno Haible  <bruno@clisp.org>
24485         Prepare for reordering sections in the manual.
24486         * doc/gnulib.texi: Move several sections to separate files. Include
24487         these files.
24488         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
24489         * doc/obsolete.texi: Likewise.
24490         * doc/extra-tests.texi: Likewise.
24491         * doc/transversal.texi: Likewise.
24492         * doc/namespace.texi: Likewise.
24493         * doc/check-version.texi: Likewise.
24494         * doc/windows-sockets.texi: Likewise.
24495         * doc/windows-libtool.texi: Likewise.
24496         * doc/licenses-texi.texi: Likewise.
24497         * doc/build-automation.texi: Likewise.
24498         * doc/c-locale.texi: Likewise.
24500 2017-05-10  Bruno Haible  <bruno@clisp.org>
24502         Fix instructions how to update manual on www.gnu.org.
24503         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
24505 2017-05-09  Bruno Haible  <bruno@clisp.org>
24507         tzset: Expand comment about TZ problem on native Windows.
24508         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
24509         Paul Eggert.
24510         * lib/ctime.c (rpl_ctime): Likewise.
24511         * lib/localtime.c (rpl_localtime): Likewise.
24512         * lib/mktime.c (mktime): Likewise.
24513         * lib/strftime-fixes.c (rpl_strftime): Likewise.
24514         * lib/wcsftime.c (rpl_wcsftime): Likewise.
24516 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
24518         intprops: don’t depend on ‘verify’
24519         Problem reported by Ævar Arnfjörð Bjarmason in:
24520         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
24521         * lib/intprops.h: Do not include verify.h, and move compile-time
24522         checks from here ...
24523         * tests/test-intprops.c (main): ... to here, if they’re not here
24524         already.  Check widths of other standard integer types.
24525         * modules/intprops (Depends-on): Remove ‘verify’.
24527 2017-05-07  Bruno Haible  <bruno@clisp.org>
24529         utimens: On native Windows, support 100ns resolution also if fd < 0.
24530         * lib/utime.in.h: Include <time.h>.
24531         (_gl_utimens_windows): New declaration.
24532         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
24533         (utime): Invoke it.
24534         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
24535         instead of utime.
24536         * modules/utime (Depends-on): Add 'time'.
24538 2017-05-07  Bruno Haible  <bruno@clisp.org>
24540         utimens: Improve error code on native Windows.
24541         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
24542         error code EACCES, not EINVAL.
24544 2017-05-07  Bruno Haible  <bruno@clisp.org>
24546         utime: Handle more Windows error codes.
24547         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
24548         Based on explanations by Billy O'Neal.
24550 2017-05-05  Bruno Haible  <bruno@clisp.org>
24552         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
24553         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
24554         union.
24555         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
24556         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
24557         value of cipher->IV.
24559 2017-05-05  Bruno Haible  <bruno@clisp.org>
24561         wctype-h-c++-tests: Update.
24562         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
24564 2017-05-05  Bruno Haible  <bruno@clisp.org>
24566         wchar-c++-tests: Update.
24567         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
24569 2017-05-05  Bruno Haible  <bruno@clisp.org>
24571         utime-h-c++-tests: New module.
24572         * tests/test-utime-h-c++.cc: New file.
24573         (utime): Declare, missing since 2017-04-30.
24574         * modules/utime-h-c++-tests: New file.
24576 2017-05-05  Bruno Haible  <bruno@clisp.org>
24578         unistd-c++-tests: Update.
24579         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
24580         (read): Declare, missing since 2011-04-15.
24581         (sethostname): Declare, missing since 2011-12-03.
24583 2017-05-05  Bruno Haible  <bruno@clisp.org>
24585         time-c++-tests: Update.
24586         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
24587         (localtime, gmtime): Declare, missing since 2017-04-30.
24588         (ctime): Declare, missing since 2017-04-30.
24589         (strftime): Declare, missing since 2017-04-30.
24590         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
24591         2015-07-24.
24593 2017-05-05  Bruno Haible  <bruno@clisp.org>
24595         sys_resource-c++-tests: New module.
24596         * tests/test-sys_resource-c++.cc: New file.
24597         (getrusage): Declare, missing since 2012-04-13.
24598         * modules/sys_resource-c++-tests: New file.
24600 2017-05-05  Bruno Haible  <bruno@clisp.org>
24602         strings-c++-tests: New module.
24603         * tests/test-strings-c++.cc: New file.
24604         (ffs): Declare, missing since 2011-07-12.
24605         * modules/strings-c++-tests: New file.
24607 2017-05-05  Bruno Haible  <bruno@clisp.org>
24609         string-c++-tests: Update.
24610         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
24611         (ffsll): Declare, missing since 2011-07-15.
24613 2017-05-05  Bruno Haible  <bruno@clisp.org>
24615         stdlib-c++-tests: Update.
24616         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
24617         2011-10-18.
24618         (ptsname_r): Declare, missing since 2011-11-07.
24619         (qsort_r): Declare, missing since 2014-08-29.
24620         (random, srandom, initstate, setstate): Declare, missing since
24621         2012-01-14.
24622         (secure_getenv): Declare, missing since 2013-02-05.
24624 2017-05-05  Bruno Haible  <bruno@clisp.org>
24626         stdio-c++-tests: Update.
24627         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
24629 2017-05-05  Bruno Haible  <bruno@clisp.org>
24631         signal-h-c++-tests: Update.
24632         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
24634 2017-05-05  Bruno Haible  <bruno@clisp.org>
24636         math-c++-tests: Update.
24637         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
24638         (fma): Declare, missing since 2011-10-17.
24639         (fmal): Declare, missing since 2011-10-17.
24641 2017-05-05  Bruno Haible  <bruno@clisp.org>
24643         locale-c++-tests: Update.
24644         * tests/test-locale-c++.cc (localeconv): Declare, missing since
24645         2012-03-25.
24647 2017-05-05  Bruno Haible  <bruno@clisp.org>
24649         inttypes-c++-tests: New module.
24650         * tests/test-inttypes-c++.cc: New file.
24651         (strtoimax): Declare, missing since 2012-01-05.
24652         (strtoumax): Declare, missing since 2012-01-05.
24653         * modules/inttypes-c++-tests: New file.
24655 2017-05-05  Bruno Haible  <bruno@clisp.org>
24657         dirent-c++-tests: Update.
24658         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
24659         (rewinddir): Declare, missing since 2011-09-13.
24660         (dirfd): Declare, missing since 2010-03-08.
24662 2017-05-04  Bruno Haible  <bruno@clisp.org>
24664         argp: Fix mistake in 2017-04-23 commit.
24665         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
24666         assume that strerror_r returns 'int', not 'char *'.
24668 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
24670         argp: Fix typo.
24671         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
24673 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
24675         utimens: port to Emacs + MS-Windows
24676         Skip the new MS-Windows-specific code if Emacs.
24677         * lib/utimens.c [EMACS_CONFIGUATION]:
24678         Avoid new MS-Windows-specific code.
24679         (USE_SETFILETIME): New macro.
24680         (fdutimens): Use it.
24682 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24684         tzset: update doc for TZ problems on MS-Windows
24685         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
24686         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
24687         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
24688         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
24689         * doc/posix-functions/wcsftime.texi:
24690         Mention some issues with TZ under MS-Windows.
24692 2017-05-01  Bruno Haible  <bruno@clisp.org>
24694         copy-file: Fix build error on mingw.
24695         * modules/copy-file (Depends-on): Add 'close'.
24697 2017-05-01  Bruno Haible  <bruno@clisp.org>
24699         tzset: Work around TZ problem on native Windows.
24700         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
24701         Windows, set REPLACE_TZSET to 1.
24702         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
24703         invoke '_tzset' instead of 'tzset'.
24704         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
24706         * modules/time_rz (Depends-on): Add tzset.
24707         * lib/time_rz.c (tzset): Remove fallback definition.
24708         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
24710 2017-05-01  Bruno Haible  <bruno@clisp.org>
24712         mktime: Fix dependencies.
24713         * modules/mktime (Depends-on): Add 'time'.
24715 2017-05-01  Bruno Haible  <bruno@clisp.org>
24717         New module 'localtime-buffer', split off from module 'gettimeofday'.
24718         * lib/localtime-buffer.h: New file.
24719         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
24720         * lib/time.in.h (tzset): New declaration.
24721         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
24722         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
24723         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
24724         moved to lib/localtime-buffer.c or lib/tzset.c.
24725         * m4/localtime-buffer.m4: New file.
24726         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
24727         HAVE_TZSET, REPLACE_TZSET.
24728         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
24729         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
24730         gl_LOCALTIME_BUFFER_NEEDED.
24731         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
24732         since 2007-01-18.
24733         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
24734         tzset.
24735         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
24736         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
24737         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
24738         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
24739         * modules/localtime-buffer: New file.
24740         * modules/time (Depends-on): Remove 'gettimeofday'.
24741         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
24742         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
24743         * modules/tzset (Description): Enable hyperlink to POSIX spec.
24744         (Files): Add lib/tzset.c.
24745         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
24746         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
24747         gl_TIME_MODULE_INDICATOR.
24748         * modules/gettimeofday (Depends-on): Add localtime-buffer.
24750 2017-05-01  Bruno Haible  <bruno@clisp.org>
24752         copy-file: Preserve sub-second time stamps.
24753         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
24754         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
24755         transport the time stamps from the original file to the destination
24756         file.
24757         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
24758         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
24759         utime-h.
24761 2017-05-01  Bruno Haible  <bruno@clisp.org>
24763         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
24764         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
24765         also on MSVC.
24766         Reported by Eli Zaretskii <eliz@gnu.org>.
24768 2017-05-01  Bruno Haible  <bruno@clisp.org>
24770         wchar: Fix compilation error with the original mingw.org mingw.
24771         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24772         <stddef.h> instead.
24773         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
24774         gl_WCTYPE_H.
24775         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
24776         gl_TYPE_WINT_T_PREREQ instead.
24777         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
24778         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
24779         Reported by Eli Zaretskii <eliz@gnu.org>.
24781 2017-04-30  Bruno Haible  <bruno@clisp.org>
24783         utimecmp: Add support for native Windows.
24784         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
24786 2017-04-30  Bruno Haible  <bruno@clisp.org>
24788         utimens: Add support for native Windows.
24789         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
24790         (fdutimens): Provide a native Windows implementation, like utime.c with
24791         added tv_nsec support.
24792         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
24793         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
24795 2017-04-30  Bruno Haible  <bruno@clisp.org>
24797         wcsftime: New module.
24798         * lib/wchar.in.h (wcsftime): New declaration.
24799         * lib/wcsftime.c: New file.
24800         * m4/wcsftime.m4: New file.
24801         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
24802         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
24803         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24804         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
24805         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24806         * modules/wcsftime: New file.
24807         * doc/posix-functions/wcsftime.texi: Mention the new module.
24809 2017-04-30  Bruno Haible  <bruno@clisp.org>
24811         strftime-fixes: New module.
24812         * lib/time.in.h (strftime): New declaration.
24813         * lib/strftime-fixes.c: New file.
24814         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
24815         (gl_FUNC_STRFTIME): Remove macro.
24816         * m4/strftime-fixes.m4: New file.
24817         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
24818         REPLACE_STRFTIME.
24819         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
24820         REPLACE_STRFTIME.
24821         * modules/strftime-fixes: New file.
24822         * doc/posix-functions/strftime.texi: Mention the new module.
24824 2017-04-30  Bruno Haible  <bruno@clisp.org>
24826         mktime: Work around TZ problem on native Windows.
24827         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
24828         from the native Windows workaround.
24829         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
24830         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
24831         'guessing no'.
24832         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
24833         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
24834         NEED_MKTIME_WINDOWS.
24835         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
24836         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
24837         NEED_MKTIME_INTERNAL.
24838         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
24839         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
24840         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
24841         not REPLACE_MKTIME.
24842         * doc/posix-functions/mktime.texi: Mention the native Windows
24843         workaround.
24845 2017-04-30  Bruno Haible  <bruno@clisp.org>
24847         localtime: New module.
24848         * lib/time.in.h (localtime): Declare also if requested by module
24849         'localtime'.
24850         * lib/localtime.c: New file.
24851         * m4/localtime.m4: New file.
24852         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
24853         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
24854         * modules/localtime: New file.
24855         * doc/posix-functions/localtime.texi: Mention the new module.
24857 2017-04-30  Bruno Haible  <bruno@clisp.org>
24859         ctime: New module.
24860         * lib/time.in.h (ctime): New declaration.
24861         * lib/ctime.c: New file.
24862         * m4/ctime.m4: New file.
24863         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
24864         REPLACE_CTIME.
24865         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
24866         * modules/ctime: New file.
24867         * doc/posix-functions/ctime.texi: Mention the new module.
24869 2017-04-30  Bruno Haible  <bruno@clisp.org>
24871         gettimeofday: Provide higher resolution on native Windows.
24872         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
24873         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
24874         (initialize): Initialize it.
24875         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
24876         'struct timeval'. Don't use _ftime().
24877         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
24878         <sys/timeb.h> and _ftime.
24880 2017-04-30  Bruno Haible  <bruno@clisp.org>
24882         Document the problem with the Cygwin environment variable TZ.
24883         * doc/posix-functions/tzset.texi: Add note about TZ.
24884         * doc/posix-functions/ctime.texi: Likewise.
24885         * doc/posix-functions/localtime.texi: Likewise.
24886         * doc/posix-functions/mktime.texi: Likewise.
24887         * doc/posix-functions/strftime.texi: Likewise.
24888         * doc/posix-functions/wcsftime.texi: Likewise.
24889         * doc/pastposix-functions/ftime.texi: Likewise.
24891 2017-04-30  Bruno Haible  <bruno@clisp.org>
24893         utime-tests: New module.
24894         * tests/test-utime.c: New file, based on tests/test-utimens.h.
24895         * tests/test-utimens-common.h: Include <sys/stat.h>.
24896         * modules/utime-tests: New file.
24898 2017-04-29  Bruno Haible  <bruno@clisp.org>
24900         utime: New module.
24901         * lib/utime.in.h: Add comment for snippets.
24902         (utime): New declaration.
24903         * lib/utime.c: New file.
24904         * m4/utime.m4: New file.
24905         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
24906         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
24907         REPLACE_UTIME.
24908         * modules/utime-h (Depends-on): Add snippets.
24909         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
24910         Insert snippets.
24911         * modules/utime: New file.
24912         * doc/posix-functions/utime.texi: Mention the new module.
24914 2017-04-29  Bruno Haible  <bruno@clisp.org>
24916         utime-h: Modernize handling of 'struct utimbuf'.
24917         * lib/utime.in.h: Include next <utime.h> if it exists.
24918         (utimbuf): Define to _utimbuf on native Windows.
24919         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
24920         Set UTIME_H on native Windows.
24921         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
24922         * modules/utime-h (Depends-on): Add include_next.
24923         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
24924         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
24926         * lib/utimens.c (utimbuf): Remove fallback definition.
24927         * m4/utimens.m4 (gl_UTIMENS): Don't require
24928         gl_CHECK_TYPE_STRUCT_UTIMBUF.
24929         * m4/utimbuf.m4: Remove file.
24930         * modules/utimens (Files): Remove m4/utimbuf.m4.
24932 2017-04-29  Bruno Haible  <bruno@clisp.org>
24934         Make use of module 'utime-h'.
24935         * modules/copy-file (Depends-on): Add utime-h.
24936         * lib/copy-file.c: Assume that <utime.h> exists.
24937         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
24939         * modules/utimens (Depends-on): Add utime-h.
24940         * lib/utimens.c: Assume that <utime.h> exists.
24942 2017-04-29  Bruno Haible  <bruno@clisp.org>
24944         utime-h: New module.
24945         * m4/utime_h.m4: New file.
24946         * lib/utime.in.h: New file.
24947         * modules/utime-h: New file.
24948         * doc/posix-headers/utime.texi: Mention the new module.
24950         * tests/test-utime-h.c: New file.
24951         * modules/utime-h-tests: New file.
24953 2017-04-30  Bruno Haible  <bruno@clisp.org>
24955         Fix a few typos.
24956         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
24957         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
24958         * doc/posix-functions/fstat.texi: Fix a plural typo.
24959         * doc/posix-functions/stat.texi: Likewise.
24960         * m4/include_next.m4: Update comments.
24962 2017-04-29  Bruno Haible  <bruno@clisp.org>
24964         error: Fix mistake in 2017-04-23 commit.
24965         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
24966         assume that strerror_r returns 'int', not 'char *'.
24968 2017-04-29  Bruno Haible  <bruno@clisp.org>
24970         stat: Fix time_t values and other problems on native Windows platforms.
24971         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
24972         implementations of stat().
24973         * lib/stat.c: Include filename.h instead of dosname.h. Include
24974         malloca.h, stat-w32.h.
24975         (is_unc_root): New function.
24976         (rpl_stat): New implementation for native Windows. Remove
24977         REPLACE_FUNC_STAT_DIR code.
24978         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
24979         Don't define REPLACE_FUNC_STAT_DIR.
24980         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
24981         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24982         (Depends-on): Remove dosname. Add filename, malloca.
24983         (configure.ac): Also compile lib/stat-w32.c.
24985 2017-04-29  Bruno Haible  <bruno@clisp.org>
24987         fstat: Fix time_t values on native Windows platforms.
24988         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
24989         * lib/stat-w32.h: New file.
24990         * lib/stat-w32.c: New file.
24991         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
24992         stat-w32.h instead.
24993         (fstat_nothrow): Remove function.
24994         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
24995         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
24996         always.
24997         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
24998         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24999         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
25000         (configure.ac): Also compile lib/stat-w32.c.
25002 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
25004         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
25005         Problem reported by Assaf Gordon and Gavin Smith in:
25006         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
25007         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
25008         #define this, too.
25010 2017-04-29  Bruno Haible  <bruno@clisp.org>
25012         strerror_r-posix: Fixes for MSVC 14.
25013         * lib/strerror_r.c: Include <stdarg.h>.
25014         (strerror_r): Provide error messages for errno values 100...140.
25015         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
25017 2017-04-28  Bruno Haible  <bruno@clisp.org>
25019         noreturn: New module.
25020         * lib/noreturn.h: New file.
25021         * modules/noreturn: New file.
25022         * tests/test-noreturn.c: New file.
25023         * modules/noreturn-tests: New file.
25024         * tests/test-noreturn-c++.cc: New file.
25025         * modules/noreturn-c++-tests: New file.
25027 2017-04-27  Bruno Haible  <bruno@clisp.org>
25029         wctype-h: Fix compilation error with the original mingw.org mingw.
25030         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
25031         HAVE_CRTDEFS_H.
25032         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
25033         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
25034         <stddef.h> instead.
25035         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
25037 2017-04-26  Pádraig Brady  <P@draigBrady.com>
25039         nap.h: Fix compilation on non windows platforms
25040         * tests/nap.h: Move misplaced endif.
25042 2017-04-26  Pádraig Brady  <P@draigBrady.com>
25043         and Paul Eggert  <eggert@cs.ucla.edu>
25045         time_rz: fix heap buffer overflow vulnerability
25046         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
25047         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
25048         whether there is enough buffer space available, thus avoiding
25049         the problematic promotion of signed to unsigned causing an invalid
25050         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
25051         the start of the buffer.
25052         * tests/test-parse-datetime.c (main): Add a test case written by
25053         Paul Eggert, which overwrites enough of the heap so that
25054         standard glibc will fail with "free(): invalid pointer"
25055         without the patch applied.
25057 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
25059         xalloc: add missing integer overflow check
25060         * lib/xalloc.h (x2nrealloc): Also check for multiplication
25061         overflow when P is null.
25063 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
25065         parse-datetime: make it standalone
25066         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
25067         (_GL_ATTRIBUTE_FORMAT): New macro.
25068         These are needed to get './gnulib-tool --test parse-datetime' to work.
25070 2017-04-23  Bruno Haible  <bruno@clisp.org>
25072         nap.h: Port to native Windows.
25073         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
25074         use nap_fd instead. On native Windows, close and reopen nap_fd.
25075         (nap_works): Don't compare the ctimes, because on native Windows, these
25076         are the creation times.
25077         (nap): Update.
25079 2017-04-23  Bruno Haible  <bruno@clisp.org>
25081         nap.h: Fix logic.
25082         * tests/nap.h (nap): Avoid signed integer overflow in loop.
25084 2017-04-23  Bruno Haible  <bruno@clisp.org>
25086         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
25087         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
25088         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
25089         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
25090         * lib/argp-help.c (__argp_failure): Likewise.
25092 2017-04-23  Bruno Haible  <bruno@clisp.org>
25094         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
25095         * m4/strerror_r.m4: Revert changes since 2016-10-16.
25096         * lib/strerror_r.c: Likewise.
25098 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
25100         Target a C99 subset, not a C89 subset
25101         For many years Gnulib has targeted C89 and has resisted using C99
25102         features, as some Gnulib-using programs still wanted to target
25103         C89.  As this no longer seems to be the case, relax the porting
25104         requirements to allow some C99 features.  This is merely a change
25105         to the documentation, to give other Gnulib developers a chance to
25106         weigh in on the topic.
25107         * doc/extern-inline.texi (extern inline):
25108         * doc/gnulib-readme.texi (Portability guidelines):
25109         * doc/gnulib-tool.texi (Initial import):
25110         * doc/gnulib.texi (Header files):
25111         Modernize to talk about C99 and C11 instead of C89 and C99.
25112         * doc/gnulib-readme.texi (Portability guidelines):
25113         Now a section, not merely a subsection, so that it
25114         can be split up.  Modernize a bit.
25115         (C language versions, C99 features assumed)
25116         (C99 features avoided):
25117         New sections.
25119 2017-04-23  Bruno Haible  <bruno@clisp.org>
25121         doc: New section "Modules that modify the way other modules work".
25122         * doc/gnulib.texi (Modules that modify the way other modules work): New
25123         section.
25125 2017-04-23  Bruno Haible  <bruno@clisp.org>
25127         stat-time: Update comments.
25128         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
25129         * tests/test-utimens-common.h: Add reference regarding st_ctime on
25130         Windows.
25132 2017-04-01  Bruno Haible  <bruno@clisp.org>
25134         glob: Fix more memory leaks.
25135         * lib/glob.c (glob): Free allocated memory before returning.
25136         Reported by Coverity via Tim Rühsen.
25138 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25140         poll: improve fast check for out-of-range NFD
25141         * lib/poll.c: Do not include intprops.h.
25142         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
25143         * modules/poll (Depends-on): Remove intprops.
25145         ftoastr: cite a newer paper
25146         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
25147         instead of Loitsch 2010.
25149 2017-04-22  Bruno Haible  <bruno@clisp.org>
25151         poll: Enable argument check also in the Windows implementation.
25152         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
25153         Reported by Paul Eggert.
25155 2017-04-22  Bruno Haible  <bruno@clisp.org>
25157         getlogin_r: Work around bug in Mac OS X 10.12.
25158         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
25159         bug.
25160         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
25161         given size minus 1, call getlogin_r a second time, on a larger buffer.
25162         * modules/getlogin_r (Depends-on): Add malloca.
25163         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
25165 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25167         parse-datetime: fix %z and prefer signed int
25168         %z problem reported by Pádraig Brady in:
25169         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
25170         While fixing it, I decided to prefer signed ints to size_t, as
25171         they are less error-prone (e.g., ubsan catches overflow).
25172         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
25173         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
25174         counts, since signed integers make for better debugging.
25175         (date): Don’t assume %z works in printf formats.
25176         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
25177         sizes of buffers known to be small, e.g., because we’re using snprintf.
25178         (parse_datetime2): Simplify call to debug_mktime_not_ok.
25180 2017-04-22  Bruno Haible  <bruno@clisp.org>
25182         *printf: Work around rounding bug on Mac OS X.
25183         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
25184         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
25185         Mac OS X and FreeBSD.
25186         * doc/glibc-functions/*printf.texi: Likewise.
25188 2017-04-22  Bruno Haible  <bruno@clisp.org>
25190         vasnprintf tests: Avoid warnings.
25191         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
25192         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
25193         test.
25195 2017-04-22  Bruno Haible  <bruno@clisp.org>
25197         sys_file tests: Avoid warning.
25198         * tests/test-sys_file.c (main): Add a default clause to the switch
25199         statement.
25201 2017-04-22  Bruno Haible  <bruno@clisp.org>
25203         sethostname: Update doc.
25204         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
25205         Mac OS X.
25207 2017-04-22  Bruno Haible  <bruno@clisp.org>
25209         quotearg tests: Avoid warnings.
25210         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
25211         false.
25213 2017-04-22  Bruno Haible  <bruno@clisp.org>
25215         poll: Enable argument check.
25216         * lib/poll.c: Include intprops.h.
25217         (poll): Check value of nfd correctly.
25218         * modules/poll (Depends-on): Add intprops.
25220 2017-04-22  Bruno Haible  <bruno@clisp.org>
25222         get-rusage-data: Avoid warnings on Mac OS X.
25223         * lib/get-rusage-data.c: On Mac OS X, don't define
25224         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
25225         (get_rusage_data) [Mac OS X]: Just return 0.
25227 2017-04-22  Bruno Haible  <bruno@clisp.org>
25229         xbinary-io: Fix build error.
25230         * modules/xbinary-io (Depends-on): Add gettext-h.
25231         * lib/xbinary-io.c: Include gettext.h and define _().
25232         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
25233         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
25235 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25237         parse-datetime: overflow and debug cleanups
25238         This long patch was triggered by this bug report from Ruediger Meier:
25239         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
25240         I fixed the bug he noted, then found some others nearby, and then
25241         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
25242         up some of the code to follow GNU standards while I was at it.
25243         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
25244         use c_isdigit.
25245         (EPOCH_YEAR): Remove; unused.
25246         (TM_YEAR_BASE): Now an enum rather than a macro.
25247         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
25248         time zone offset, since timezones now are in terms of seconds and
25249         not minutes.
25250         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
25251         appropriate.  Verify that intmax_t is wide enough.
25252         (time_overflow, time_zone_str): New functions, used to deal
25253         more reliably with overflow.
25254         (dbg_printf): Add printf attribute, to help catch integer width errors.
25255         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
25256         (%union, to_hour, yylex, parse_datetime2):
25257         Use intmax_t instead of long int and/or long_time_t.
25258         All uses changed.
25259         (DBGBUFSIZE): Move earlier.
25260         (relative_time, set_hhmmss, parser_control):
25261         Just use int for nanoseconds and for time zones; that’s wide enough.
25262         (parser_control): Use bool for members like year_seen that can
25263         be booleans instead of counters.  All uses changed.
25264         Remove debug_default_input_timezone; no longer needed.
25265         All uses removed.
25266         (apply_relative_time): Return a bool overflow flag.
25267         All uses changed to check for overflow.
25268         (apply_relative_time, zone, date, relunit, relunit_snumber)
25269         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
25270         Check for integer overflow portably.
25271         (str_days): Use just int for N, as it’s wide enough.
25272         Prefer 2D char arrays to arrays of char * when it looks like
25273         2D is a win on typical platforms.
25274         Prefer snprintf to strncpy/strncat, for simplicity;
25275         all buffers are smaller than INT_MAX so this is safe.
25276         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
25277         (debug_print_current_time): Don’t assume tv_nsec is of type long,
25278         as this is not true on x32.  Output "." before any nanoseconds.
25279         (debug_print_current_time, parse_datetime2):
25280         Output local zones using a more-consistent format.
25281         (debug_print_current_time, date, parse_datetime2):
25282         (main) [TEST]:
25283         Don’t assume time_t is the same width as long.
25284         (print_rel_part): New function, replacing ...
25285         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
25286         (debug_print_relative_time): Use bool for boolean.
25287         (local_zone): dsts_seen now counts only tDST instances.
25288         (date): Fix printf of size_t to use %z.  Do not assume numeric
25289         tokens have negative values merely because the context suggests
25290         a syntax with "-" separating tokens.
25291         (time_zone_hhmm): Return bool success indicator, which checks for
25292         overflow.  Store result into PC->time_zone instead.  All callers
25293         changed.
25294         (tm_year_str): New function.  Return a bool success indicator and
25295         store the result into a buffer.  All callers changed.  Output the
25296         numerically correct string even if adding 1900 to the year would
25297         overflow.
25298         (to_tm_year): New function, replacing the old to_year.  All
25299         callers changed.
25300         (tm_diff): Sync with glibc.
25301         (lookup_word): Use to_uchar instead of doing it by hand.
25302         (TZBUFSIZE): Now local to the only function that needs it.
25303         (debug_strfdatetime): Simplify now that time zones are int seconds.
25304         (debug_strfdate): Work even if tm_year + 1900 would overflow.
25305         (get_effective_timezone): Remove.  All uses removed.
25306         (parse_datetime2): Use fprintf in pieces instead of snprintfing
25307         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
25308         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
25309         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
25310         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
25311         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
25312         * modules/parse-datetime (Depends-on): Add inttypes.
25314 2017-04-21  Bruno Haible  <bruno@clisp.org>
25316         gettext-h: Avoid -Wundef warning.
25317         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
25318         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
25319         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
25321 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
25323         error: Avoid "function declaration isn't a prototype" warning.
25324         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
25326 2017-04-21  Bruno Haible  <bruno@clisp.org>
25328         vasnprintf: Fix for MSVC 14.
25329         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
25330         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
25331         of !HAVE_SNPRINTF_RETVAL_C99.
25333 2017-04-21  Bruno Haible  <bruno@clisp.org>
25335         mbrtowc tests: Fix test failures on MSVC 14.
25336         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
25337         behaviour for invalid input.
25339 2017-04-21  Bruno Haible  <bruno@clisp.org>
25341         mbsinit: Fix for MSVC 14.
25342         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
25343         implementation that is in sync with mbrtowc.c. On other platforms, use
25344         an adequate ad-hoc implementation.
25346 2017-04-21  Bruno Haible  <bruno@clisp.org>
25348         Fix test-mbrtowc5.sh failure on native Windows.
25349         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
25350         "C".
25352 2017-04-21  Bruno Haible  <bruno@clisp.org>
25354         Avoid accidental use of native Windows APIs on Cygwin.
25355         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
25356         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
25357         * lib/localename.c (WINDOWS_NATIVE): Likewise.
25359 2017-04-20  Bruno Haible  <bruno@clisp.org>
25361         Remove red warnings from the generated MODULES.html.
25362         * modules/fcntl (Description): Disambiguate function references.
25363         * modules/getcwd-lgpl (Description): Likewise.
25364         * modules/hostent (Description): Likewise.
25365         * modules/servent (Description): Likewise.
25366         * modules/tempname (Description): Likewise.
25368 2017-04-20  Bruno Haible  <bruno@clisp.org>
25370         verify tests: Fix spurious failure with parallel make.
25371         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
25372         EXTRA_PROGRAMS.
25373         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
25374         * tests/test-verify-try.c: New file.
25375         * modules/verify-tests (Files): Add it.
25376         (EXTRA_PROGRAMS): Add test-verify-try.
25377         (MOSTLYCLEANFILES): Update accordingly.
25378         Reported by Adam James Stewart <ajstewart@anl.gov>.
25380 2017-04-18  Bruno Haible  <bruno@clisp.org>
25382         vma-iter: Fix compilation error on Solaris 7.
25383         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
25384         like on IRIX, OSF/1.
25385         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25387 2017-04-18  Bruno Haible  <bruno@clisp.org>
25389         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
25390         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
25391         included.
25392         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
25393         <sys/procfs.h>.
25394         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
25395         <sys/procfs.h> cannot be included.
25396         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25398 2017-04-18  Bruno Haible  <bruno@clisp.org>
25400         getopt-gnu: Add comments.
25401         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
25402         * modules/getopt-gnu (configure.ac): Likewise.
25404 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
25406         regex: port better to Solaris 10
25407         Solaris 10 <locale.h> includes <libintl.h>, which #defines
25408         gettext, and this causes a double #define.
25409         Problem reported by Gavin Smith in:
25410         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
25411         * lib/regex_internal.h (gettext): #undef before #defining.
25413 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25415         intprops: improve comments
25416         * lib/intprops.h: Improve and shorten commentary.
25417         For the record, if we ever run into a pedantic compiler that
25418         behaves differently from GCC when converting an out-of-range value
25419         to a signed integer, we can work around the problem with something
25420         like the following code, where UCT is the signed counterpart of T
25421         (UCT is sometimes narrower than UT) and all callers are changed
25422         accordingly:
25423         #if __SUNPRO_C <= 0x5120
25424         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25425            ((t) ((ut) (a) op (ut) (b)))
25426         #else
25427         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25428            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
25429             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
25430                + TYPE_MINIMUM (t)) \
25431             : (t) (uct) ((ut) (a) op (ut) (b)))
25432         #endif
25434 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25436         intprops: try to avoid tickling similar bugs
25437         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
25438         needs to be the same width as T; it can be wider.
25439         Change callers so that UT is at least as wide as unsigned int,
25440         as I suspect that this is less likely to run into compiler bugs.
25442         intprops: port to Oracle Studio 12.3 x86
25443         Problem reported by Gavin Smith in:
25444         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
25445         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
25446         Convert unsigned to signed via the usual rather than the standard way,
25447         to avoid a compiler bug in Oracle Studio 12.3 x86.
25449 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25451         getopt: prefer - to _ in new file names
25452         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
25453         * lib/getopt-core.h: Rename from lib/getopt_core.h.
25454         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
25455         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
25456         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
25457         All uses changed.
25459         getopt: port recent getopt changes to macOS
25460         Problem reported by Harald Maier (Bug#26398).
25461         The macOS C compiler uses __nonnull for its own purposes and that
25462         clashes with glibc's __nonnull.
25463         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
25464         * lib/getopt_cdefs.in.h (__nonnull): Remove.
25465         * lib/getopt_core.h (getopt):
25466         * lib/getopt_ext.h (getopt_long, getopt_long_only):
25467         Use _GL_ARG_NONNULL, not __nonnull.
25468         * lib/unistd.in.h: Move snippet hooks to before where the getopt
25469         .h files are included, so that _GL_ARG_NONNULL is defined in time.
25470         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
25471         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
25473 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
25475         getopt-gnu: omit some duplicate code
25476         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
25477         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
25478         gnulib-tool already does this.
25479         * modules/getopt-gnu (configure.ac): Omit code duplicated from
25480         getopt-posix, which we depend on.
25482         getopt-posix: use angle-bracket include
25483         * lib/getopt1.c: Include <config.h>, not "config.h".
25485 2017-04-06  Zack Weinberg  <zackw@panix.com>
25487         getopt: annotate files with relationship to glibc
25489         As the final act in this patchset, adjust the message at the top of
25490         each file to indicate which files are synced with glibc.  (This has
25491         already been done for most of the headers.)
25493         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
25494         Mention in top-of-file boilerplate that these files are shared
25495         between glibc and gnulib.
25498         getopt: split up getopt.in.h and eliminate __need_getopt
25500         Over in glibc, all of the __need macros are being phased out in favor
25501         of small headers that declare only the necessary components, as this
25502         is much simpler and less prone to bugs.  As getopt is shared with
25503         glibc, gnulib needs to do the same for __need_getopt.
25505         __need_getopt is misnamed; what it really means is "we want only the
25506         getopt features specified in POSIX, not the GNU extensions".  glibc
25507         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
25508         these files can be shared verbatim with gnulib.  The portability
25509         wrapper, on the other hand, they have renounced altogether; glibc's
25510         getopt.h will no longer be shared with gnulib at all.  In exchange,
25511         certain glibc-specific quirks (having to do with __posix_getopt) no
25512         longer need appear in gnulib's headers at all.
25514         This patch merges getopt_core.h and getopt_ext.h from glibc, and
25515         splits up the current gnulib-side portability wrapper into three
25516         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
25517         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
25518         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
25519         unistd.in.h just use them.  All new files are clearly marked with
25520         whether they are shared with glibc.
25522         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
25523         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
25524         with glibc, and ...
25525         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
25526         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
25527         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
25528         instead of defining __need_getopt and including the full getopt.h.
25530         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
25531         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
25532         * modules/getopt-posix (Files): Add new headers and sort list.
25533         (Depends-on): No longer need snippet/arg-nonnull.
25534         (Makefile.am): Generate getopt_cdefs.h.
25537         getopt: better handling of ambiguous options
25539         glibc's getopt uses alloca to construct a linked list of possibilities
25540         for an "ambiguous" long option.  In gnulib, malloc should be used
25541         instead.  Providing for both cases complicates things a fair bit.
25543         This patch rewrites ambiguous-option handling to use a boolean vector
25544         instead of a linked list.  There is then only one allocation that
25545         might need freeing; in glibc it can honor __libc_use_alloca as usual,
25546         and in gnulib we define __libc_use_alloca to always be false, so we
25547         don't need ifdefs in the middle of the function.  This should also be
25548         slightly more efficient in the normal case of long options being fully
25549         spelled out -- I think most people aren't even aware they _can_
25550         sometimes abbreviate long options.
25552         One interesting consequence is that the list of possibilities is now
25553         printed in exactly the order they appear in the list of long options,
25554         instead of the first possibility being shuffled to the end.
25556         (The patch looks bigger than it really is because there's a fair bit
25557         of reindentation and code rearrangement.)
25559         * lib/getopt.c: When used standalone, define __libc_use_alloca
25560         as always false and alloca to abort if called.
25561         (process_long_option): Rewrite handling of ambiguous long options
25562         to use a single boolean vector, not a linked list; use
25563         __libc_use_alloca to decide whether to allocate this using alloca.
25566         getopt: refactor long-option handling
25568         There were two copies of the bulk of the code to handle long options.
25569         Now there is only one.
25571         This change temporarily removes the logic to avoid using alloca when
25572         standalone; the next patch in the series will restore it.
25574         * lib/getopt.c (process_long_option): New function split out
25575         from _getopt_internal_r.
25576         (_getopt_internal_r): Replace both copies of the long-option
25577         processing code with calls to process_long_option.
25580         getopt: tidy up _getopt_initialize a bit
25582         _getopt_data.__posixly_correct is completely redundant to
25583         _getopt_data.__ordering, and some work that logically belongs in
25584         _getopt_initialize was being done by _getopt_internal_r, making the
25585         code harder to understand.
25587         As a side effect, getenv will no longer be called if the first
25588         character of the options string is '+' or '-', which is probably a
25589         Good Thing.  (Perhaps we should have a flag character that
25590         specifically asks for the permutation behavior?)
25592         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
25593         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
25594         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
25597         getopt: merge from glibc: repetition reduction
25599         The definitions of the entry point functions 'getopt' and
25600         '__posix_getopt' can be made substantially less repetitive with a
25601         helper macro.
25603         While I was merging the const-correctness changes from gnulib into
25604         glibc I noticed there are still some unnecessary casts in
25605         _getopt_internal_r.
25607         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
25608         a macro.  Consistently cast 'argv' to 'char **' when calling
25609         _getopt_internal.
25610         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
25613         getopt: clean up error reporting
25615         getopt can print a whole bunch of error messages, and when used
25616         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
25617         cancellation point and getopt isn't, and also applying fprintf to a
25618         stream in wide-character mode is not allowed.  So every single error
25619         reporting case has an #ifdef _LIBC block in which it calls internal
25620         libc functions instead.  The counterpart patch series in glibc makes
25621         it possible to simplify all of that down to a set of #defines at the
25622         top of the file; core code is written as if it is safe to just call
25623         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
25624         call any *other* stdio functions.)
25626         * lib/getopt.c: When _LIBC is defined, define fprintf to
25627         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
25628         to _IO_funlockfile.  When neither _LIBC nor
25629         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
25630         funlockfile as no-ops.
25631         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
25632         standalone error-printing code can now be used for libc as well.
25633         Add an flockfile/funlockfile pair around one case where the error
25634         message is printed in several chunks.  Don't use fputc.
25637         getopt: fix fencepost error in ambiguous-W-option handling
25639         getopt_long contains an undocumented (AFAICT) feature in which, if you
25640         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
25641         treated as equivalent to '--foo'.  This is implemented with a partial
25642         second copy of the code for handling long options, and that code
25643         increments optind one too many times when recovering from an ambiguous
25644         abbreviated option, which can cause the main loop to walk past the end
25645         of argv and crash.
25647         I discovered this while writing a test case that tries to exercise all
25648         of getopt's error reporting paths; I wouldn't be surprised to learn
25649         that this feature is never used by real applications.
25651         * lib/getopt.c (_getopt_internal_r): Don't increment
25652         d->optind a second time when reporting ambiguous -W options.
25655         getopt: clean up getopt.c and getopt1.c file headers
25657         In getopt.c, there is no need to include wchar.h at all, and it is
25658         safe nowadays to assume that stdlib.h does declare getenv (several
25659         other gnulib modules make this assumption).
25661         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
25662         by using "" inclusions consistently, and there is no actual need to
25663         include stdlib.h (except in the #ifdef TEST block, where it should be
25664         unconditional), nor to provide a backup definition of NULL at all.
25666         * lib/getopt1.c: Simplify #ifdeffage at top of file.
25667         Move inclusion of stdlib.h to #ifdef TEST block and make
25668         unconditional.  Do not define NULL.
25669         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
25670         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
25671         * modules/getopt-gnu, modules/getopt-posix: Don't call
25672         gl_PREREQ_GETENV.
25675         getopt: harmonize comments with glibc
25677         The comments explaining how the behavior of 'getopt' varies depending
25678         on whether it's the standalone version and whether there are special
25679         characters at the beginning of the options string were inconsistent
25680         between gnulib and glibc, and also out of sync with the code.
25682         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
25685         getopt: remove USE_NONOPTION_FLAGS
25687         getopt includes code to parse an environment variable named
25688         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
25689         in decimal); but all of it has been #ifdefed out since 2001, with no
25690         official way to turn it back on.
25692         According to commentary in glibc's config.h.in, bash version 2.0
25693         set this environment variable to indicate argv elements that were
25694         the result of glob expansion and therefore should not be treated
25695         as options, but the feature was "disabled later" because "it
25696         caused problems".  According to bash's CHANGES file, "later" was
25697         release 2.01; it gives no more detail about what the problems
25698         were.
25700         Version 2.0 of bash was released on the last day of 1996, and version
25701         2.01 in June of 1997.  Twenty years later, I think it is safe to
25702         assume that this environment variable isn't coming back.
25704         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
25705         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
25706         __libc_argc and __libc_argv externs, which were only used by
25707         #ifdef USE_NONOPTION_FLAGS blocks.
25710         getopt: tabify, in preparation for merge with glibc
25712         glibc sticks to the GNU default of indenting with a mix of
25713         8-column tabs and spaces; make the gnulib copy match.
25715         getopt.h is not included because it is *not* going to be merged in its
25716         present form.
25718         * getopt.c, getopt1.c, getopt_int.h: Tabify.
25720 2017-04-02  Bruno Haible  <bruno@clisp.org>
25722         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
25723         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
25724         like it was done in modules/relocatable-lib on 2011-05-21 and in
25725         modules/relocatable-prog on 2011-08-15.
25726         Reported by Reuben Thomas <rrt@sc3d.org>.
25728 2017-03-31  Bruno Haible  <bruno@clisp.org>
25730         glob: Fix invalid free() call.
25731         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
25732         static storage to home_dir.
25733         Reported by Coverity via Tim Rühsen.
25735 2017-03-31  Bruno Haible  <bruno@clisp.org>
25737         glob: Fix memory leaks.
25738         * lib/glob.c (glob): Free allocated memory before returning.
25739         Reported by Coverity via Tim Rühsen.
25741 2017-03-31  Bruno Haible  <bruno@clisp.org>
25743         md5, sha1, sha256, sha512: Add comments regarding correctness.
25744         * lib/md5.h (buflen): Add comments regarding range.
25745         * lib/sha1.h (buflen): Likewise.
25746         * lib/sha256.h (buflen): Likewise.
25747         * lib/sha512.h (buflen): Likewise.
25748         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
25749         * lib/sha1.c (sha1_process_bytes): Likewise.
25750         * lib/sha256.c (sha256_process_bytes): Likewise.
25751         * lib/sha512.c (sha512_process_bytes): Likewise.
25752         Reported by Coverity via Tim Rühsen.
25754 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
25756         getopt: merge from glibc
25757         This does not change anything substantial; it merely simplifies
25758         hypothetical merges back to glibc.
25759         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
25760         Change copyright notice to match what is in glibc.
25761         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
25762         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
25763         __open_memstream rather than open_memstream and __glibc_likely
25764         instead of __builtin_expect.
25765         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
25767 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25769         dfa: make [0-9] faster in non-C locales
25770         Problem reported by John P. Linderman (Bug#26193).
25771         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
25772         If both ends of the range are ASCII digits, do not worry about
25773         multi-character collating sequences and the like.  Be consistent
25774         about using isalpha as a precondition for setbit_case_fold_c.
25776 2017-03-19  Bruno Haible  <bruno@clisp.org>
25778         lock: Fix compilation error with HP-UX IA64 cc.
25779         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
25780         weak on non-glibc platforms.
25782 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25784         stdalign: tweak version# and test for HP-UX IA64
25785         Problems reported by Bruno Haible in:
25786         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
25787         * lib/stdalign.in.h (_Alignas):
25788         * m4/stdalign.m4 (gl_STDALIGN_H):
25789         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
25790         used octal (as that is how they document it), but it is decimal in
25791         practice now and the ancient implementations no longer matter.
25792         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
25794 2017-03-19  Bruno Haible  <bruno@clisp.org>
25796         vma-iter: Add support for Solaris.
25797         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
25798         approach.
25799         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
25800         * lib/get-rusage-as.c: Update comment about Solaris.
25801         * lib/get-rusage-data.c: Likewise.
25803 2017-03-19  Bruno Haible  <bruno@clisp.org>
25805         vma-iter: Prefer HP-UX specific API on HP-UX.
25806         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
25807         * lib/vma-iter.h: Update.
25808         Just in case HP-UX ever implements mquery().
25810 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25812         stdalign: restore previous behavior for HP-UX IA64
25813         See Bruno Haible's email in:
25814         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25815         which cites p 150 of a manual saying that 'aligned' works on Itanium.
25816         * lib/stdalign.in.h (_Alignas):
25817         Assume the '061200' applies to Itanium, not to PA-RISC.
25818         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
25820 2017-03-17  Bruno Haible  <bruno@clisp.org>
25822         stat-time, timespec: Support use of the header files in C++ mode.
25823         * lib/stat-time.h: Add "C" linkage declaration.
25824         * lib/timespec.h: Likewise.
25826 2017-03-17  Bruno Haible  <bruno@clisp.org>
25828         stdalign: Make it work with HP-UX cc.
25829         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
25830         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
25831         for HP-UX cc.
25833 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
25835         flexmember: try to detect HP-UX 11.31 cc bug
25836         Problem reported by Bruno Haible in:
25837         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25838         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25839         Attempt to detect bug in HP-UX 11.31 cc.
25841 2017-03-16  Bruno Haible  <bruno@clisp.org>
25843         stdint: Fix test compilation failure with HP-UX 11 cc.
25844         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
25845         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
25846         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
25847         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
25849 2017-03-14  Bruno Haible  <bruno@clisp.org>
25851         gnulib-tool: Don't produce a tests directory with only snippet .h files.
25852         * gnulib-tool (func_modules_transitive_closure_separately): If
25853         testsrelated_modules ends up with no "real" modules, aside from
25854         modules with applicability 'all', set it to empty.
25856 2017-03-14  Bruno Haible  <bruno@clisp.org>
25858         vma-iter: Add support for HP-UX.
25859         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
25860         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
25861         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
25862         * lib/get-rusage-as.c: Update comment about HP-UX.
25863         * lib/get-rusage-data.c: Likewise.
25864         (get_rusage_data): Use get_rusage_data_via_setrlimit.
25866 2017-03-14  Bruno Haible  <bruno@clisp.org>
25868         limits-h: Make it work with HP-UX cc.
25869         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
25870         defined.
25872 2017-03-14  Bruno Haible  <bruno@clisp.org>
25874         Fix test failures on DragonFlyBSD.
25875         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
25876         * tests/test-select.h (test_bad_fd): Likewise.
25877         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
25879 2017-03-14  Bruno Haible  <bruno@clisp.org>
25881         freadahead: Silence warning on DragonFlyBSD.
25882         * lib/freadahead.c (__sreadahead): Declare ourselves.
25884 2017-03-14  Bruno Haible  <bruno@clisp.org>
25886         vma-iter: Add comment about AIX.
25887         * lib/vma-iter.c: Add comment about why this module is not implemented
25888         on AIX.
25890 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25892         snippets: move unadjusted snippet sources to lib
25893         Problem reported by Michal Privoznik in:
25894         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
25895         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
25896         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
25897         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
25898         * lib/unused-parameter.h: Rename from
25899         build-aux/snippet/unused-parameter.h.
25900         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
25901         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
25902         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
25903         * modules/snippet/c++defs (Files:, CXXDEFS_H):
25904         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
25905         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
25906         Adjust to file renamings.
25908 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
25910         gnulib-tool: don't automatically distribute files from top/
25911         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
25912         not distribute top/README-release by default, don't distribute files
25913         from top/ unconditionally.
25914         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
25915         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
25917 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25919         gnulib-tool: fix typo in comment output
25920         * gnulib-tool (func_import): Fix typo with previous change.
25922         snippets: work around GNU Make 3.82 VPATH
25923         When using 'gnulib-tool --gnu-make' on Emacs, and building
25924         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
25925         an out-of-source (VPATH) build failed because the sans-copyright
25926         snippet file was not built before the file that used it.
25927         Presumably this is some sort of VPATH thing.  Work around the
25928         problem by using the original snippet, i.e., don’t bother to
25929         remove its copyright notice.
25930         * modules/snippet/_Noreturn, modules/snippet/link-warning:
25931         Don’t assume Automake in comments.  Omit long-incorrect comment.
25932         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
25933         (MOSTLYCLEANFILES):
25934         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
25935         (MOSTLYCLEANFILES):
25936         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
25937         (MOSTLYCLEANFILES):
25938         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
25939         (MOSTLYCLEANFILES):
25940         Remove.
25941         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
25942         * modules/snippet/c++defs (CXXDEFS_H):
25943         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
25944         * modules/snippet/warn-on-use (WARN_ON_USE_H):
25945         Don’t bother to remove the copyright notice; just use the
25946         original snippet as-is.
25948 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
25950         gnulib-tool: minor --gnu-make fixups
25951         * gnulib-tool (func_emit_lib_Makefile_am):
25952         Remove useless code that was a blind alley during implementation.
25953         Problem reported by Thien-Thi Nguyen in:
25954         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
25955         (func_import): Note the "--gnu-make" option in the output comment.
25957 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
25959         gnulib-tool: new option --gnu-make
25960         This is for applications like GNU Emacs that use GNU Make
25961         features instead of Automake.
25962         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
25963         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
25964         Do not assume Automake.
25965         * gnulib-tool (func_determine_path_separator)
25966         (func_modules_transitive_closure, func_update_file)
25967         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25968         (func_import): Add support for --gnu-make.
25970 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
25972         gnulib-common.m4: avoid aclocal.m4 bloat
25973         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
25974         Hide AM_PROG_AR from aclocal, so that aclocal does not
25975         install irrelevant macro definitions into aclocal.m4.
25977 2017-03-10  Bruno Haible  <bruno@clisp.org>
25979         vma-iter: Let callers know about error.
25980         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
25981         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
25983 2017-03-05  Bruno Haible  <bruno@clisp.org>
25985         Fix value of LD for 64-bit compilers on AIX.
25986         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
25987         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
25989 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
25991         dtotimespec: simplify
25992         * lib/dtotimespec.c (dtotimespec): Simplify.
25994 2017-03-04  Bruno Haible  <bruno@clisp.org>
25996         test-calloc-gnu: Reenable test also for GCC 7.
25997         * tests/test-calloc-gnu.c (eight): New function.
25998         (main): Don't skip test; use eight() instead.
26000 2017-03-04  Jim Meyering  <meyering@fb.com>
26002         test-calloc-gnu: port to GCC7
26003         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
26004         that attempts to calloc more than SIZE_MAX bytes, because GCC7
26005         and newer would detect that at compilation time.
26007 2017-03-04  Bruno Haible  <bruno@clisp.org>
26009         tests: Avoid compiler warning about uses of null_ptr.
26010         * tests/null-ptr.h: New file.
26011         * tests/test-canonicalize.c: Include null-ptr.h.
26012         (null_ptr): Remove function.
26013         * tests/test-canonicalize-lgpl.c: Likewise.
26014         * tests/test-memmem.c: Likewise.
26015         * tests/test-ptsname_r.c: Likewise.
26016         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
26017         * modules/canonicalize-lgpl-tests: Likewise.
26018         * modules/memmem-tests: Likewise.
26019         * modules/ptsname_r-tests: Likewise.
26020         Reported by Jim Meyering.
26022 2017-03-03  Bruno Haible  <bruno@clisp.org>
26024         doc: Mention Mac OS X deficiencies regarding semaphores.
26025         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
26026         * doc/posix-functions/sem_destroy.texi: Likewise.
26027         * doc/posix-functions/sem_getvalue.texi: Likewise.
26029 2017-03-03  Bruno Haible  <bruno@clisp.org>
26031         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
26032         Reported by Assaf Gordon <assafgordon@gmail.com> via
26033         Pádraig Brady <P@draigBrady.com>.
26034         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
26035         semaphores.
26036         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
26037         (atomic_int_semaphore): New macro.
26039 2017-02-28  Bruno Haible  <bruno@clisp.org>
26041         perror tests: Tweak for z/OS.
26042         Reported by Daniel Richard G. <skunk@iskunk.org>.
26043         * tests/test-perror.sh: Don't fail z/OS style perror output.
26045 2017-02-26  Bruno Haible  <bruno@clisp.org>
26047         nproc: Refactor large function.
26048         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
26049         from num_processors.
26050         (num_processors): In this function, only deal with OMP.
26052 2017-02-26  Pádraig Brady  <P@draigBrady.com>
26054         nproc: adjust handling of OpenMP environment variables
26055         to match the return value from omp_get_num_threads(), i.e.:
26056          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
26057          - Treat 0 as an invalid value and ignore
26058         Also remove the call to omp_get_num_threads() because
26059         it's ineffective without the omp pragmas in place.
26060         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
26061         so that it can be ignored.
26062         (num_processors): Honor OMP_THREAD_LIMIT even without
26063         OMP_NUM_THREADS being set.  Also fix a typo in the environment
26064         variable being checked, from the previous recent commit.
26066 2017-02-26  Pádraig Brady  <P@draigBrady.com>
26068         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
26069         * lib/nproc.c (parse_omp_threads): A new function refactored
26070         from num_processors() to support parsing both of the
26071         above environment variables.
26072         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
26073         to accurately reflect the current OpenMP nesting level.
26074         Also support the OMP_THREAD_LIMIT environment variable
26075         to limit the max value determined from OMP_NUM_THREADS.
26076         * modules/nproc: Depend on minmax header.
26077         Suggested by Oliver Heimlich.
26079 2017-02-25  Bruno Haible  <bruno@clisp.org>
26081         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
26082         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
26084 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26086         ftoastr: port to -Wdouble-promotion
26087         Work around -Wdouble-promotion false alarm in recent GCCs.
26088         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
26089         (ftoastr_snprintf, FTOASTR): Use it.
26091 2017-02-21  Bruno Haible  <bruno@clisp.org>
26093         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
26094         Reported by Rene Saavedra <rennes@openmailbox.org> in
26095         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
26096         * lib/glthread/lock.h: On glibc systems without
26097         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
26098         implementation of rwlocks.
26099         * lib/glthread/lock.c: Likewise.
26101 2017-02-20  Bruno Haible  <bruno@clisp.org>
26103         lock tests: Fix build failure on z/OS.
26104         Reported by Daniel Richard G. <skunk@iskunk.org>.
26105         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
26106         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
26107         exist.
26109 2017-02-19  Bruno Haible  <bruno@clisp.org>
26111         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
26112         This helps when CC=clang.
26113         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
26114         of /usr/bin/gcc.
26116         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
26117         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
26119 2017-02-19  Bruno Haible  <bruno@clisp.org>
26121         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
26122         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
26123         --with-tests --single-configure is specified.
26125 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
26127         users.txt: Update links, use HTTPS where possible
26128         * users.txt: Updated to HTTPS where possible,
26129         fixed some links to new locations.
26131 2017-02-16  Bruno Haible  <bruno@clisp.org>
26133         xbinary-io: Fix inlining.
26134         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
26136 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26138         xbinary-io: rename from xsetmode
26139         This patch is taken from suggestions by Bruno Haible in:
26140         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
26141         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
26142         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
26143         not ENOTTY, when it is an inappropriate device.
26144         * lib/binary-io.h (SET_BINARY): Resurrect.
26145         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
26146         (xset_binary_mode_error): Rename from xsetmode_error.
26147         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
26148         (xset_binary_mode): Rename from xsetmode.
26149         All uses changed.
26150         * modules/xbinary-io: Rename from modules/xsetmode.
26151         Update file names.
26152         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
26153         * NEWS: Update to match revised behavior.
26155 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
26157         tests: Adjust to recent SET_BINARY change
26158         * tests/test-binary-io.c (main):
26159         * tests/test-binary-io.sh: Remove test for SET_BINARY.
26160         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
26161         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
26162         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
26164         xsetmode: new module
26165         This is to fix a problem noted by Eric Blake.
26166         Code was using xfreopen to change files to binary mode, but this
26167         fails for stdout when in append mode.  Such code should use
26168         xsetmode instead.
26169         * NEWS: Document incompatible changes to binary-io module.
26170         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
26171         New function.
26172         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
26173         (set_binary_mode): New function, which also checks for tty.
26174         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
26176 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
26178         headers: fix begin-end typos
26179         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
26180         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
26182         selinux-h: port to PGI 16.10
26183         * lib/se-selinux.in.h: Don't assume that include_next skips over
26184         duplicate -I DIR options.
26186         argp: port to PGI 16.10
26187         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
26189 2017-02-13  Darshit Shah  <darnir@gnu.org>
26191         unicase: Update function protoype to match definition.
26192         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
26193         uses 'size_t' as the datatype for the 'len' parameter in the functions
26194         it generates. Update the prototype specified here to match the newly
26195         generated function.
26197 2017-02-12  Bruno Haible  <bruno@clisp.org>
26199         times test: Avoid gcc warnings on Linux/x32.
26200         * tests/test-times.c (main): Really cast printf arguments from clock_t
26201         to 'long int'.
26203 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
26205         glob: port better to emscripten
26206         Problem reported by Bruno Haible in:
26207         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
26208         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
26210 2017-02-11  Bruno Haible  <bruno@clisp.org>
26212         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
26213         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
26214         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
26215         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
26216         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
26217         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
26218         Distinguish hppa64 from hppa.
26220 2017-02-10  Bruno Haible  <bruno@clisp.org>
26222         search: Don't assume that tsearch() exists if 'VISIT' is defined.
26223         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
26224         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
26225         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
26227 2017-02-09  Bruno Haible  <bruno@clisp.org>
26229         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
26230         * doc/gnulib.texi (Libtool and Windows): Recommend
26231         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
26232         Reported by Reuben Thomas <rrt@sc3d.org>.
26234 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
26236         stddef-tests: port to SIZE_MAX <= INT_MAX
26237         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
26238         Do not assume that INT_MAX < SIZE_MAX.
26240 2017-02-01  Bruno Haible  <bruno@clisp.org>
26242         lock tests: Fix link error.
26243         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
26244         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26246 2017-01-31  Bruno Haible  <bruno@clisp.org>
26248         lock: Fix link error (regression from 2017-01-05).
26249         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
26250         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
26251         pthread_rwlockattr_destroy weak.
26252         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26254 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
26256         Port to PGI 16.10 x86-64
26257         This patch fixes one real bug in gl_anylinked_list2.h, along with
26258         some minor glitches that are not bugs.  It does not silence PGI’s
26259         thousands of bogus warnings when compiling test-intprops.c.
26260         Fortunately, the warnings do not cause a failure.
26261         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
26262         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
26263         My goodness, PGI goes back a long ways - this predates C89!
26264         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
26265         For example, ASYNCSAFE (const void *) should expand to
26266         ‘const void *volatile’, not to ‘volatile const void *’.
26267         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
26268         * lib/verify.h (verify) [!__GNUC__]:
26269         Use shorter albeit meaningless string to bypass silly compiler limits.
26270         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
26271         * tests/nan.h (NaNf, NaNd, NaNl):
26272         Use static functions to avoid misguided compiler diagnostics.
26273         Is there some reason we don’t use static functions on all platforms?
26275 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
26277         parse-datetime: handle timezones reentrantly
26278         This API change was prompted by a report by Pádraig Brady in:
26279         https://bug.debian.org/851934#10
26280         To help fix the bug, make parse_datetime2 more reentrant.
26281         * NEWS: Document this incompatible change.
26282         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
26283         Add two arguments, the timezone and the timezone name.
26284         All callers changed.  If TZ="..." is specified, use it for
26285         calculating defaults.
26286         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
26287         this code should be usable in a library.
26288         (mktime_ok, get_effective_timezone):
26289         Accept timezone arg too.  All callers changed.
26290         (get_tz): Remove.
26291         (get_effective_timezone): Check for failures.
26293 2017-01-20  Eric Blake  <eblake@redhat.com>
26295         localename: port to cygwin 2.6
26296         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
26297         Cygwin.
26298         * modules/localename (Depends-on): Add extensions, since
26299         NL_LOCALE_NAME() is not visible without it.
26301 2017-01-17  Pádraig Brady  <P@draigBrady.com>
26303         parse-datetime: fix dependence on AC_PROG_SED
26304         * modules/parse-datetime: Use `sed` directly like all other modules.
26305         Reported by J William Piggott
26307 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
26309         intprops: update doc URLs
26310         * doc/intprops.texi (Integer Range Overflow): Update URLs.
26312 2017-01-16  Bruno Haible  <bruno@clisp.org>
26314         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
26315         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
26316         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
26317         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
26318         distinguish s390 and s390x.
26319         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
26320         * NEWS: Mention the change regarding 'armel'.
26322 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
26324         localeinfo: case_folded_counterparts and WEOF
26325         * NEWS: Document this.
26326         * lib/localeinfo.c (case_folded_counterparts):
26327         First arg is now wint_t, not wchar_t.  This generalizes the
26328         function to also work on WEOF, where it returns 0.
26330         dfa: port to gcc -fsanitize=undefined
26331         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
26332         as this runs afoul of gcc -fsanitize=undefined.
26334 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
26336         strftime: %z is -00 if unknown
26337         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
26338         the caller's responsibility to set 'negative_number'.  All uses changed.
26339         (__strftime_internal): Put '-' before a zero UTC offset if the time
26340         zone abbreviation starts with "-", which is the recently-introduced
26341         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
26342         * tests/test-strftime.c: Test for this.
26344 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26346         dfa: port to older GCC
26347         Problem reported by Assaf Gordon in:
26348         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
26349         * modules/c99: New module.  This merely attempts to use the latest
26350         C version, which should be enough to solve this particular problem.
26351         The idea is to document which Gnulib modules assume C99 or later.
26352         * modules/dfa (Depends-on): Add it.
26354 2017-01-10  Bruno Haible  <bruno@clisp.org>
26356         Update DEPENDENCIES.
26357         * DEPENDENCIES: List only https URLs. Update recommended version for
26358         autoconf, automake, gperf.
26360 2017-01-10  Jim Meyering  <meyering@fb.com>
26362         maint.mk: enforce spelling of "timestamp" (i.e., no space)
26363         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
26364         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
26366 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26368         dfa: minor simplification with emptyset
26369         * lib/dfa.c (build_state): Simplify by using emptyset.
26371 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
26373         dfa: shrink constraints from 4 bits to 3
26374         * lib/dfa.c (newline_constraint, letter_constraint)
26375         (other_constraint, prev_newline_dependent)
26376         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
26377         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
26378         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
26379         Constraints need only 3 bits, not 4.  Using smaller integers
26380         shrinks the code a bit and makes grep a tad faster on x86-64.
26382         dfa: omit unnecessary ptrdiff_t check
26383         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
26384         overflow, since xnmalloc does that now.
26386         dfa: omit unnecessary allocation
26387         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
26388         an all-zero follow set works just fine.
26390         dfa: omit unused local
26391         * lib/dfa.c (build_state): Fix up recent change.
26393         maint: remove stray .texi files
26394         Although these were superseded by other files like
26395         doc/posix-functions/ctime.texi, the old files were not removed.
26396         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
26398 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
26400         getprogname: fix port to IRIX
26401         * lib/getprogname.c (getprogname) [__sgi]:
26402         Don't dump core if malloc returns NULL.
26404         dfa: fix reallocation bug when matching newlines
26405         Problem reported for sed by S. Gilles (Bug#25390).
26406         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
26407         (dfastate): Reallocate before moving any newline transition ...
26408         (build_state): ... instead of reallocating here, where it is too late.
26410 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
26412         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
26413         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
26415 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
26417         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
26418         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
26420 2017-01-07  Bruno Haible  <bruno@clisp.org>
26422         stdioext: Port to Minix 3.2 and newer.
26423         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
26424         * lib/fseeko.c (fseeko): Likewise.
26425         Reported by Nelson Beebe via Paul Eggert.
26427 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26429         getprogname: port to IRIX
26430         * lib/getprogname.c (getprogname): Port to IRIX.
26431         Based on an idea by Bastien Roucariès at:
26432         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
26433         via code from Bruno Haible at:
26434         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
26436         localename-tests: port to NetBSD 7
26437         Problem reported by Nelson H. F. Beebe.
26438         * tests/test-localename.c:
26439         Test newlocale and uselocale only if both exist.
26441         glob, intprops, xalloc: work around Clang bug
26442         Work around LLVM bug 16404, which is still not fixed.
26443         https://llvm.org/bugs/show_bug.cgi?id=16404
26444         Problem reported by Nelson H. F. Beebe.
26445         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
26446         Remove.
26447         * lib/glob.c (size_add_wrapv):
26448         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
26449         * lib/xalloc-oversized.h (xalloc_oversized):
26450         Do not use overflow builtins if Clang.
26452         dfa: fix 'return' typo
26453         Problem reported by Nelson H. F. Beebe.
26454         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
26456 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26458         parse-datetime: fix generated paths for coverage files
26459         * modules/parse-datetime: Adjust the paths for parse-datetime.y
26460         within parse-datetime.c, so that gcc generates appropriate .gcno
26461         files, allowing lcov to proceed without error.  Previously it
26462         would error trying to find "lib/lib/parse-datetime.y".
26464 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26466         maint.mk: support parallel execution of coverage
26467         * top/maint.mk (coverage): Run dependencies serially,
26468         thus supporting parallel processing of each one,
26469         particularly build-coverage, which builds and runs tests.
26471 2017-01-05  Bruno Haible  <bruno@clisp.org>
26473         lock tests: Prefer semaphore over mutex.
26474         * tests/test-lock.c (USE_SEMAPHORE): New constant.
26475         (struct atomic_int, init_atomic_int, get_atomic_int_value,
26476         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
26477         Suggested by Torvald Riegel <triegel@redhat.com>.
26479 2017-01-05  Bruno Haible  <bruno@clisp.org>
26481         lock: Provide guarantee to avoid writer starvation for rwlocks.
26482         The rationale is: 1) Read-preferring read-write locks are prone to
26483         writer starvation if the number of reader threads multiplied by the
26484         percentage of time they have the lock held is too high. 2) Write-
26485         preferring read-write locks are the only reliable way to avoid this.
26486         3) There have been reports of 'test-lock' hanging on glibc systems
26487         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
26488         and glibc indeed implements read-preferring rwlocks by default, see
26489         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
26490         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
26491         * m4/pthread_rwlock_rdlock.m4: New file.
26492         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26493         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
26494         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26495         of rwlock initialization on glibc systems without
26496         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26497         of rwlocks altogether on non-glibc systems without
26498         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26499         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
26500         * lib/glthread/lock.c [USE_POSIX_THREADS]
26501         (glthread_rwlock_init_for_glibc): New function.
26502         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
26503         comment.
26504         [USE_PTH_THREADS]: New implementation of rwlocks.
26505         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
26506         readers.
26507         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
26508         (Depends-on): Add 'extensions'.
26509         * tests/test-rwlock1.c: New file.
26510         * lock-tests (Files): Add it.
26511         (Depends-on): Add usleep.
26512         (Makefile.am): Add test-rwlock1 to the tests.
26514 2017-01-05  Bruno Haible  <bruno@clisp.org>
26516         thread: Fix pth port.
26517         * lib/glthread/thread.h (pth_init): Declare weak.
26518         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
26519         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
26520         function.
26522 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
26524         parse-datetime: fix debug message on lone year number
26525         Input dates such as
26526           date -d "Apr 11 22:59:00 2011"
26527         are parsed as date (Apr 11, with default year 2016), then time, then a
26528         number (2011). Based on the combination of previously seen tokens,
26529         'digits_to_date_time' determines 2011 to be a year value.
26530         This fixes the debug messages to correctly show the updated year.
26531         Before:
26532             $ date --debug -d 'Apr 11 22:59:00 2011'
26533             date: parsed date part: (Y-M-D) 2016-04-11
26534             date: parsed time part: 22:59:00
26535             date: parsed number part: today/this/now
26536         After:
26537             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
26538             date: parsed date part: (Y-M-D) 2016-04-11
26539             date: parsed time part: 22:59:00
26540             date: parsed number part: year: 2011
26541         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
26542         'debug_year_seen' member fields.
26543         (digits_to_date_time): Update 'year_seen' as needed.
26544         (debug_print_current_time): Inform about year updates.
26545         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
26547         parse-datetime: fix local timezone debug messages
26548         "Local timezones" are strings that affect only DST relative to the
26549         default timezone. The debug messages in parse-datetime.y printed
26550         wrong information when encountering local timezones.
26551         Examples:
26552         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
26553              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
26554              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
26555         When the default timezone relates to the zone strings, EET/EEST are
26556         parsed as local timezones (tLOCAL_ZONE), and only change the DST
26557         value (0/1, respectively):
26558              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
26559              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
26560         * lib/parse-datetime.y (debug_print_current_time): If local timezone
26561         was seen, inform about DST change, don't print actual timezone.
26562         (debug_strfdatetime): If local timezone was seen, use default timezone
26563         (and adjust as needed) instead of using incorrect timezone.
26564         (parse_datetime2): Use correct time-zone source string, and adjust
26565         default timezone as needed.
26567         parse-datetime: add debug warning about DST changes
26568         Incorrect date arithmetic due to daylight saving time (DST) are a
26569         common (false) bug report in coreutils.
26570         Detect two such cases and print a warning:
26571         1. year/month/day adjustments (performed on 'struct tm'),
26572            where 'mktime' returns a different isdst value.
26573         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
26574            where the result of 'localtime(3)' on the value will return a
26575            different isdst value.
26576         Note: DST changes could be harmless or unnoticeable.
26577         Examples (with 'TZ=America/New_York'):
26578         Unnoticeable: result is 2016-Dec-14
26579            $ date -d '2016-06-15 EDT + 6 months' +%b
26580            Dec
26581         Unnoticeable: result is 2016-Dec-15 11:00:00
26582            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
26583            2016-12-15
26584         This is unexpected:
26585            $ date -d '2016-06-01 EDT + 6 months' +%F
26586            2016-11-30
26587         The new debug warnings will show:
26588            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
26589            ...
26590            date: warning: daylight saving time changed after date adjustment
26591            ...
26592         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
26593         print an appropriate warning message.
26595         parse-datetime: add debug warning about date arithmetic
26596         Date arithmetic are done directly on the fields of 'struct tm',
26597         which can result in invalid dates. Normalization with 'mktime(3)'
26598         will then produce a different date - which might cause unexpected
26599         results.
26600         Examples:
26601           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
26602           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
26603         Note that date normalization is not inherently wrong and not rejected,
26604         as it has legitimate uses:
26605           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
26606         If the user asked to adjust months but 'mday' changed,
26607         or user asked to adjust years but 'month' changed - warn about it.
26608             $ ./src/date --debug -d '2016-10-31 - 1 month'
26609             ...
26610             date: warning: when adding relative months/years, \
26611                            it is recommended to specify the 15th of the month
26612             ...
26613             date: warning: month/year adjustment resulted in shifted dates:
26614             date:      adjusted Y M D: 2016 09 31
26615             date:    normalized Y M D: 2010 10 01
26616             ...
26617         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
26618         a warning message. Improve recommendation of when to use 15 of the
26619         month or noon for date arithmetic.
26621         parse-datetime: fix debug message of relative part after timezone
26622         Relative part (e.g '+8 days') after a timezone string was not
26623         reported (was only reported after a timezone number). Due to the
26624         parser's structure, timezone strings with numbers were handled
26625         separately.
26626         before:
26627              # Timezone number + relative part: OK
26628              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
26629              ...
26630              date: parsed relative part: -8 day(s)
26631              # Timezone string + relative part: missing
26632              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
26633              [ missing message ]
26634         After: messages are printed in both cases.
26635         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
26637         parse-datetime: fix incorrect debug message on lone number
26638         A lone number is an absolute value, not a relative time part.
26639         before:
26640            $ date --debug -d '20130101'
26641            date: parsed number part: today/this/now
26642         After:
26643            $ ./src/date --debug -d '20130101'
26644            date: parsed number part: (Y-M-D) 2013-01-01
26645         * lib/parse-datetime.y ('item'/'number' tokens): Call
26646         'debug_print_current_time' instead of 'debug_print_relative_time'.
26648 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
26650         doc: modernize for C11 etc.
26651         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
26652         for C11, MinGW, etc.  This responds to Paul Smith's question in:
26653         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
26655         dfa: prefer functions to FETCH_WC macro
26656         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
26657         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
26658         wint_t result into DFA->lex.wctok instead of to a separate arg.
26659         All callers changed.  Move more local decls closer to where
26660         they're used.
26662         dfa: narrow more local var scopes
26663         * lib/dfa.c: Move more local decls to be more local.
26665         dfa: remove duplicate assignment
26666         Problem reported by Bruno Haible in:
26667         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
26668         * lib/dfa.c (parse_bracket_exp): Simplify.
26670 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26672         dfa: simplify constraint-dependency checking
26673         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
26674         (prev_other_constraint): Remove.
26675         (prev_newline_dependent, prev_letter_dependent):
26676         Simplify, to avoid an unnecessary bitwise AND operation.
26678         dfa: prefer functions and constants to macros
26679         * lib/dfa.c: Prefer constants to macros where either will do.
26680         (streq, isasciidigit, newline_constraint)
26681         (letter_constraint, other_constraint, succeeds_in_context)
26682         (prev_newline_constraint, prev_letter_constraint)
26683         (prev_other_constraint, prev_newline_dependent)
26684         (prev_letter_dependent, accepting, accepts_in_context):
26685         Now static functions instead of function-like macros.
26686         Use lower-case names accordingly.  All uses changed.
26688         dfa: narrow more local var scopes
26689         * lib/dfa.c: Move some more local decls down to nearer where
26690         they're needed.
26692 2016-12-31  Jim Meyering  <meyering@fb.com>
26694         dfa: narrow the scope of many local variables
26695         * lib/dfa.c: Now that we are no longer constrained to c89, move
26696         declarations of many variables (often indices) "down" into the
26697         scope(s) where used or to the point of definition.  This is a
26698         no-semantic-change diff.
26700 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26702         version-etc: new year
26703         * build-aux/gendocs.sh (version):
26704         * doc/gendocs_template:
26705         * doc/gendocs_template_min:
26706         * doc/gnulib.texi:
26707         * lib/version-etc.c (COPYRIGHT_YEAR):
26708         Update copyright dates by hand in templates and the like.
26709         * all files: Run 'make update-copyright'.
26711 2016-12-31  Eric Blake  <eblake@redhat.com>
26713         do-release-commit-and-tag: avoid shell syntax error
26714         * build-aux/do-release-commit-and-tag (curr_br): $branch can
26715         contain spaces when rebasing.
26717         maint.mk: hoist gnulib_dir definition earlier
26718         * top/maint.mk (gnulib_dir): Move near top of file.
26720 2016-12-31  Jim Meyering  <meyering@fb.com>
26722         maint.mk: do not always evaluate intprops-related shell
26723         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
26724         using gnulib_dir undefined (gnulib_dir is defined later in the
26725         file, which will be fixed separately), and besides, there is no
26726         need to incur the cost of this shell invocation for every single
26727         use of this .mk file.  Reported by Eric Blake in
26728         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
26730 2016-12-30  Jim Meyering  <meyering@fb.com>
26732         maint.mk: improve sc_prohibit_intprops_without_use
26733         * top/maint.mk (_intprops_names): Don't hard-code the list of
26734         symbol names.  Instead, derive it on the fly.
26736 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26738         dfa: shorten sbit, success
26739         * lib/dfa.c (struct regex_syntax.sbit):
26740         (struct dfa.success): Use char, not int, for array elements, since
26741         they are all in the range 0..7.
26743         dfa: simplify multibyte_prop etc.
26744         This follows up on a change made when dfa.c was in grep, namely grep
26745         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
26746         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
26747         That earlier simplification allows for some more simplification
26748         and trimming down here.
26749         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
26750         (struct lexer_state): New mamber brack.
26751         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
26752         since they must be in the range 0..3 now.
26753         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
26754         the brack member now supersedes them.
26755         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
26756         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
26757         (dfaparse): Remove unnecessary initializations of already-0 storage.
26758         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
26759         (dfassbuild): No need to clear sup->mbcsets.
26761         dfa: minor performance tweak
26762         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
26764         dfa: wrap charclass inside a struct
26765         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
26766         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
26767         about 5% faster, where list.txt is generated by 'aspell dump
26768         master | head -n 100000 >list.txt'.  See Bug#22239.
26769         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
26770         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
26771         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
26772         Adjust to this, e.g., by using charclass * rather than charclass.
26773         All callers changed as needed.
26774         (copyset): Remove.  All uses changed to simple assignment.
26775         (parse_bracket_exp): Use zeroset instead of memset.
26777 2016-12-30  Jim Meyering  <meyering@fb.com>
26779         maint.mk: update list of intprops.h symbol names
26780         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
26781         This avoids a false failure of the sc_prohibit_intprops_without_use
26782         rule in grep.
26784 2016-12-29  Eric Blake  <eblake@redhat.com>
26786         getopt: fix parallel test failure
26787         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
26788         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
26789         * tests/test-getopt-main.h (main): Use different file names
26790         in case test-getopt-gnu and test-getopt-posix run in parallel.
26792 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26794         xalloc: x2nrealloc check for ptrdiff_t overflow
26795         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
26796         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
26798 2016-12-24  Bruno Haible  <bruno@clisp.org>
26800         lock test: Fix performance problem on multi-core machines.
26801         * tests/test-lock.c (USE_VOLATILE): New macro.
26802         (struct atomic_int): New type.
26803         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
26804         functions.
26805         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
26806         as 'struct atomic_int'.
26807         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
26808         reclock_checker_thread, test_recursive_lock): Use the new functions.
26809         Reported by Eric Blake in
26810         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
26811         and by Pádraig Brady in
26812         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
26814 2016-12-19  Bruno Haible  <bruno@clisp.org>
26816         vma-iter: Fix endless loop on 64-bit Windows.
26817         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
26818         'unsigned long'.
26820 2016-12-19  Bruno Haible  <bruno@clisp.org>
26822         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
26823         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
26824         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
26825         Invoke gt_TYPE_WINT_T instead.
26826         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
26827         * modules/stdint (Files): Add m4/wint_t.m4.
26828         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26829         * modules/wctype-h (Makefile.am): Likewise.
26830         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
26831         not only on MSVC.
26832         * lib/wctype.in.h (wint_t): Likewise.
26834 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26836         getopt-posix-tests: fix Makefile typo
26837         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
26838         Fix typo: the last ‘_’ was missing in the name.
26839         I suspect that the typo explains this build failure:
26840         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
26841         although I can’t reproduce the problem on Solaris 10 sparc.
26843 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26845         dfa: improve worst-case 'replace' performance
26846         See my note in Bug#22357#71.
26847         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
26848         (merge_constrained): New function, which is like
26849         the old 'merge' function, except with a new argument C2.
26850         Simplify the body by avoiding the need for different sections
26851         of code depending on whether one input is exhausted.
26852         (merge): Use the new function.
26853         (delete): Return the constraint of the deleted position,
26854         not the entire position.  Caller changed.
26855         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
26857 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26859         dfa: performance improvement for removal of epsilon closure
26860         See Bug#22357#32.
26861         * lib/dfa.c (delete): Use binary search to find deleted index.
26862         (replace): New function.  It replaces a position with the followed set.
26863         (epsclosure): Replace it with a new algorithm.  Update caller.
26865 2016-12-18  Bruno Haible  <bruno@clisp.org>
26867         Split tests for getopt-posix and getopt-gnu.
26868         * tests/test-getopt-posix.c: New file.
26869         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
26870         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
26871         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
26872         GNULIB_TEST_GETOPT_GNU.
26873         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
26874         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
26875         (Makefile.am): Test test-getopt-posix instead of test-getopt.
26876         * modules/getopt-gnu-tests: New file.
26877         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
26879 2016-12-18  Bruno Haible  <bruno@clisp.org>
26881         posix-modules: Add options for specific platforms.
26882         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
26883         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
26884         Invoke func_tmpdir. Filter out the excludes.
26886 2016-12-18  Bruno Haible  <bruno@clisp.org>
26888         getopt: Fix link error for users of getopt() in <unistd.h>.
26889         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
26890         __need_getopt is defined. Undefine all macros before defining them.
26891         * modules/getopt (Include): Clarify that including <unistd.h> is also
26892         OK.
26893         * tests/test-getopt.c: Add comment.
26895 2016-12-17  Bruno Haible  <bruno@clisp.org>
26897         getaddrinfo tests: Avoid compilation error on MSVC.
26898         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
26899         getaddrinfo on native Windows.
26901 2016-12-17  Bruno Haible  <bruno@clisp.org>
26903         getlogin, getlogin_r: Fix link errors on MSVC.
26904         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
26905         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
26906         (Link): New section.
26907         * modules/getlogin_r (Files): Add m4/getlogin.m4.
26908         (configure.ac): Require gl_LIB_GETLOGIN.
26909         (Link): New section.
26910         * NEWS: Mention the new link requirements.
26911         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
26912         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
26914 2016-12-17  Bruno Haible  <bruno@clisp.org>
26916         Un-deprecate the 'progname' module.
26917         * NEWS: Describe the appropriate use-cases of 'progname' versus
26918         'getprogname'. Based on discussion summary at
26919         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
26921 2016-12-17  Bruno Haible  <bruno@clisp.org>
26923         Reorganize NEWS a bit.
26924         * NEWS: Move some not so important changes away from section
26925         "Important Notes".
26927 2016-12-17  Bruno Haible  <bruno@clisp.org>
26929         tanhf: Avoid redefinition error on MSVC.
26930         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
26931         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
26932         may be defined as an inline function.
26933         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
26934         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
26936 2016-12-17  Bruno Haible  <bruno@clisp.org>
26938         tanf: Avoid redefinition error on MSVC.
26939         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
26940         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
26941         may be defined as an inline function.
26942         * modules/math (Makefile.am): Substitute REPLACE_TANF.
26943         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
26945 2016-12-17  Bruno Haible  <bruno@clisp.org>
26947         sqrtf: Avoid redefinition error on MSVC.
26948         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
26949         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
26950         may be defined as an inline function.
26951         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
26952         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
26954 2016-12-17  Bruno Haible  <bruno@clisp.org>
26956         sinhf: Avoid redefinition error on MSVC.
26957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
26958         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
26959         may be defined as an inline function.
26960         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
26961         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
26963 2016-12-17  Bruno Haible  <bruno@clisp.org>
26965         sinf: Avoid redefinition error on MSVC.
26966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
26967         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
26968         may be defined as an inline function.
26969         * modules/math (Makefile.am): Substitute REPLACE_SINF.
26970         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
26972 2016-12-17  Bruno Haible  <bruno@clisp.org>
26974         logf: Avoid redefinition error on MSVC.
26975         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
26976         may be defined as an inline function.
26978 2016-12-17  Bruno Haible  <bruno@clisp.org>
26980         log10l: Avoid redefinition error on MSVC.
26981         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
26982         may be defined as an inline function.
26984 2016-12-17  Bruno Haible  <bruno@clisp.org>
26986         log10f: Avoid redefinition error on MSVC.
26987         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
26988         may be defined as an inline function.
26990 2016-12-17  Bruno Haible  <bruno@clisp.org>
26992         hypotl: Avoid redefinition error on MSVC.
26993         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
26994         may be defined as an inline function.
26996 2016-12-17  Bruno Haible  <bruno@clisp.org>
26998         hypotf: Avoid redefinition error on MSVC.
26999         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
27000         may be defined as an inline function.
27002 2016-12-17  Bruno Haible  <bruno@clisp.org>
27004         fmodl: Avoid redefinition error on MSVC.
27005         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
27006         may be defined as an inline function.
27008 2016-12-17  Bruno Haible  <bruno@clisp.org>
27010         fmodf: Avoid redefinition error on MSVC.
27011         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
27012         may be defined as an inline function.
27014 2016-12-17  Bruno Haible  <bruno@clisp.org>
27016         expf: Avoid redefinition error on MSVC.
27017         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
27018         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
27019         may be defined as an inline function.
27020         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
27021         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
27023 2016-12-17  Bruno Haible  <bruno@clisp.org>
27025         coshf: Avoid redefinition error on MSVC.
27026         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
27027         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
27028         may be defined as an inline function.
27029         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
27030         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
27032 2016-12-17  Bruno Haible  <bruno@clisp.org>
27034         cosf: Avoid redefinition error on MSVC.
27035         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
27036         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
27037         may be defined as an inline function.
27038         * modules/math (Makefile.am): Substitute REPLACE_COSF.
27039         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
27041 2016-12-17  Bruno Haible  <bruno@clisp.org>
27043         atan2f: Avoid redefinition error on MSVC.
27044         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
27045         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
27046         may be defined as an inline function.
27047         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
27048         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
27050 2016-12-17  Bruno Haible  <bruno@clisp.org>
27052         atanf: Avoid redefinition error on MSVC.
27053         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
27054         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
27055         may be defined as an inline function.
27056         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
27057         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
27059 2016-12-17  Bruno Haible  <bruno@clisp.org>
27061         asinf: Avoid redefinition error on MSVC.
27062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
27063         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
27064         may be defined as an inline function.
27065         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
27066         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
27068 2016-12-17  Bruno Haible  <bruno@clisp.org>
27070         acosf: Avoid redefinition error on MSVC.
27071         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
27072         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
27073         may be defined as an inline function.
27074         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
27075         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
27077 2016-12-17  Bruno Haible  <bruno@clisp.org>
27079         Avoid redefinition errors on MSVC.
27080         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
27081         the function may be defined as an inline function.
27082         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
27083         the function may be defined as an inline function.
27085 2016-12-17  Bruno Haible  <bruno@clisp.org>
27087         Avoid redefinition errors on MSVC.
27088         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
27089         * lib/unistd.in.h: Include <stdio.h> when necessary.
27091 2016-12-17  Bruno Haible  <bruno@clisp.org>
27093         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
27094         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
27095         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
27096         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
27097         WINT_MAX.
27099 2016-12-17  Bruno Haible  <bruno@clisp.org>
27101         Avoid autoconf warning.
27102         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
27103         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
27105 2016-12-17  Bruno Haible  <bruno@clisp.org>
27107         fpending: Revert workaround against Emacs bug.
27108         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
27109         The Emacs bug is fixed by Eli Zaretskii in
27110         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
27112 2016-12-17  Bruno Haible  <bruno@clisp.org>
27114         getlogin_r tests: Port to mingw.
27115         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
27116         regression introduced on 2014-05-19.
27118 2016-12-17  Bruno Haible  <bruno@clisp.org>
27120         getlogin: Port to newer mingw.
27121         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
27122         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
27123         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
27124         HAVE_GETLOGIN.
27125         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
27126         HAVE_GETLOGIN.
27127         * doc/posix-functions/getlogin.texi: Mention the issue.
27128         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
27129         regression introduced on 2014-05-14.
27131 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
27133         builtin-expect: improve port to IBM XL C
27134         Problem reported for z/OS by Daniel Richard G. in:
27135         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
27136         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
27137         Test for <builtins.h> directly.
27139         builtin-expect: port to IBM XL C
27140         Problem reported for z/OS by Daniel Richard G. in:
27141         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
27142         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
27143         Also allow __builtin_expect defined via a standard include file.
27145         regex: fix dependency
27146         Problem reported by Bruno Haible in:
27147         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
27148         * modules/regex: Depend on builtin-expect.
27150         builtin-expect: new module
27151         Fix fnmatch to use it.
27152         Problem reported for z/OS by Daniel Richard G.
27153         * lib/fnmatch.c (__builtin_expect):
27154         * lib/glob.c (__builtin_expect):
27155         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
27156         * lib/memmem.c (__builtin_expect) [!_LIBC]:
27157         * lib/scandir.c (__builtin_expect):
27158         * lib/strstr.c (__builtin_expect) [!_LIBC]:
27159         Remove macro; config.h now does this.
27160         * lib/gl_anytreehash_list1.h (add_to_bucket):
27161         * lib/regex_internal.h (BE):
27162         Assume __builtin_expect.
27163         * m4/builtin-expect.m4, modules/builtin-expect: New files.
27164         * modules/avltreehash-list, modules/fnmatch, modules/glob:
27165         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
27166         * modules/scandir, modules/strstr-simple:
27167         Depend on builtin-expect.
27169 2016-12-15  Bruno Haible  <bruno@clisp.org>
27171         init.sh: Add possibility to not delete temporary files.
27172         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
27173         to yes, don't erase the temporary directory.
27175 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
27177         regex: fix integer-overflow bug in never-used code
27178         Problem reported by Clément Pit–Claudel in:
27179         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
27180         * lib/regex_internal.h: Include intprops.h.
27181         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
27182         behavior on integer overflow.
27183         * modules/regex (Depends-on): Add intprops.
27185         fpending: fix port to MinGW on Emacs
27186         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
27187         Problem reported by Eli Zaretskii in:
27188         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
27189         Is Plan 9 still a valid porting target, anyway?
27191 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27193         safe-alloc: use xalloc-oversized
27194         * lib/safe-alloc.c: Include xalloc-oversized.h.
27195         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
27196         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
27198         xalloc: do not exceed PTRDIFF_MAX
27199         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
27200         xalloc_oversized check, since objects larger than PTRDIFF_MAX
27201         bytes have pointer-subtraction problems.
27203         malloca: do not exceed PTRDIFF_MAX
27204         * lib/malloca.h: Include xalloc-oversized.
27205         (nmalloca): Use xalloc_oversized instead of rolling our own.
27206         * modules/malloca (Depends-on):
27207         * modules/relocatable-prog-wrapper (Depends-on):
27208         Add xalloc-oversized.
27210         quotearg: pacify GCC better
27211         * modules/quotearg (Depends-on): Add minmax, stdint.
27212         * lib/quotearg.c: Include minmax.h, stdint.h.
27213         (nslots): Now int, as there seems little point to going to extra
27214         work merely to support the INT_MAX slot, which nobody ever uses.
27215         (quotearg_n_options): Redo size-overflow checks to pacify GCC
27216         and to catch (mostly-theoretical) ptrdiff_t problems too.
27217         This can be done via one comparison.
27219 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
27221         xalloc-oversized: check for PTRDIFF_MAX too
27222         This avoids undefined behavior when subtracting pointers to
27223         objects containing more than PTRDIFF_MAX bytes.
27224         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
27225         Also return 1 if the result would exceed PTRDIFF_MAX>
27226         * modules/xalloc-oversized (Depends-on):
27227         Add stdint.
27229         dfa: fix glitches in previous commit
27230         Sorry, I don't know how I managed to commit the wrong version.
27231         * lib/dfa.c (MIN): Move up.
27232         (xpalloc): Now static.
27234         dfa: fix some unlikely integer overflows
27235         I found these while reviewing the recent Coverity-related fix.
27236         This patch changes part of dfa.c to prefer ptrdiff_t instead of
27237         size_t for object counts.  Using ptrdiff_t is the style typically
27238         used in Emacs; although it wastes a sign bit as sizes can never be
27239         negative, it makes -fsanitize=undefined more likely to catch
27240         integer overflows in index calculation, and nowadays the upside is
27241         typically more important than the downside.  Although perhaps the
27242         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
27243         of dfa.c already does, since it uses state_num which is signed),
27244         that is a bigger change and is not needed to fix the bugs I found.
27245         * lib/dfa.c: Include stdint.h and intprops.h.
27246         (TOKEN_MAX): New macro.
27247         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
27248         (charclass_index, parse_bracket_exp, addtok, insert, merge)
27249         (realloc_trans_if_necessary, free_mbdata):
27250         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
27251         This is safe because xpalloc checks that the sizes do not exceed
27252         either SIZE_MAX or PTRDIFF_MAX.
27253         (xpalloc): New function, mostly taken from Emacs.
27254         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
27255         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
27256         (charclass_index): Check for integer overflow in computing
27257         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
27258         added to it later.
27259         (alloc_position_set): Check for integer overflow.  On typical
27260         platforms this check has zero overhead, since the constant
27261         expression is false.
27262         (realloc_trans_if_necessary):
27263         Remove assertion, which I hope Coverity no longer needs.
27265         * modules/dfa (Depends-on): Add intprops, stdint.
27267 2016-12-12  Jim Meyering  <meyering@fb.com>
27269         dfa: add an assertion to avoid coverity false positive
27270         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
27271         warned that "newalloc1 - 2" could overflow.
27273 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
27275         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
27276         * dfa.h (DFA_CASE_FOLD): Remove.
27277         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
27279 2016-12-13  John W. Eaton  <gnu@jweaton.org>
27281         link: fix test to declare use of rename()
27282         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
27283         -Werror=implicit-function-declaration
27285 2016-12-12  Bruno Haible  <bruno@clisp.org>
27287         fpending: Port to native Windows with MSVC.
27288         * lib/fpending.c: Include stdio-impl.h.
27289         (__fpending): Include all known implementations. Err out if it's not
27290         ported.
27291         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
27292         * modules/fpending (Files): Add lib/stdio-impl.h.
27293         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
27295 2016-12-12  Bruno Haible  <bruno@clisp.org>
27297         stdioext: Port to native Windows with MSVC.
27298         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
27299         (struct _gl_real_FILE): New type.
27300         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
27301         Windows.
27302         * lib/fbufmode.c (fbufmode): Add code for native Windows.
27303         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
27304         other SystemV derived implementations.
27305         * lib/fpurge.c (fpurge): Likewise.
27306         * lib/freadable.c (freadable): Likewise.
27307         * lib/freadahead.c (freadahead): Likewise.
27308         * lib/freading.c (freading): Likewise.
27309         * lib/freadptr.c (freadptr): Likewise.
27310         * lib/freadseek.c (freadptrinc): Likewise.
27311         * lib/fseeko.c (fseeko): Likewise.
27312         * lib/fseterr.c (fseterr): Likewise.
27313         * lib/fwritable.c (fwritable): Likewise.
27314         * lib/fwriting.c (fwriting): Likewise.
27315         Reported by Gisle Vanem <gvanem@yahoo.no>.
27317 2016-12-11  Jim Meyering  <meyering@fb.com>
27319         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
27320         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
27321         to work with most shells, but not with the one provided by many
27322         Solaris 10 systems, so running configure with such a /bin/sh evokes
27323         e.g., "./configure: syntax error at line 33602: `(' unexpected".
27324         Reported by Assaf Gordon in
27325         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
27327 2016-12-10  Bruno Haible  <bruno@clisp.org>
27329         threadlib: Optimize out runtime test on Solaris >= 10.
27330         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
27331         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
27332         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
27334 2016-12-10  Bruno Haible  <bruno@clisp.org>
27336         stdint: Update doc about Solaris 9.
27337         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
27339 2016-12-09  Bruno Haible  <bruno@clisp.org>
27341         c-ctype tests: Fix link error on Solaris 9.
27342         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
27343         Reported at <https://savannah.gnu.org/bugs/?46827>.
27345 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
27347         dfa: fix performance bug that recomputes trans
27348         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
27349         25 on-demand changes.  The bug caused build_state to reset all
27350         d->trans elements to -2 even when d->trans was already non-null.
27351         Use C99 style decls after statements in this function.
27353         same-inode: port to MinGW
27354         Here st_ino is always 0, so change the definition of SAME_INODE so
27355         that 1 means the two files are the same, 0 with st_ino != 0 means
27356         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
27357         reported by Bruno Haible (Bug#25146).
27358         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
27359         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
27361 2016-12-04  Bruno Haible  <bruno@clisp.org>
27363         javacomp-script: Support Java 7 and 8.
27364         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
27365         target-version 1.7, 1.8.
27367 2016-12-02  Daiki Ueno  <ueno@gnu.org>
27369         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
27370         GPLv2" rewriting.
27372 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
27374         * gnulib-tool (func_import): Adhere to the license guideline when
27375         rewriting the license text to "LGPLv3+ or GPLv2":
27376         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
27378 2016-12-02  Bruno Haible  <bruno@clisp.org>
27380         localcharset: Avoid theoretical buffer overrun.
27381         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
27382         return value from setlocale if it would lead to a buffer overrun.
27384 2016-12-01  Bruno Haible  <bruno@clisp.org>
27386         Relicense some modules under LGPLv2+.
27387         Kevin Cernekee's approval is in
27388         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
27389         * modules/fseterr (License): Change to LGPLv2+.
27390         * modules/mbchar (License): Likewise.
27391         * modules/mbiter (License): Likewise.
27392         * modules/mbsnlen (License): Likewise.
27393         * modules/wcwidth (License): Likewise.
27395 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27397         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
27398         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
27399         OS/2 kLIBC.
27401 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27403         alphasort, scandir: Port to OS/2 kLIBC
27404         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
27405         declaration.
27406         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
27408 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27410         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
27411         * lib/relocatable.c (relocate): Do not touch pathname if it is started
27412         with '/@unixroot'.
27414 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27416         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
27417         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
27418         OS/2 kLIBC unless TCPV40HDRS is defined.
27420 2016-11-29  Jim Meyering  <meyering@fb.com>
27422         dfa: avoid new infinite loop
27423         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
27424         * lib/dfa.c (dfastate): When constructing a new state table, we could
27425         initially declare that we had found a match, and later find that
27426         constraints eliminate that possibility, yet continue to use the
27427         now stale "matched" indicator.  That would lead to an infinite loop.
27428         The solution is to update "matched" when necessary.
27429         Introduced by commit v0.1-983-g403adf1.
27431 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27433         dfa: avoid match middle in multibyte character
27434         * lib/dfa.c (transit_state): If fails in matching single byte characters
27435         on a state including period expression in non-UTF8 multibyte locales,
27436         skip trailing bytes.
27437         (dfa_supported): Revert previous change.
27439 2016-11-27  Jim Meyering  <meyering@fb.com>
27441         dfa: avoid false match in non-UTF8 multibyte locales
27442         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
27443         as "not supported" so that callers will resort to using regex-based
27444         matcher.  This will surely hurt performance, but correctness trumps
27445         performance here, and the affected locales are less and less relevant,
27446         these days.  See grep's bug report https://bugs.gnu.org/24975.
27448 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
27450         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
27451         * lib/ptsname_r.c: Include the appropriate headers.
27452         [__sun]: Delete sys/sysmacros.h include.
27453         [_AIX || __osf__]: Likewise.
27454         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
27456 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27458         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
27459         * lib/md4.c (md4_process_bytes): The existing define is made internal
27460         in recent versions of glibc, so also use this new public define.
27461         * lib/md5.c (md5_process_bytes): Likewise.
27462         * lib/sha1.c (sha1_process_bytes): Likewise.
27463         * lib/sha256.c (sha256_process_bytes): Likewise.
27464         * lib/sha512.c (sha512_process_bytes): Likewise.
27466 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27468         maint: use a more standard return from mbrtowc test
27469         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
27470         from the test program as this often indicates an
27471         unhandled case in the test program.
27472         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
27473         (gl_MBRTOWC_SANITYCHECK): Likewise.
27474         (gl_MBRTOWC_NULL_ARG2): Likewise.
27475         (gl_MBRTOWC_NUL_RETVAL): Likewise.
27477 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
27479         freopen: work around glibc bug with closed fd
27480         Work around glibc bug#15589, where freopen mishandles the case
27481         where stdin etc. are already closed.
27482         * doc/posix-functions/freopen.texi (freopen): Document the bug.
27483         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
27484         instead of __need_FILE, as the latter does not work with glibc.
27485         Include <fcntl.h>, for open flags.
27486         (rpl_freopen): Work around glibc bug.
27487         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
27488         * modules/freopen (Depends-on): Add fcntl-h.
27489         * tests/test-freopen.c (main): Test for bug.
27491 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27493         fnmatch: fix typo introduced on 2016-08-17
27494         This fixes the port to non-GCC compilers that lack __builtin_expect.
27495         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
27497         dfa: simplify with new function fillset
27498         * lib/dfa.c (fillset): New function.
27499         Use it for clarity when applicable.
27501         dfa: fix glitches with on-demand states
27502         Also, adjust commentary to better match new code.
27503         Some of these glitches predate the recent change.
27504         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
27505         only non-initial states.
27506         (dfastate): Rename locals to better match new roles.
27507         Move them into nested scopes if this is easy.
27508         Omit unnecessary calls to zeroset.
27509         Simplify test for whether to throw in the positions of state 0.
27510         Omit C99-ism (decl after statement) since Gawk still wants C89.
27511         (build_state): Omit unnecessary test and assignment.
27512         Fix some confusion that counted transition tables inaccurately
27513         and could cause a memory leak.
27514         (dfaexec_main): Redo to make it clearer to the compiler that
27515         -1 and -2 are the only negative state numbers here.
27517 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27519         dfa: addition of new state on demand
27520         * src/dfa.c (dfastate): Add argument UC, the current input character.
27521         Fill only a group including the character in transition table.
27522         (realloc_trans_if_necessary): Add the dummy state which means that a
27523         transition table is assigned but the next state is not assigned.
27524         (build_state): Return the next state.  All callers updated.
27525         (transit_state_singlebyte): If we get the dummy state,
27526         fill the transition table.
27527         (dfaexec_main): Handle the dummy state.
27528         (free_mbdata, dfafree): Consider the dummy state.
27530 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27532         srclist: sync with released gettext
27533         * config/srclist.txt: Set "release" option to the files under
27534         $GETTEXT.
27536 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27538         srclist: add "release" option
27539         * config/srclist.txt: Change the format so that the first column
27540         of each line points to the top-level directory of the source
27541         archive.
27542         * config/srclist-update: Accept "release" option that checks files
27543         from the most recently tagged revision in the source archive.
27545 2016-11-21  Bruno Haible  <bruno@clisp.org>
27547         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
27548         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27549         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
27550         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
27551         Inline and remove member function 'rpl ()' of the wrapper struct.
27553 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
27555         dfa: fix logic typo
27556         Problem reported by Stephane Chazelas (Bug#24973).
27557         * lib/dfa.c (using_simple_locale): Fix typo that caused some
27558         non-simple locales like fr_FR to be treated as simple.
27560 2016-11-20  Jim Meyering  <meyering@fb.com>
27562         fix test driver leaks: exclude, malloc, realloc
27563         * tests/test-exclude.c (main): Fix trivial leak.
27564         * tests/test-malloc-gnu.c (main): Likewise.
27565         * tests/test-realloc-gnu.c (main): Likewise.
27566         With these changes, grep's tests are now leak free.
27567         I.e., running them with ASAN elicits no failure:
27568           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
27569             AM_LDFLAGS='-fsanitize=address -static-libasan' check
27571 2016-11-11  Bruno Haible  <bruno@clisp.org>
27573         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
27574         * modules/libunistring: (License): Change from LGPL to
27575         "LGPLv3+ or GPLv2".
27576         * modules/libunistring-optional: Likewise.
27577         * modules/unicase/*: Likewise.
27578         * modules/uniconv/*: Likewise.
27579         * modules/unictype/*: Likewise.
27580         * modules/unigbrk/*: Likewise.
27581         * modules/unilbrk/*: Likewise.
27582         * modules/uniname/*: Likewise.
27583         * modules/uninorm/*: Likewise.
27584         * modules/unistdio/*: Likewise.
27585         * modules/unistr/*: Likewise.
27586         * modules/uniwbrk/*: Likewise.
27587         * modules/uniwidth/*: Likewise.
27589 2016-11-12  Bruno Haible  <bruno@clisp.org>
27591         Relicense some modules under LGPLv2+.
27592         Paul Eggert's approval is in
27593         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
27594         Eric Blake's approval is in
27595         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
27596         Ludovic Courtès's approval is in
27597         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
27598         * modules/isnand-nolibm (License): Change to LGPLv2+.
27599         * modules/isnanf-nolibm (License): Likewise.
27600         * modules/isnanl-nolibm (License): Likewise.
27602 2016-11-19  Bruno Haible  <bruno@clisp.org>
27604         Relicense some modules under LGPLv2+.
27605         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
27606         modules/vasnprintf.
27607         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
27608         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
27609         All other significant changes to the files in lib/ of these modules
27610         are from me.
27611         * modules/memcmp2 (License): Change to LGPLv2+.
27612         * modules/amemxfrm (License): Likewise.
27613         * modules/fpieee (License): Likewise.
27614         * modules/fpucw (License): Likewise.
27615         * modules/frexp-nolibm (License): Likewise.
27616         * modules/frexpl-nolibm (License): Likewise.
27617         * modules/printf-frexp (License): Likewise.
27618         * modules/printf-frexpl (License): Likewise.
27619         * modules/printf-safe (License): Likewise.
27620         * modules/signbit (License): Likewise.
27622 2016-11-17  Bruno Haible  <bruno@clisp.org>
27624         Enable Unicode decoder safety unconditionally.
27625         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
27626         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
27627         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27628         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27629         * lib/unistr/u8-prev.c (u8_prev): Likewise.
27630         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
27631         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
27632         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
27633         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
27634         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
27635         * lib/unistr/u16-prev.c (u16_prev): Likewise.
27636         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
27637         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
27638         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
27639         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
27640         * lib/unistr/u32-prev.c (u32_prev): Likewise.
27641         * lib/unistr/u32-next.c (u32_next): Likewise.
27642         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
27643         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
27644         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27645         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
27646         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
27647         CONFIG_UNICODE_SAFETY tests unconditionally.
27648         * tests/unistr/test-u32-mblen.c (main): Likewise.
27649         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
27650         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
27651         * tests/unistr/test-u32-next.c (main): Likewise.
27652         * tests/unistr/test-u32-strmblen.c (main): Likewise.
27653         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
27654         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
27655         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
27656         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
27657         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27658         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
27659         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
27660         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
27661         * lib/unistr/u16-check.c (u16_check): Update comment.
27662         * NEWS: Mention the changes that callers should be aware of.
27664 2016-11-19  Bruno Haible  <bruno@clisp.org>
27666         relocatable-prog-wrapper: Fix breakage on Cygwin.
27667         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
27668         (Depends-on): Remove intprops.
27669         * lib/relocwrapper.c: Update dependency tree.
27670         (strerror): Undefine.
27671         * build-aux/install-reloc (func_create_wrapper): Do not compile
27672         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
27674 2016-11-19  Bruno Haible  <bruno@clisp.org>
27676         strerror: Make it compile in C++ mode.
27677         * lib/strerror.c (strerror): Ignore the return value of memcpy().
27679 2016-11-15  Pedro Alves  <palves@redhat.com>
27681         sys_time: add gnulib::timeval for C++
27682         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
27683         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
27684         timeval macro.
27686 2016-11-14  Pedro Alves  <palves@redhat.com>
27688         snippet/c++defs: fix real-floating arg functions in C++ mode
27689         Also, define isfinite, isinf, isnan, signbit in the gnulib
27690         namespace instead of in the global namespace.
27691         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
27692         (_GL_END_NAMESPACE): New.
27693         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
27694         (isfinite, isinf, isnan, signbit) [__cplusplus &&
27695         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
27696         instead of in the global namespace.
27697         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
27698         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
27699         of in the global namespace.
27701 2016-11-13  Jim Meyering  <meyering@fb.com>
27703         strftime: don't use __THROW
27704         Each use of __THROW would provoke this from gcc-7-to-be:
27706           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
27707             on unit local functions [-Wattributes]
27708           static int iso_week_days (int, int) __THROW;
27709           ^~~~~~
27710         * lib/strftime.c (__THROW): Don't define.
27711         Remove each use of __THROW.
27712         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
27713         (tm_diff, iso_week_days, __strftime_internal): Likewise.
27715 2016-11-14  Paul Eggert  <eggert@union>
27717         obstack: port to gcc -fcheck-pointer-bounds
27718         Problem found by 'make check' failure on bleeding-edge coreutils
27719         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
27720         6.2.0-5ubuntu12), configured via "./configure
27721         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
27722         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
27723         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
27724         New macro, copied from fts_.h.
27725         (struct _obstack_chunk.contents): Use it.
27727 2016-11-14  Eric Blake  <eblake@redhat.com>
27729         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
27730         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
27731         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
27733 2016-11-14  Pádraig Brady  <P@draigBrady.com>
27735         strptime: fix compile error in recent change
27736         * lib/strptime.c (__strptime_internal): Fix ported code.
27738 2016-11-11  Bruno Haible  <bruno@clisp.org>
27740         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
27741         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
27742         (func_import): Extend determination of license_incompatibilities.
27743         (func_create_testdir): Extend table of license compatibility. Handle
27744         also the licenses GPLv3+, GPL, LGPLv3+.
27746 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
27748         strftime: tune %q
27749         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
27751         Merge strftime.c changes from glibc
27752         This incorporates:
27753         2007-10-16 [BZ #5184] Add tzset_called argument
27754         2008-06-13 [BZ #6612] pass reference to tzset_called around
27755         2009-10-30 Implement Burmese language locale for Myanmar
27756         2010-01-09 Add support for XPG7 testing
27757         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
27758         2015-10-20 Convert miscellaneous function definitions to prototype style
27759         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
27760         it anyway and this lessens the difference between gnulib and glibc.
27761         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
27762         (__THROW): Define if standard headers do not.
27763         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
27764         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
27765         Declare with __THROW.
27766         (__strftime_internal): Rename from strftime_case_. Add arg for
27767         whether tzset is called.  All uses changed.  Call tzset at most
27768         once.  Allow %OC, for Burmese.
27769         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
27770         Don't assume values are in range.
27772 2016-11-12  Eric Blake  <eblake@redhat.com>
27774         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
27775         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
27776         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
27777         different value.
27779 2006-11-12  Pedro Alves  <palves@redhat.com>
27781         Fix gnulib C++ namespace support and std::frexp
27782         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
27783         _GL_CXXALIASWARN.
27785 2006-11-12  Pedro Alves  <palves@redhat.com>
27787         GNULIB_NAMESPACE::func need not pull in rpl_func
27788         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27789         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
27790         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
27791         struct instead of a function pointer.
27793 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
27795         manywarnings: fix -Wno-missing-field-initializers detection
27796         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
27797         to be independent of -Wunused-variable.  I.E. ensure the latter
27798         warning doesn't occur so that detection of the former is accurate.
27800 2016-11-05  Pádraig Brady  <pbrady@fb.com>
27802         strftime,strptime: support %q to represent the quarter
27803         * lib/strftime.c (strftime_case_): Add %q case.
27804         * lib/strptime.c (__strptime_internal): Likewise.
27805         * tests/test-strftime.c (quarter_test): A new test case.
27807 2016-11-03  Eric Blake  <eblake@redhat.com>
27809         bootstrap: Fix get_version() for AIX 5.3
27810         * build-aux/bootstrap (get_version): Factor out sed script, since
27811         indented comments choke AIX 5.3 sed.
27812         Reported-by: Michael Felt <aixtools@gmail.com>
27814 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27816         intprops: port to older XL C
27817         Problem reported by Alexander Samoilov in:
27818         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
27819         http://savannah.nongnu.org/bugs/?49448
27820         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
27821         Define to 1 only for XL C 12.1 or later, since this bug
27822         occurs in XL C for AIX 6.0 but not in 12.1.
27824 2016-11-02  Pádraig Brady  <P@draigBrady.com>
27826         backupfile: initialize default suffix within the implementation
27827         * lib/backupfile.c (find_backup_file_name): Initialize the
27828         global variable here, to simplify usage, and to only call
27829         getenv() when needed.
27831 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27833         futimens: remove FIXME for old Linux kernels
27834         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
27835         this in 2012" FIXME, like that for utimensat.
27837         utimensat: remove FIXME for old Linux kernels
27838         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
27839         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
27840         this in 2012" FIXME, by assuming the file system bug is absent
27841         unless demonstrated to be present.  We no longer need to worry
27842         about Linux kernel 2.6.32 when building with newer kernels.
27844 2016-10-16  Bruno Haible  <bruno@clisp.org>
27846         qsort_r: Fix macrology for platforms that lack the function.
27847         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
27848         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
27849         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
27850         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
27851         not exist.
27852         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
27853         the function exists.
27854         * modules/qsort_r: Add comments.
27856 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27858         sys_types: fix Texinfo typos
27859         * doc/glibc-functions/gnu_dev_major.texi:
27860         * doc/glibc-functions/gnu_dev_makedev.texi:
27861         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
27863 2016-10-26  John David Anglin  <dave.anglin@bell.net>
27865         getprogname: port to HP-UX
27866         See Bug#24805.
27867         * lib/getprogname.c (getprogname) [__hpux]: Port.
27868         * tests/test-getprogname.c (STREQ) [__hpux]:
27869         Special-case for HP-UX limitations on program name length.
27871 2016-10-20  Bruno Haible  <bruno@clisp.org>
27873         Update doc about target platforms.
27874         * doc/gnulib-intro.texi (Target Platforms): Update list.
27876 2016-10-15  Bruno Haible  <bruno@clisp.org>
27878         opendir, readdir, closedir: Relicense under LGPLv2+.
27879         * modules/opendir (License): Change to LGPLv2+.
27880         * modules/readdir (License): Likewise.
27881         * modules/closedir (License): Likewise.
27883 2016-10-16  Bruno Haible  <bruno@clisp.org>
27885         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
27886         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
27887         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
27888         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
27889         HAVE_DECL_STRERROR_R.
27891 2016-10-16  Bruno Haible  <bruno@clisp.org>
27893         Make the 'argp' module work without the 'error' module.
27894         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
27896 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
27898         diffseq: restore TOO_EXPENSIVE heuristic
27899         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
27900         (Bug#24715).  The simplest solution is to restore the
27901         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
27902         using a higher threshold to avoid Bug#16848 on smaller files.
27903         * lib/diffseq.h (struct context): Restore member too_expensive.
27904         (struct partition): Restore members lo_minimal, hi_minimal.
27905         (diag, compareseq): Restore arg find_minimal.  All uses changed.
27906         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
27907         1993 to make 'diff' run faster (but not as well) on large inputs,
27908         but use a threshold of 4096 instead of the old 256.
27909         * lib/fstrcmp.c (strcmp_bounded):
27910         * lib/git-merge-changelog.c (compute_differences):
27911         Adjust to diffseq.h changes.
27913 2016-10-22  Bruno Haible  <bruno@clisp.org>
27915         iconv: Avoid compilation error when bootstrapping GNU libiconv.
27916         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
27917         declaration yet, define ICONV_CONST to empty.
27919 2016-10-15  Bruno Haible  <bruno@clisp.org>
27921         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
27922         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
27923         module.
27925 2016-10-16  Bruno Haible  <bruno@clisp.org>
27927         system-quote tests: Avoid compiler warning on AIX.
27928         * tests/test-system-quote-child.c (fopen): Redefine like the system's
27929         <stdio.h> does.
27931 2016-10-16  Bruno Haible  <bruno@clisp.org>
27933         Fix some "gcc -Wall" warnings.
27934         * tests/test-ffsl.c (main): Use variable x, not i.
27935         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
27936         freopen.
27937         * tests/test-sethostname1.c (main): Explicitly ignore the return value
27938         of sethostname.
27940 2016-10-16  Bruno Haible  <bruno@clisp.org>
27942         gnulib-tool: Make --create-testdir on all modules work again.
27943         * gnulib-tool (func_create_testdir): Don't include the
27944         non-recursive-gnulib-prefix-hack module.
27946 2016-10-21  Daiki Ueno  <ueno@gnu.org>
27948         libunistring: change the maintainer to 'all'
27949         * modules/gen-uni-tables, modules/libunistring:
27950         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
27951         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
27952         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
27953         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
27954         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
27955         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
27956         * modules/uniwidth/*: Change the maintainer to 'all'.
27958 2016-10-16  Bruno Haible  <bruno@clisp.org>
27960         Simplify "configure: checking ..." messages.
27961         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
27962         AC_MSG_NOTICE.
27963         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27965 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
27967         quotearg-tests: pacify gcc -Wall
27968         Problem reported by Bruno Haible in:
27969         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
27970         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
27971         * tests/test-quotearg.h: ... from here.
27973 2016-10-20  Pádraig Brady  <P@draigBrady.com>
27975         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
27976         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
27977         Needed on Centos <= 4.
27979 2016-10-20  Jim Meyering  <meyering@fb.com>
27981         printf.m4: fix a bug in detecting printf %j support
27982         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
27983         uintmax_t is defined in neither stdint.h nor inttypes.h.
27984         Before, this macro might have mistakenly set
27985         gl_cv_func_printf_sizes_c99=yes on such a system.
27986         Spotted by Zev Weiss.
27988 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
27990         sched: substitute HAVE_SYS_CDEFS_H too
27991         Problem reported by Tom G. Christensen in:
27992         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
27993         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
27994         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
27996 2016-10-19  Pádraig Brady  <P@draigBrady.com>
27998         quotearg: never write beyond the returned length
27999         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
28000         scan of the string when we initially encounter a single quote when
28001         shell quoting, so that if we then switch to a more concise quoting method
28002         we will not have written beyond that returned length.
28003         This is significant for sh-quote, which has separate routines
28004         to determine the length and do the actual quoting.
28005         * tests/test-quotearg.h: Reinstate the buffer bounds checking
28006         now that we never write more than the returned length.
28008 2016-10-18  Bruno Haible  <bruno@clisp.org>
28010         getprogname tests: Avoid failure in packages that use libtool.
28011         * tests/test-getprogname.c (main): Strip "lt-" prefix.
28012         Based on a patch by Jim Meyering.
28014 2016-10-16  Bruno Haible  <bruno@clisp.org>
28016         getprogname: Fix test failure on Cygwin. Comments.
28017         * lib/getprogname.h: Add comments.
28018         * lib/getprogname.c: Add comments. Fix #elif indentation.
28019         * tests/test-getprogname.c (main): On Cygwin, expect a result without
28020         ".exe" suffix.
28022 2016-10-16  Bruno Haible  <bruno@clisp.org>
28024         Make sure the libunistring detection rejects older versions with a
28025         known bug.
28026         * modules/unistr/u8-strtok (configure.ac): Bump required version.
28027         * modules/unistr/u16-strtok (configure.ac): Likewise.
28028         * modules/unistr/u32-strtok (configure.ac): Likewise.
28030 2016-10-18  Bruno Haible  <bruno@clisp.org>
28032         sh-quote, system-quote: revert regression of unit test.
28033         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
28034         * tests/test-system-quote-main.c (check_one): Likewise.
28036 2016-10-16  Pádraig Brady  <P@draigBrady.com>
28038         quotearg: fix stale tests
28039         * tests/test-quotearg.c [locale_results]: Add the missing str7
28040         entries to the expected results.
28041         * tests/test-system-quote-main.c (check_one): Don't enforce that we
28042         don't write beyond the returned length, since that's no longer the
28043         case if we switch to a more concise quoting style.
28044         * tests/test-sh-quote.c (check_one): Likewise.
28045         (main): Adjust for the new more concise quoting style.
28046         Reported by Bruno Haible.
28048 2016-10-16  Jim Meyering  <meyering@fb.com>
28050         non-recursive-gnulib-prefix-hack: fix inconsequential typo
28051         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
28052         to "$1".  This macro is always invoked with $1 == lib.
28053         Spotted by Bruno Haible
28055 2016-10-16  Bruno Haible  <bruno@clisp.org>
28057         Fix a test crash.
28058         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
28059         fails.
28061 2016-10-16  Pádraig Brady  <P@draigBrady.com>
28063         test-limits-h: suppress -Woverlength-strings
28064         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
28066 2016-10-15  Bruno Haible  <bruno@clisp.org>
28068         gettime, timespec, utimens: Relicense under LGPL.
28069         * modules/gettime (License): Change to LGPL.
28070         * modules/timespec (License): Likewise.
28071         * modules/utimens (License): Likewise.
28073 2016-10-14  Bruno Haible  <bruno@clisp.org>
28074             Pádraig Brady  <P@draigBrady.com>
28076         canonicalize-lgpl: Support the case path_max > INT_MAX.
28077         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
28078         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
28080 2016-10-13  Jim Meyering  <meyering@fb.com>
28082         getprogname: IBM z/OS: avoid NULL-dereference
28083         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
28084         upon strdup failure.
28086 2016-10-12  Jim Meyering  <meyering@fb.com>
28088         test-stdint: use _GL_VERIFY rather than "verify" for some tests
28089         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
28090         and an abbreviated diagnostic rather than verify with the full one,
28091         because the full-length strings would evoke warnings from gcc with
28092         -Woverlength-strings.
28094 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28096         stdint: port SIZE_MAX to glibc s390
28097         Problem reported by Eric Blake in:
28098         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
28099         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
28100         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
28101         correct type, if possible.
28103 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
28105         getprogname: port to IBM z/OS
28106         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
28108 2016-10-11  Jim Meyering  <meyering@fb.com>
28110         maint: remove stray space after "." in AC_DEFINE comment.
28111         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
28112         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28114 2016-10-05  Jim Meyering  <meyering@fb.com>
28116         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
28117         * lib/long-options.c (parse_long_options): Add a break statement
28118         to avoid this new warning/failure:
28119         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
28120           --create-testdir --dir=/t/x --with-tests --test long-options
28121         ../../gllib/long-options.c: In function 'parse_long_options':
28122         ../../gllib/long-options.c:66:12: error: this statement may \
28123           fall through [-Werror=implicit-fallthrough]
28124                    (*usage_func) (EXIT_SUCCESS);
28125                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
28127 2016-10-05  Jim Meyering  <meyering@fb.com>
28129         utimecmp: avoid new GCC 7 warning from -Wbool-operation
28130         Testing this module would fail when using GCC 7 like this:
28131         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
28132           --dir=/tmp/x --with-tests --test utimecmp
28133         ../../gllib/utimecmp.c: In function ‘utimecmp’:
28134         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
28135           [-Werror=bool-operation]
28136                          time_t s = src_s & ~ (res == 2 * BILLION);
28137                                             ^
28138         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
28139           [-Werror=bool-operation]
28140                src_s &= ~ (res == 2 * BILLION);
28141                         ^
28142         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28143         Instead, make it explicit that we intend to apply it to 0 or 1.
28145 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
28147         dfa: save memory for states
28148         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
28149         states if dfa has a lot of caches.
28151 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
28153         wchar, wctype-h: fix for MinGW 3.22.2
28154         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
28155         special invocation, to fix issues with MinGW 3.22.2 wchar.h
28156         when included from <string.h>.
28157         * lib/wctype.in.h [__MINGW32__]: Add special invocation
28158         convention for MinGW 3.22.2, to solve issues with their
28159         wctype.h when included from <ctype.h>.
28161 2016-10-05  Jim Meyering  <meyering@fb.com>
28163         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
28164         * lib/long-options.c (parse_long_options): Add a break statement
28165         to avoid this new warning/failure:
28166         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
28167           --create-testdir --dir=/t/x --with-tests --test long-options
28168         ../../gllib/long-options.c: In function ‘parse_long_options’:
28169         ../../gllib/long-options.c:66:12: error: this statement may \
28170           fall through [-Werror=implicit-fallthrough]
28171                    (*usage_func) (EXIT_SUCCESS);
28172                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
28174         utimecmp: avoid new GCC 7 warning from -Wbool-operation
28175         Testing this module would fail when using GCC 7 like this:
28176         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
28177           --dir=/tmp/x --with-tests --test utimecmp
28178         ../../gllib/utimecmp.c: In function ‘utimecmp’:
28179         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
28180           [-Werror=bool-operation]
28181                          time_t s = src_s & ~ (res == 2 * BILLION);
28182                                             ^
28183         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
28184           [-Werror=bool-operation]
28185                src_s &= ~ (res == 2 * BILLION);
28186                         ^
28187         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28188         Instead, make it explicit that we intend to apply it to 0 or 1.
28190 2016-10-03  Pádraig Brady  <P@draigBrady.com>
28192         quotearg: minimize shell quoting using double quotes
28193         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
28194         quote in encountered then use double quotes (c style quoting)
28195         when possible, as it simplifies the quoting.
28196         * tests/test-quotearg-simple.c: Add test cases.
28197         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
28198         for the fact we now may write beyond the returned length.
28200 2016-10-02  Jim Meyering  <meyering@fb.com>
28202         vasnprintf.c: avoid spurious warning from GCC 7
28203         The presence of cpp directives renders this "FALLTHROUGH" comment
28204         ineffective, so does not suppress the -Wimplicit-fallthrough warning
28205         from GCC 7 built from git on 2016-10-02.
28206         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
28207         directives, so that it takes effect once again.  This is clearly
28208         not a proper change, and I will revert it once this bug is fixed:
28209         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
28211 2016-10-01  Jim Meyering  <meyering@fb.com>
28213         getprogname: correct the test for a __progname variable
28214         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
28215         and AC_LINK_IFELSE to check for a global __progname.  If found,
28216         define HAVE_VAR___PROGNAME.
28217         * lib/getprogname.c (getprogname): Reflect the new name of the
28218         feature- checked preprocessor symbol:
28219         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
28221 2016-09-28  Jim Meyering  <meyering@fb.com>
28223         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
28224         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
28225         fall-through case with a /* fallthrough */ comment.
28227         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
28228         * lib/dfa.c (dfassbuild): Mark the end of this case with a
28229         /* fallthrough */ comment.
28231         getprogname: avoid __progname vs program_invocation_short_name pitfall
28232         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
28233         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
28234         not with Fedora 24's glibc-2.23.1-10.
28235         * lib/getprogname.c (__progname): Move this declaration down...
28236         (getprogname): ... into the #elif block where used, and make it
28237         explicitly "extern".
28239         getprogname: port to OpenBSD 5.1
28240         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
28241         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
28242         * modules/getprogname (configure.ac): Move most of this code...
28243         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
28244         increment serial number, and add a test for __progname.
28245         https://bugs.gnu.org/24562
28246         Reported by Nelson H. F. Beebe.
28248 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
28250         sched: port to GCC 6.2.1 on macOS Sierra
28251         Problem reported by Denis Davydov in:
28252         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
28253         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
28254         Include <sys/cdefs.h> before <sched.h>.
28255         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
28256         so that we needn’t worry about the sched.h include bug here.
28257         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
28258         and include it before <sched.h> if it exists, when
28259         checking for <sched.h>.
28261         tests/init.sh: port Alpine fix to AIX 7.1
28262         * tests/init.sh (compare_): When attempting to use diff -U3,
28263         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
28264         diff -u not outputting a space after leading '+', as the users
28265         of 'compare' should not be that picky about its output format.
28266         In the AIX 7.1 case, return with diff exit status (or with 2 if
28267         trouble), instead of some random nonzero exit status.
28268         * tests/test-init.sh (test_compare): Remove space after leading
28269         '+', so that AIX 7.1 'diff' passes the test.
28271 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
28273         nl_langinfo: pacify GCC
28274         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
28275         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
28277         stdint: also set GL_GENERATE_LIMITS_H
28278         Problem reported by Jim Meyering in:
28279         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
28280         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
28282         limits-h, stdint: Don't assume extensions, fix typo
28283         * m4/limits-h.m4 (gl_LIMITS_H):
28284         * m4/stdint.m4 (gl_STDINT_H):
28285         Don't assume AC_USE_SYSTEM_EXTENSIONS.
28286         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
28287         reported by Jim Meyering in:
28288         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
28290 2016-09-21  Jim Meyering  <meyering@fb.com>
28292         getprogname: port to AIX
28293         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
28294         and strdup to obtain a short program name string.  Using code from
28295         Bruno Haible and an idea from Bastien ROUCARIÈS, in
28296         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
28297         Assaf Gordon reported that this new file would fail to compile on
28298         AIX-7.1 32bit.
28300 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
28302         extensions: fix typo in comment
28303         * m4/extensions.m4: Sync from Autoconf master.
28305         stdint: support new _WIDTH macros
28306         * doc/posix-headers/stdint.texi: Document this.
28307         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
28308         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
28309         support for INTMAX_WIDTH, etc. as well as for support for just C99.
28310         * modules/stdint (Depends-on): Add limits-h.
28311         (Makefile.am): Substitute HAVE_C99_STDINT_H.
28312         * modules/stdint-tests (Depends-on): Add extensions, so that
28313         INTMAX_MAX etc. are defined.
28314         * tests/test-stdint.c: Verify the new macros.
28316         limits-h: new module
28317         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
28318         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
28319         * doc/posix-headers/limits.texi: Document new module.
28320         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
28321         * modules/limit-h-tests, tests/test-limits-h.c: New files.
28323         stdio: don't redefine __USE_MINGW_ANSI_STDIO
28324         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
28325         if it is already defined.  Apparently GNU Emacs relies on this.  See:
28326         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
28328 2016-09-15  Eric Blake  <eblake@redhat.com>
28330         sys_types: avoid glibc 2.25 warnings about major()
28331         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
28332         older autoconf.
28333         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
28334         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
28335         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
28336         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
28338         mountlist: include sysmacros.h for glibc
28339         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
28340         AC_HEADER_MAJOR.
28341         * lib/mountlist.c (includes): Use correct headers.
28343 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
28345         extensions: port to more ISO C TSes
28346         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
28347         master, to add support for more recent ISO C TRs and TSes.
28349 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28351         intprops: new macro TYPE_WIDTH
28352         * lib/intprops.h (TYPE_WIDTH): New macro.
28353         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
28354         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
28355         * lib/parse-datetime.y (parse_datetime2):
28356         Use it.
28358         extensions: port to recent ISO C TRs
28359         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
28360         Sync from Autoconf master, to add support for recent ISO C TRs.
28361         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
28362         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
28363         the MinGW option is not an extension.
28365 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
28367         dfa: port to Solaris 9
28368         Problems reported by Tom G. Christensen in:
28369         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
28370         * modules/dfa (Depends-on): Add isblank.
28371         * modules/dfa-tests (dfa_match_aux_LDADD):
28372         Rename from test_stat_LDADD, to fix typo.
28373         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
28375 2016-09-10  Jim Meyering  <meyering@fb.com>
28377         strverscmp: avoid link failure on OS X
28378         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
28379         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
28381 2016-08-16  Jim Meyering  <meyering@fb.com>
28383         dfa: new module, importing grep's DFA matcher
28384         Since grep's DFA matcher is now being used by two gnulib-enabled
28385         projects, grep and sed, it makes sense to version-control its
28386         sources and unit tests in one place: here.
28387         * modules/dfa: New module.
28388         * modules/dfa-tests: New file.
28389         * lib/dfa.c: New file, from grep.
28390         * lib/dfa.h: Likewise.
28391         * lib/localeinfo.c: Likewise.
28392         * lib/localeinfo.h: Likewise.
28393         * tests/dfa-match-aux.c: Likewise.
28394         * tests/dfa-invalid-char-class.sh: Likewise.
28395         * tests/dfa-match.sh: Likewise, with minor changes.
28396         * MODULES.html.sh (Misc): Add "dfa" to this list.
28398 2016-09-09  Jim Meyering  <meyering@fb.com>
28400         getprogname-tests: don't depend on assert-h
28401         * modules/getprogname-tests (Depends-on): Remove assert-h.
28402         It was not needed, and in fact would cause build failure for
28403         coreutils on some systems.  Reported by Assaf Gordon in https:
28404         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
28406 2016-09-07  Jim Meyering  <meyering@fb.com>
28408         getprogname-tests: work also when EXEEXT is nonempty
28409         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
28410         * tests/test-getprogname.c (main): Use it.
28411         Suggested by Gisle Vanem.
28413 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
28415         getprogname: fix errors in previous change
28416         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
28417         s/program_invocation_name/base/
28418         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
28420 2016-09-08  Pádraig Brady  <P@draigBrady.com>
28422         parse-datetime: restrict debug output to input string
28423         * lib/parse-datetime.y (parse_datetime2): If we parse
28424         all of the input but determine it's invalid, ensure
28425         we don't output the now invalid input pointer.
28426         This issue was seen with `date -d 'now +1'`.
28428 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28430         flexmember: new macro FLEXALIGNOF
28431         * lib/flexmember.h: Include <stddef.h>, for offsetof.
28432         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
28433         this macro.  Update comments.
28435 2016-09-07  Jim Meyering  <meyering@fb.com>
28437         getprogname: port to systems with __argv (mingw, msvc)
28438         * lib/getprogname.c (getprogname): Include "dirname.h" and use
28439         last_component: more general than open coding it with hard-coded "/".
28440         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
28441         * modules/getprogname (Depends-on): Add dirname-lgpl.
28442         (configure.ac): Check for __argv in <stdlib.h>.
28443         * modules/getprogname-tests: New file.
28444         * tests/test-getprogname.c: New file.
28445         Suggested by Gisle Vanem in
28446         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
28448 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28450         flexmember: port better to GCC + valgrind
28451         With a char[] flexible array member in a struct with nontrivial
28452         alignment, GCC-generated code can access past the end of the
28453         array, because GCC assumes there are padding bytes to get the
28454         struct aligned.  So the common idiom of malloc (offsetof (struct
28455         s, m), n) does not properly allocate an n-byte trailing member, as
28456         malloc’s argument should be the next multiple of alignof (struct s).
28457         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
28458         Although C11 apparently permits this GCC optimization (i.e., there
28459         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
28460         See the thread containing:
28461         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
28462         * lib/flexmember.h: New file.
28463         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
28464         * lib/localename.c, lib/time_rz.c:
28465         Include flexmember.h.
28466         * lib/fnmatch_loop.c (struct patternlist):
28467         * lib/localename.c (struct hash_node):
28468         Use FLEXIBLE_ARRAY_MEMBER.
28469         * lib/fnmatch_loop.c (EXT):
28470         * lib/fts.c (fts_alloc):
28471         * lib/glob.c (glob_in_dir):
28472         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
28473         * lib/localename.c (gl_lock_define_initialized):
28474         * lib/time_rz.c (tzalloc):
28475         Use FLEXSIZEOF instead of offsetof.
28476         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
28477         Check that the size of the struct can be taken.
28478         * modules/flexmember (Files): Add lib/flexmember.h.
28479         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
28480         Add flexmember.
28482 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
28484         getprogname: port to Solaris 10
28485         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
28486         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
28487         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
28489         stdalign: correct mistake in alignof doc
28490         Problem reported by Joseph Myers in:
28491         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
28492         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
28493         alignof(S) where S is a structure containing a flexible array
28494         member.  The Gnulib substitute does not support this, but C11 does.
28496 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28498         main.mk: remove sc_program_name, since there is no more need to
28499         use set_program_name in tools (getprogname is enough for most
28500         of the cases).
28501         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
28502         * top/maint.mk (sc_program_name): Remove.
28504 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28506         Port tests away from progname, since modules that need the
28507         program name already depend on getprogname.
28508         * modules/acl-tests (Depends-on): Remove progname.
28509         * modules/argmatch (Depends-on): Likewise.
28510         * modules/argmatch-tests (Depends-on): Likewise.
28511         * modules/argp-tests (Depends-on): Likewise.
28512         * modules/argp-version-etc-tests (Depends-on): Likewise.
28513         * modules/array-list-tests (Depends-on): Likewise.
28514         * modules/array-oset-tests (Depends-on): Likewise.
28515         * modules/avltree-list-tests (Depends-on): Likewise.
28516         * modules/avltree-oset-tests (Depends-on): Likewise.
28517         * modules/avltreehash-list-tests (Depends-on): Likewise.
28518         * modules/carray-list-tests (Depends-on): Likewise.
28519         * modules/copy-file-tests (Depends-on): Likewise.
28520         * modules/exclude-tests (Depends-on): Likewise.
28521         * modules/fchownat-tests (Depends-on): Likewise.
28522         * modules/fdopendir-tests (Depends-on): Likewise.
28523         * modules/filenamecat-tests (Depends-on): Likewise.
28524         * modules/fstatat-tests (Depends-on): Likewise.
28525         * modules/fstrcmp-tests (Depends-on): Likewise.
28526         * modules/linked-list-tests (Depends-on): Likewise.
28527         * modules/linkedhash-list-tests (Depends-on): Likewise.
28528         * modules/mkdirat-tests (Depends-on): Likewise.
28529         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
28530         * modules/nonblocking-socket-tests (Depends-on): Likewise.
28531         * modules/obstack-printf-tests (Depends-on): Likewise.
28532         * modules/openat-tests (Depends-on): Likewise.
28533         * modules/parse-datetime-tests (Depends-on): Likewise.
28534         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
28535         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
28536         * modules/quotearg-simple-tests (Depends-on): Likewise.
28537         * modules/quotearg-tests (Depends-on): Likewise.
28538         * modules/rbtree-list-tests (Depends-on): Likewise.
28539         * modules/rbtree-oset-tests (Depends-on): Likewise.
28540         * modules/rbtreehash-list-tests (Depends-on): Likewise.
28541         * modules/spawn-pipe-tests (Depends-on): Likewise.
28542         * modules/system-quote-tests (Depends-on): Likewise.
28543         * modules/uniname/uniname-tests (Depends-on): Likewise.
28544         * modules/uninorm/nfc-tests (Depends-on): Likewise.
28545         * modules/uninorm/nfd-tests (Depends-on): Likewise.
28546         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
28547         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
28548         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
28549         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
28550         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
28551         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
28552         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
28553         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
28554         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
28555         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
28556         * modules/unlinkat-tests (Depends-on): Likewise.
28557         * modules/version-etc-tests (Depends-on): Likewise.
28558         * modules/xalloc-die-tests (Depends-on): Likewise.
28559         * modules/xmemdup0-tests (Depends-on): Likewise.
28560         * modules/xprintf-posix-tests (Depends-on): Likewise.
28561         * modules/xvasprintf-tests (Depends-on): Likewise.
28562         * tests/test-argmatch.c: Do not include progname.h.
28563         (main) Stop calling set_program_name.
28564         * tests/test-argp-version-etc.c: Likewise.
28565         * tests/test-argp.c: Likewise.
28566         * tests/test-argv-iter.c: Likewise.
28567         * tests/test-array_list.c: Likewise.
28568         * tests/test-array_oset.c: Likewise.
28569         * tests/test-avltree_list.c: Likewise.
28570         * tests/test-avltree_oset.c: Likewise.
28571         * tests/test-avltreehash_list.c: Likewise.
28572         * tests/test-carray_list.c: Likewise.
28573         * tests/test-copy-acl.c: Likewise.
28574         * tests/test-copy-file.c: Likewise.
28575         * tests/test-exclude.c: Likewise.
28576         * tests/test-fchownat.c: Likewise.
28577         * tests/test-fdopendir.c: Likewise.
28578         * tests/test-filenamecat.c: Likewise.
28579         * tests/test-fstatat.c: Likewise.
28580         * tests/test-fstrcmp.c: Likewise.
28581         * tests/test-linked_list.c: Likewise.
28582         * tests/test-linkedhash_list.c: Likewise.
28583         * tests/test-mkdirat.c: Likewise.
28584         * tests/test-nonblocking-pipe-main.c: Likewise.
28585         * tests/test-nonblocking-socket-main.c: Likewise.
28586         * tests/test-obstack-printf.c: Likewise.
28587         * tests/test-openat.c: Likewise.
28588         * tests/test-parse-datetime.c: Likewise.
28589         * tests/test-pipe-filter-gi1.c: Likewise.
28590         * tests/test-pipe-filter-gi2-main.c: Likewise.
28591         * tests/test-pipe-filter-ii1.c: Likewise.
28592         * tests/test-pipe-filter-ii2-main.c: Likewise.
28593         * tests/test-quotearg-simple.c: Likewise.
28594         * tests/test-quotearg.c: Likewise.
28595         * tests/test-rbtree_list.c: Likewise.
28596         * tests/test-rbtree_oset.c: Likewise.
28597         * tests/test-rbtreehash_list.c: Likewise.
28598         * tests/test-sameacls.c: Likewise.
28599         * tests/test-set-mode-acl.c: Likewise.
28600         * tests/test-spawn-pipe-main.c: Likewise.
28601         * tests/test-system-quote-main.c: Likewise.
28602         * tests/test-unlinkat.c: Likewise.
28603         * tests/test-version-etc.c: Likewise.
28604         * tests/test-xalloc-die.c: Likewise.
28605         * tests/test-xfprintf-posix.c: Likewise.
28606         * tests/test-xmemdup0.c: Likewise.
28607         * tests/test-xprintf-posix.c: Likewise.
28608         * tests/test-xvasprintf.c: Likewise.
28609         * tests/uniname/test-uninames.c: Likewise.
28610         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28611         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28612         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28613         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28614         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28615         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28616         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28617         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28618         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28619         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28620         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28621         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28622         * tests/test-c-stack.c: (program_name): Do not define.
28623         (main): Do not set program_name.
28624         * tests/test-closein.c: Likewise.
28625         * tests/test-xstrtol.c: Likewise.
28626         * tests/test-yesno.c: Likewise.
28628 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28630         Port modules to use getprogname explicitly, instead of requiring
28631         progname to be used (or program_name to be provided).
28632         * lib/argmatch.c: Do not include progname.h.
28633         [TEST] (program_name): Do not define.
28634         [TEST] (main): Call getprogname instead of using program_name.
28635         * lib/c-stack.c: Do not include progname.h.
28636         (program_name): Do not define.
28637         (die): Call getprogname instead of using program_name.
28638         * lib/chdir-long.c: Do not include progname.h.
28639         [TEST_CHDIR] (main): Do not set program_name.
28640         * lib/error.c [!_LIBC]: Include progname.h.
28641         [!_LIBC] (program_name): Define using getprogname.
28642         * lib/euidaccess.c: Do not include progname.h.
28643         [TEST] (main): Do not set program_name.
28644         * lib/git-merge-changelog.c: Include getprogname.h instead of
28645         progname.h.
28646         (usage): Call getprogname instead of using program_name.
28647         (main): Likewise.  Stop calling set_program_name.
28648         * lib/group-member.c: Do not include progname.h.
28649         [TEST] (main): Do not set program_name.
28650         * modules/argmatch (Depends-on): Add getprogname.
28651         * modules/c-stack (Depends-on): Likewise.
28652         * modules/error (Depends-on): Likewise.
28653         * modules/git-merge-changelog (Depends-on): Likewise.
28654         Also remove progname.
28656 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
28658         * NEWS: Document the deprecation of the 'progname' module.
28660 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28662         getprogname: new module
28663         This provides a LGPL module for getting the name of the current
28664         program, using the same API found on *BSD systems.
28665         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
28666         * modules/getprogname: New files.
28667         * MODULES.html.sh (Misc): Add getprogname.
28669 2016-09-02  Jim Meyering  <meyering@fb.com>
28671         manywarnings: add -fno-common
28672         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
28673         to the list.  Quoting the manual, "Compiling with -fno-common is
28674         useful on targets for which it provides better performance, or if
28675         you wish to verify that the program will work on other systems that
28676         always treat uninitialized variable declarations this way [putting
28677         it in the data section]."  If diffutils had been using this sooner,
28678         it would have prevented this duplicate declaration issue:
28679         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
28681 2016-08-31  Simon Josefsson  <simon@josefsson.org>
28683         parse-datetime: Fix typo.
28684         * lib/parse-datetime.y (parse_datetime2): Fix typo.
28686 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
28688         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
28689         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
28690         GCC 5 and 6 that have __builtin_sub_overflow but not
28691         __builtin_sub_overflow_p.  With the recent changes, these
28692         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
28693         implementation than with INT_SUBTRACT_OVERFLOW implementation,
28694         since the former needs just one runtime comparison whereas the
28695         latter needs two.
28697         strverscmp: sync with glibc
28698         Although this doesn't exactly synchronize with glibc
28699         byte-for-byte, it makes the code behave the same as glibc.
28700         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
28701         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
28702         difference shouldn't matter in practical use.  All uses changed
28703         back to isdigit.
28704         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
28705         (next_state): Now unsigned char array; redo elements.
28706         (result_type): Now signed char array; redo elements.
28707         (__strverscmp): Fix glibc bug 9913 by using new states.
28708         * tests/test-strverscmp.c (main): Test glibc bug 9913.
28710 2016-08-29  Jim Meyering  <meyering@fb.com>
28712         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
28713         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
28714         similarly to how it was done to intprops.h.
28716 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
28718         intprops.h: port recent changes to GCC 6.2.0
28719         * lib/intprops.h (__has_builtin): Move earlier.
28720         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
28721         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
28722         the last argument can be null.  All uses changed.
28723         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
28724         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28725         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
28726         and it's not clear which GCC versions it works for.
28727         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
28728         its definiens.
28730         intprops.h: use __typeof__ with GCC 7
28731         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
28732         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
28733         This avoids computing the expression's value (which might overflow!).
28735 2016-08-29  Jim Meyering  <meyering@fb.com>
28737         intprops.h, xalloc-oversized.h: work with gcc 7
28738         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
28739         __builtin_mul_overflow each accept a NULL pointer as the third
28740         argument.  However in gcc 7, that is no longer accepted.
28741         Instead, one must use the "_p"-suffixed names, with which, the
28742         third parameter is no longer a pointer.
28743         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
28744         the definition: not true for gcc 7 and subsequent.
28745         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
28746         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28747         Provide new definitions for gcc 7 and subsequent.
28748         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
28749         that works with gcc-7.
28751         intprops.h: fix missing-backslash problems
28752         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
28753         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
28755 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28757         intprops: fix paren typo on old platforms
28758         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
28759         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
28760         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
28761         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
28762         && !defined LLONG_MAX]:
28763         Remove stray paren.
28765         intprops: port to OpenVMS
28766         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
28767         * doc/posix-headers/limits.texi: Document the problem.
28768         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
28769         Define if not already defined.
28771 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
28773         parse-datetime: improve debug implementation
28774         Follow-up to commit 12ad79069 ("add optional debug printing").
28775         Improve parse-datetime's debug implementation: remove macros,
28776         replace global debug flag variable with a function parameter,
28777         use nstrftime for formatting.
28778         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
28779         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
28780         (parse_datetime2): New function, accepts 'flags' parameter, supporting
28781         debug flag. Existing interface 'parse_datetime' left unmodified.
28782         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
28783         (struct parser_control): add 'parse_datetime_debug' member variable.
28784         (parse_datetime): Call new function 'parse_datetime2' without debug.
28785         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
28786         pc.parse_datetime_debug variable as needed.
28787         (to_year): Accept new flags parameter, instead of using global variable.
28788         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
28789         use struct 'debug' variable instead of global variable.
28790         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
28791         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
28792         correspnding functions directly instead of using macros.
28793         * modules/parse-datetime: Add gnulib's strftime module.
28795 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
28797         c-strcase-tests: port to EBCDIC
28798         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
28799         which assume ASCII encoding semantics to run only in ASCII
28800         mode, as they fail in EBCDIC.
28802         sigpipe-tests: fix typo
28803         * tests/test-sigpipe.sh: C, not B.
28805 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
28807         canonicalize-lgpl: fix errno after malloca fails
28808         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
28809         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
28810         * lib/canonicalize-lgpl.c (__realpath):
28811         Don't assume malloca sets errno on failure.
28813 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28815         strtod: port errno handling to z/OS
28816         * lib/strtod.c (strtod): Save and restore errno more reliably.
28818 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28820         strtod: port to z/OS
28821         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28822         implementation.
28824 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28826         strtod: port to z/OS
28827         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28828         implementation.
28830         regex, string: rename to avoid '__string'
28831         * lib/regex.h, lib/string.in.h: Do not use the identifier
28832         '__string', as it is effectively reserved by string.h on z/OS.
28834         c-strcase-tests, wcwidth-tests: depend on c-ctype
28835         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
28836         Add c-ctype.
28838 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28840         thread: port to z/OS
28841         * lib/glthread/thread.c, lib/glthread/thread.h:
28842         Rudimentary gl_thread support for z/OS.
28844         maint: port tests to z/OS errno behavior
28845         * tests/test-nonblocking-reader.h:
28846         * tests/test-nonblocking-writer.h:
28847         Accommodate z/OS errno code preferences. (I believe this should
28848         still be within spec; IBM is good at following the letter if not
28849         the spirit of such things.)
28851         maint: preprocessor changes to support z/OS
28852         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
28853         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
28854         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
28855         * tests/test-nonblocking-pipe.h:
28857         fclose, strstr-simple, wchar: port to z/OS
28858         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
28859         Changes to the Autoconf M4 code to support z/OS.  Note that
28860         fclose() is broken in a different way on z/OS than it is on other
28861         systems, thus the special-case in fclose.m4.
28863         iconv_open-utf-tests, iconv-tests: port to EBCDIC
28864         * tests/test-iconv-utf.c, tests/test-iconv.c:
28865         Added appropriately conditional #pragmas so that the test strings
28866         in test-iconv-utf.c are correctly interpreted in ASCII instead of
28867         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
28868         addressed in a more portable way by simply rewriting all the ASCII
28869         literal characters as octal escapes, but then you would lose the
28870         partial readability that the strings have now. Also, iconv_open()
28871         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
28873         c-strcase-tests, wcwidth-tests: port to EBCDIC
28874         * tests/test-c-strcasecmp.c: Include c-ctype.h.
28875         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
28876         * tests/test-wcwidth.c: Likewise.
28878 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28880         stdbool: don't require _Bool for C++
28881         Problem reported by David Seifert in:
28882         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
28883         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
28884         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
28885         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
28886         stricter about checking that bool and _Bool are compatible in C.
28888 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
28890         getdelim: remove dependency on realloc-posix
28891         * lib/canonicalize-lgpl.c (alloc_failed)
28892         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
28893         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
28894         Use __set_errno where needed, for consistency.
28895         * lib/getdelim.c (alloc_failed): New function.
28896         (getdelim): Use it.
28898 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
28900         parse-datetime: add optional debug printing
28901         Print parsing information, warnings, and errors to stderr.
28902         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
28903         * lib/parse-datetime.y:
28904         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
28905         (PROGRESS*): Same as DEBUG, for progress reporting.
28906         (dbg_printf): Print message to stderr, with 'date' prefix.
28907         (struct parser_control): Add 'debug_*_seen' variables.
28908         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
28909         (debug_print_current_time, debug_print_relateive_time): Prints the
28910         current/relative date/time value of parser_control.
28911         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
28912         (to_year): Warn about 2-digit year parsing.
28913         (yylex):   Warn about unrecognized words.
28914         (get_effective_timezone): Returns current timezone in minutes.
28915         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
28916         clearly and unambigiously as possible.
28917         (debug_mktime_not_ok): Print detailed information about failed
28918         date/time values.
28919         (parse_datetime): Add DEBUG messages for failures, warnings. Add
28920         PROGRESS messages for status messages.
28921         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
28923 2016-08-06  Jim Meyering  <meyering@fb.com>
28925         tests/init.sh: exclude dash with bad "local" semantics
28926         * tests/init.sh (gl_shell_test_script_): Add a function to
28927         eliminate a shell like "dash" (unlike bash, zsh) that has
28928         surprising/risky "local var='...'" semantics.  Inspired by
28929         the problem and discussion in https://bugs.gnu.org/24116#11.
28931 2016-08-02  Ján Tomko  <jtomko@redhat.com>
28933         maint.mk: expand the prohibit_doubled_word regex
28934         This check has a static list of words that are checked for
28935         repetitions.  Expand it before running the perl script to
28936         avoid using expensive captures.  This decreases the cost
28937         for libvirt from 1.66s to 0.66s.
28938         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
28939         (sc_prohibit_doubled_word): Use it.
28941 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28943         useless-if-before-free: skip non-matching lines early
28944         * build-aux/useless-if-before-free: First match each line with the
28945         simple/quick /\bif\b/ and reject if there is no match. This often
28946         saves the cost of the much more involved regular expression.
28947         For libvirt, this decreases the cost from 1.44s to 1.02s.
28949 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28951         maint.mk: speed up sc_po_check
28952         sc_po_check would skip files based on their names, or on the
28953         existence of files with derived names. Rewrite it to use perl
28954         instead of shell to make the check faster.
28955         * top/maint.mk (perl_translatable_files_list_): Define.
28956         (sc_po_check): Use it.
28958 2016-07-30  Ján Tomko  <jtomko@redhat.com>
28960         maint.mk: speed up require_config_h_first
28961         Instead of spawning three processes per file,
28962         rewrite the check in perl and run it once for all the files.
28963         * top/maint.mk (perl_config_h_first_): Define.
28964         (sc_require_config_h_first): Use it in place of shell code.
28966 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28968         maint.mk: speed up sc_po_check
28969         sc_po_check would skip files based on their names, or on the
28970         existence of files with derived names. Rewrite it to use perl
28971         instead of shell to make the check faster.
28972         * top/maint.mk (perl_translatable_files_list_): Define.
28973         (sc_po_check): Use it.
28975 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
28977         obstack: pacify GCC 6 with -Wnull-dereference
28978         Problem reported by Assaf Gordon in:
28979         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
28980         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
28981         Declare with __attribute_noreturn__.
28982         * lib/obstack.h (__attribute_noreturn__): New macro.
28984 2016-07-13  Eric Blake  <eblake@redhat.com>
28986         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
28987         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
28988         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
28990 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28992         doc: mention glibc SSIZE_MAX buglet
28993         * doc/posix-headers/limits.texi (limits.h): Document the bug.
28995 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
28997         printf-posix: Fix mingw build
28998         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
28999         expression for detecting C symbol prefixes but forgot to qoute square
29000         brackets in the command line arguments for grep.  That way when
29001         building with mingw the condition was false although it ought to be
29002         true instead.  In particular scenarios this led to the following
29003         compile error:
29005             Cannot export rpl_printf: symbol not found
29006             Cannot export rpl_scanf: symbol not found
29007             collect2: error: ld returned 1 exit status
29009         Fix this by properly quoting square brackets.
29011 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
29013         mktime: call tzset as per POSIX
29014         Problem reported by Ludovic Courtès in:
29015         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
29016         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
29017         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
29019 2016-06-26  Pádraig Brady  <P@draigBrady.com>
29021         fts: handle readdir() errors
29022         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
29023         but also upon error when it will also set errno.  Therefore
29024         flag the error case from readdir().  We treat the case where
29025         no items are read the same as if the dir can't be accessed,
29026         i.e. by setting fts_errno to FTS_DNR.
29028 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
29030         intprops: port better to GCC 7
29031         GCC 7 __builtin_add_overflow supports a new usage form, where the
29032         last argument is a null pointer, and which merely returns 1 if an
29033         overflow would occur.  This is a constant expression if all
29034         arguments are constants, and should generate faster code when code
29035         needs to be generated.
29036         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
29037         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
29038         Use builtin operations if available.
29039         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
29040         operations are available, as it's almost surely faster.
29042 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
29044         intprops-test: port to GCC 6
29045         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
29046         since the bug is not fixed in GCC 6.1.
29048 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
29050         xalloc-oversized: port to GCC 7; fewer warnings
29051         GCC 7 will have a better way to deal with integer overflow.
29052         Plus, fix a warnings problem reported by Tim Ruehsen in:
29053         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
29054         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
29055         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
29056         For GCC 5, use __xalloc_oversized if both args are constants,
29057         or if pedantic.
29059 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
29061         regex: port to Sun C
29062         Reported by Daiki Ueno.
29063         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
29064         __restrict, in prototype.  This fixes a problem I introduced in
29065         the 2016-02-19 merge from glibc.
29067 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
29069         stdbool: Restore __bool_true_false_are_defined check
29070         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
29071         __bool_true_false_are_defined is still defined, even with C++11.
29073 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
29075         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
29076         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
29078 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
29080         Use GCC_LINT, not lint
29081         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
29082         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
29083         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
29084         Document problem with lint and _Noreturn.
29085         * lib/diffseq.h (IF_LINT, IF_LINT2):
29086         * lib/fts.c (sccsid):
29087         * lib/getndelim2.c (IF_LINT):
29088         * lib/gl_anylinked_list2.h (gl_linked_iterator)
29089         (gl_linked_iterator_from_to):
29090         * lib/gl_anytree_list2.h (gl_tree_iterator)
29091         (gl_tree_iterator_from_to):
29092         * lib/gl_anytree_oset.h (gl_tree_iterator):
29093         * lib/gl_array_list.c (gl_array_iterator)
29094         (gl_array_iterator_from_to):
29095         * lib/gl_array_oset.c (gl_array_iterator):
29096         * lib/gl_carray_list.c (gl_carray_iterator)
29097         (gl_carray_iterator_from_to):
29098         * lib/idcache.c:
29099         * lib/inet_ntop.c (IF_LINT):
29100         * lib/regcomp.c (build_charclass_op, create_tree):
29101         * lib/regex_internal.c (re_acquire_state)
29102         (re_acquire_state_context):
29103         * lib/trigl.c (rcsid):
29104         * lib/trim.c (IF_LINT):
29105         * lib/vasnprintf.c (IF_LINT):
29106         * lib/verify.h (assume):
29107         Treat GCC_LINT like lint.
29109 2016-05-29  Bruno Haible  <bruno@clisp.org>
29111         secure_getenv: Port to many more platforms.
29112         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
29113         functions.
29114         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
29115         for non-BSD Unix platforms and for native Windows.
29116         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
29117         Prompted by a request from Nikos Mavrogiannopoulos.
29119 2016-05-27  Eric Blake  <eblake@redhat.com>
29121         canonicalize: Fix broken probe for realpath.
29122         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
29123         in logic introduced in 54615b95.
29125 2016-05-26  Eric Blake  <eblake@redhat.com>
29127         unsetenv: relax to LGPLv2+
29128         * modules/unsetenv (License): Match setenv license.
29130 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
29132         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
29133         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
29134         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
29135         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
29136         (commonarg, dirargs, dirs, infoarg, generate_ascii)
29137         (generate_html, generate_info, generate_tex, outdir)
29138         (source_extra, split, srcfile, texarg): Move above 'version'.
29139         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
29141 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29143         manywarnings: update for GCC 6.1
29144         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
29145         Add GCC 6.1 options that apply to C.
29146         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
29147         do not apply to C, are obsolescent, etc.
29149 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
29151         glob: size_t overflow checks
29152         * lib/glob.c (__has_builtin): New macro.
29153         (size_add_wrapv, glob_use_alloca): New static functions.
29154         (glob, glob_in_dir): Check for size_t overflow in several places,
29155         and fix some size_t checks that were not quite right.
29157         glob: don't assume INT_MAX < SIZE_MAX
29158         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
29159         latter is not portable to (probably theoretical) hosts where
29160         SIZE_MAX <= INT_MAX.
29162 2016-05-09  Bruno Haible  <bruno@clisp.org>
29164         Fix undefined behaviour in gettext.h.
29165         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
29166         pointer's value after the storage it points to has been freed.
29167         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
29168         Spotted by Coverity.
29170 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
29172         git-version-gen: avoid undefined shift
29173         Problem reported by Mosè Giordano in:
29174         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
29175         * build-aux/git-version-gen: Avoid undefined behavior if invoked
29176         with --prefix or --fallback but without a later argument.  While
29177         we're at it, omit unnecessary quotes.
29179 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
29181         glob: merge glibc changes into lib/glob.c
29182         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
29183         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
29184         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
29185           struct dirent [BZ #19779]
29186         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
29187           callback gl_readdir
29188         2015-10-20 Convert miscellaneous function definitions to prototype style
29189         2015-10-20 Convert 113 more function definitions to prototype style
29190           (files with assertions)
29191         2015-06-12 Fix getlogin_r namespace (bug 18527).
29192         2014-02-10 Use glibc_likely instead __builtin_expect.
29193         2013-10-20 When glob pattern contains a trailing slash match only
29194           directories. Fixes bug 10278.
29195         2013-09-04 glob: silence -Wattribute warnings
29196         2013-06-07 Avoid use of "register" as optimization hint.
29197         2012-09-25 Use size_t instead of int for internal variables in glob
29198           (bug 14621)
29199         2011-07-20 Check for overflows in expressions
29200         2011-05-28 Remove unused variable
29201         2011-05-22 Add a few more alloca size checks
29202         2010-03-27 Whitespace fixes
29203         2010-03-27 Fix one more issue with the glob patch
29204         2010-03-24 Fix glob with empty pattern
29205         2008-05-27 Remove useless more "if" tests before "free"
29206         * modules/glob (Depends-on): Add stdint.
29208 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
29210         mktime: port to stricter signed overflow checking
29211         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
29212         (long_int): Require width for INT_MAX * 3 * (seconds per year),
29213         instead of merely for INT_MAX * 2.  In practice platforms that
29214         do the latter also do the former.
29215         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
29216         (shr): New static function, replacing SHR.  All uses changed.
29217         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
29218         and TIME_T_MAX.  All uses changed.
29219         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
29220         Use long_int, not time_t.
29221         (long_int_avg): New static function, replacing time_t_avg.
29222         All uses changed.  Round toward positive infinity, as that
29223         generates slightly better code.
29224         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
29225         by INT_ADD_WRAPV.
29226         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
29227         (convert_time): New static function.
29228         (ranged_convert): Use it
29229         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
29230         Use simpler test for loop exit.
29231         (__mktime_internal): Store negative of guessed offset, to simplify
29232         overflow checking.  Remove no-longer-needed test for small time_t
29233         overflows.
29235         mktime: speed up DEBUG_MKTIME benchmarks
29236         Call tzset just once, at the start, rather than for every test
29237         case.  This lets us measure the CPU cost of mktime as opposed to
29238         that of tzset.  This is relevant when TZ is not set and glibc is
29239         being used.  This speeds up tests by a factor of 40 on my Fedora
29240         23 x86-64 platform.
29241         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
29242         to call tzset and as a sanity check.  Later on, use localtime_r
29243         instead of localtime.
29245         mktime: resurrect DEBUG_MKTIME testing
29246         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
29247         Include <string.h>, for strcmp.
29249         mktime: simplify DEBUG_MKTIME
29250         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
29251         Simplify later usage accordingly.
29253         Port mktime_internal offset to unsigned time_t
29254         This avoids some assumptions about wraparound arithmetic on
29255         signed integer overflow.
29256         * lib/mktime-internal.h (mktime_offset_t): New type.
29257         (mktime_internal): Use it in decl.
29258         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
29260         * lib/mktime.c (__mktime_internal, localtime_offset):
29261         * lib/timegm.c (timegm): Use it.
29262         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
29263         (gl_FUNC_MKTIME): Require it.
29265 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
29267         xstrtol: prohibit monstrosities like "1bB"
29268         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
29269         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
29270         "B" only if the first suffix needs a base.
29271         * tests/test-xstrtol.sh: Test this.
29273 2016-04-21  Pádraig Brady  <P@draigBrady.com>
29275         xstrtod: reinstate setting of *result upon ERANGE
29276         * lib/xstrtod.c (XSTRTOD): The user may decide to use
29277         the returned limits upon ERANGE, so allow and document that.
29279 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
29281         xstrtod: modify *result only if no errors
29282         * lib/xstrtod.c (XSTRTOD).
29284 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
29286         btowc: document problems in C locale
29287         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
29288         with mbrtowc.  See: http://bugs.gnu.org/23269#32
29290 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
29292         mktime: improve integer overflow checking
29293         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
29294         (WRAPV): Remove; no longer needed.
29295         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
29296         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
29297         Remove.  Use intprops.h defns instead.
29298         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
29299         Use bool for Boolean, for clarity.
29300         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
29301         detect integer overflow.
29302         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
29304         intprops: check two's complement assumption
29305         Suggested by Eric Blake in:
29306         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
29307         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
29308         short, int, long, and (if available) long long are two's complement.
29309         * modules/intprops (Depends-on): Add 'verify'.
29311         intprops, mktime, strtol: assume two's complement
29312         These macros were not portable to every conforming C11 ones'
29313         complement platform.  It's not worth the hassle of porting to some
29314         platforms that use ones' complement or signed magnitude, as such
29315         platforms are almost purely theoretical nowadays and porting even
29316         to some of them makes the code harder to review for little
29317         practical benefit.  Problem reported by Florian Weimer in:
29318         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
29319         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
29320         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
29321         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
29322         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
29323         (TYPE_SIGNED_MAGNITUDE):
29324         Remove.  All uses rewritten to assume two's complement, which is
29325         all we can reasonably test nowadays anyway.
29326         * top/maint.mk (_intprops_names): Remove the removed macros.
29328 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
29330         stdint: port to strict C11 left shift
29331         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
29332         Pacify clang -Wshift-negative-value, which should be an issue only
29333         on clang setups where stdint.h does not conform to C11 or to C++11.
29334         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
29336 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
29338         mbrtowc: work around glibc bug#19932
29339         Fix mbrtowc so that it never returns -1 in the C locale,
29340         as this conflicts with a future version of POSIX
29341         http://austingroupbugs.net/view.php?id=663#c2738
29342         and causes problems with GNU grep: http://bugs.gnu.org/23234
29343         See glibc bug 19932:
29344         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
29345         * doc/posix-functions/mbrlen.texi (mbrlen):
29346         * doc/posix-functions/mbrtowc.texi (mbrtowc):
29347         Document the glibc bug.
29348         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
29349         Include hard-locale.h, locale.h.
29350         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
29351         if the bug is possible.
29352         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
29353         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
29354         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
29355         * modules/mbrtowc (Depends-on): Add hard-locale.
29356         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
29357         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
29358         * tests/test-mbrtowc5.sh: New file.
29360 2016-04-03  Pedro Alves  <palves@redhat.com>
29362         stdint: detect good enough pre-C++11 stdint.h in C++ mode
29363         When gnulib is configured in C++ mode for a system with a working C99
29364         implementation of stdint.h that predates C++11, gnulib ends up
29365         substituting stdint.h anyway.  This works on most targets, but on e.g.,
29366         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
29367         MinGW is LLP64.  Instead of trying to detect the right types, detect
29368         good-enough-pre-C++11 stdint.h and in such case define
29369         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
29370         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
29371         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
29372         conforms to C99.  If it does, check whether it hides symbols
29373         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
29374         does, define those macros in config.h.
29376 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
29378         argp: merge changes from glibc
29379         Among other things, this should fix problems found by a Coverity
29380         scan and reported by Andrei Borzenkov:
29381         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
29382         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
29383         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
29384         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
29385         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
29386         * lib/argp.h:
29387         Merge changes from glibc.
29388         * tests/test-argp-2.sh: Adjust to match new behavior.
29390 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
29392         stddef: support configuring with g++
29393         Problem reported by Ángel González in:
29394         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
29395         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
29396         Do not define if _GCC_MAX_ALIGN_T is defined.
29398 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
29400         test-framework-sh: minor cleanups
29401         * tests/init.sh (testdir_prefix_): Output a trailing newline,
29402         since strictly speaking POSIX requires this.
29403         (setup_): Do not use the variable 'fail', as that makes the
29404         trace output harder to read ('fail' is typically used by
29405         tests to mean the test failed).  Treat // portably.
29406         Check that new directory is not merely a sibling of the tmp dir.
29407         Avoid unnecessary invocation of tr.
29409         test-framework-sh: revert port to NetBSD 7.0
29410         It was a false alarm; I misinterpreted Assaf Gordon's report.
29411         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29412         Restore.
29413         (test_dir_): Adjust to mktempd_ change.
29414         (mktempd_): Restore 2nd arg.  Use -t again.
29415         (base_template_, template_, nx_): Resurrect old code.
29417         Port better to Alpine Linux
29418         Its diff implementation does not support -c, but does support -U3.
29419         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29420         * tests/init.sh (diff_opt_): New var.
29421         (compare_): Prefer diff -U3 to diff -c to plain diff.
29423 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
29425         test-framework-sh: port to NetBSD 7.0
29426         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29427         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29428         Remove.  All uses removed.
29429         (test_dir_): Adjust to mktempd_ change.
29430         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
29431         (base_template_, template_, nx_): Simplify by hardcoding.
29433 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
29435         gitlog-to-changelog: suppress ignored chatter
29436         * build-aux/gitlog-to-changelog: Do not warn about skipping
29437         an SHA if it would have been ignored anyway.
29439 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
29441         setlocale: add "sv" to Windows language table
29442         * lib/setlocale.c (language_table) [W32]: Add "sv".
29443         Reported in <https://savannah.gnu.org/bugs/?44588>.
29445 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
29447         sys_select: port to new Cygwin
29448         Problem reported by Ken Brown in:
29449         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
29450         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
29451         diagnostics.
29453 2016-03-17  Jim Meyering  <meyering@fb.com>
29455         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
29456         * tests/test-userspec.c (main): Remove unnecessary braces and fix
29457         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
29458           test-userspec.c:176:9: error: statement is indented as if it were \
29459             guarded by... [-Werror=misleading-indentation]
29460                    {
29461                    ^
29462           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
29463                  if (!diag && !T[i].result)
29464                  ^~
29466 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
29468         time_rz: port to clang -Wunused-const-variable
29469         * lib/time_rz.c (TZ): Remove.  All uses removed.
29471         std-gnu11: improve clang support
29472         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
29473         2016-03-15 Also try clang
29474         2016-03-15 Port C11 and C++11 testing to clang
29476         select: port more to Intel 2016.1.150 compiler
29477         Problem reported by Balázs Hajgató in:
29478         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
29479         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
29481 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
29483         select: try to port to 2016.1.150 compiler
29484         Problem reported by Balázs Hajgató in:
29485         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
29486         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
29487         POSIX specifies 'restrict'.
29489 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
29491         localename-tests: memory allocation fixes
29492         * tests/test-localename.c (test_locale_name)
29493         (test_locale_name_thread): Don't call freelocale on a locale
29494         that was the base of a successful newlocale, as that
29495         results in a double free.  Problem reported by Assaf Gordon.
29496         (test_locale_name_thread): Free saved names after use, to pacify
29497         gcc -fsanitize=address.
29499 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
29501         intprops: make .h file license match module
29502         * lib/intprops.h: Change the license wording to match glibc format.
29503         This is what is in modules/intprops anyway.  See:
29504         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
29506 2016-03-08  Eric Blake  <eblake@redhat.com>
29508         acl: fix missing return on Cygwin
29509         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
29510         fall off end of function. Fixes http://bugs.gnu.org/22949
29512 2016-03-05  Bruno Haible  <bruno@clisp.org>
29514         extern-inline: port to PGI CC
29515         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
29516         keyword 'inline'.
29517         Reported by Adam James Stewart in:
29518         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
29520 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29522         signbit: port back to pre-C++11 GCC
29523         * lib/math.in.h (signbit): Do previous change only if
29524         __cplusplus < 201103.  See Jonathan Wakely in:
29525         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
29527 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
29529         mountlist: recognize autofs-mounted remote file systems, too
29530         Originally reported at: https://bugzilla.redhat.com/1309247
29531         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
29532         "-hosts" because it is used by autofs to mount remote file systems.
29534 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29536         signbit: port to C++ with GCC 6
29537         * lib/math.in.h (signbit) [__cplusplus]:
29538         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
29539         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
29541         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
29543         regex: make it closer to libc
29544         Make Idx a signed type, rather than possibly unsigned.
29545         The unsignedness was not really buying us anything, since the code
29546         overflows for other reasons before getting to PTRDIFF_MAX.  Making
29547         it signed allows us to use -1 and -2 with abandon, like libc does,
29548         thus lessening the number of differences between gnulib and libc.
29549         Also, it should help avoid gratuitous warnings like the one
29550         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
29551         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
29554         regex: merge patches from libc
29556         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
29557         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
29558         Convert miscellaneous function definitions to prototype style.
29559         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
29560         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
29561         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
29562         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
29563         (re_search_internal):
29564         Convert to prototype-style function definition.
29565         Use internal_function for internal functions.
29567 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
29569         stdalign: port to older HP and IBM cc
29570         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
29571         C compilers, by checking their version numbers.  These version
29572         numbers appear in MariaDB and in Qt code that dates way back and
29573         that conditiionally uses the 'aligned' attribute.
29575 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
29577         stdalign: port to clang 3.7.0
29578         Problem reported by Herbert J. Skuhra in:
29579         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
29580         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
29581         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
29582         https://llvm.org/bugs/show_bug.cgi?id=26547
29584 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
29586         readdir_r: now obsolescent
29587         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
29588         * lib/mountlist.c (read_file_system_list): Add a FIXME.
29590 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
29592         misc: port better to gcc -fsanitize=address
29593         Without these patches, ./configure CFLAGS='-fsanitize=address'
29594         would compute incorrect values.  This patch fixes some (but not all)
29595         test failures with recent glibc, with this configuration.
29596         * m4/acl.m4 (gl_ACL_GET_FILE):
29597         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
29598         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
29599         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
29600         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
29601         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
29602         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
29603         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
29604         * m4/getline.m4 (gl_FUNC_GETLINE):
29605         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
29606         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
29607         * m4/regex.m4 (gl_REGEX):
29608         * m4/strndup.m4 (gl_FUNC_STRNDUP):
29609         * tests/test-calloc-gnu.c (main):
29610         * tests/test-duplocale.c (main):
29611         * tests/test-getgroups.c (main):
29612         * tests/test-getline.c (main):
29613         * tests/test-inttostr.c (main):
29614         * tests/test-localename.c (test_locale_name)
29615         (test_locale_name_thread, test_locale_name_environ)
29616         (test_locale_name_default):
29617         * tests/test-regex.c (main):
29618         * tests/test-setlocale1.c (main):
29619         * tests/test-stat.h (test_stat_func):
29620         Free heap-allocated storage before exiting.
29621         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
29622         Don't match *_foo symbols inserted by AddressSanitizer.
29623         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
29625 2016-02-02  Jim Meyering  <meyering@fb.com>
29627         verify-tests: also remove stray test-verify.Tpo
29628         * modules/verify-tests (Makefile.am): Arrange for "make clean"
29629         to remove the test-verify.Tpo file that is left behind by
29630         the automake-generated rule upon compilation failure.
29631         Otherwise, that .Tpo file would cause a failed "make distcheck"
29632         at least for grep.
29634 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
29636         std-gnu11: new module
29637         This makes it easier for applications to prefer C11 and C++11
29638         to older variants, when compiling C and C++ code.
29639         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
29640         a nontrivial chunk of GPLed Autoconf source code.
29641         * COPYING: Mention the m4/*.m4 copyright situation.
29642         * MODULES.html.sh (std-gnu11): New module.
29643         * m4/std-gnu11.m4, modules/std-gnu11: New files.
29645 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
29647         get-permissions, strftime: fix grammar in comments
29648         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
29649         some grammar fixes Alan Mackenzie made to GNU Emacs.
29651 2016-01-25  Daiki Ueno  <ueno@gnu.org>
29653         gettext: mark as obsolete
29654         Suggested by Paul Eggert in:
29655         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
29656         * modules/gettext (Status): Mark as obsolete.
29657         (Notice): Suggest to use 'gettext-h' instead.
29658         * modules/gettext-h (Description): Suggest GNU gettext, instead of
29659         the 'gettext' module.
29661 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29663         gnulib-tool: don't give up on ln -s so easily
29664         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
29665         because an earlier one failed.  The targets could be on different
29666         file systems.  Problem reported by KO Myung-Hun in:
29667         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
29669         closedir: fix OS/2-related typos
29670         Problem reported by KO Myung-Hun in:
29671         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
29672         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
29673         in the last couple of changes.
29675 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
29677         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
29678         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
29679         copying a directory.
29681 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29683         regex: treat [x] as x if x is a unibyte encoding error
29684         Problem reported by Aharon Robbins in:
29685         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
29686         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
29687         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
29689         closedir, dirfd, opendir: port to OpenSolaris 5.10
29690         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
29691         * m4/dirfd.m4 (gl_FUNC_DIRFD):
29692         * m4/opendir.m4 (gl_FUNC_OPENDIR):
29693         Don't use ${word##pat} substitution, as it doesn't work in
29694         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
29695         http://bugs.gnu.org/22443#11
29697 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29699         bootstrap: use American spelling
29700         * build-aux/bootstrap: Honor American spelling.
29702 2016-01-22  Karl Berry  <karl@freefriends.org>
29704         * doc/posix-functions/localtime.texi,
29705         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
29707 2016-01-21  Bruno Haible  <bruno@clisp.org>
29709         hash-pjw-bare: fix comment
29710         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
29712         wcwidth: Replace also on OpenBSD 5.8
29713         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
29714         * doc/posix-functions/wcwidth.texi: Update.
29716 2016-01-20  Pádraig Brady  <P@draigBrady.com>
29718         gnu-web-doc-update: fix addition of new files
29719         If there were already added (emnpty) dirs,
29720         then cvs aborts the add with the message:
29721           cvs [add aborted]: there is a version in <./dirname> already
29722         * build-aux/gnu-web-doc-update: Add directories separately
29723         to the addition of files, to avoid the above issue
29724         impacting the addition of files.
29726 2016-01-19  Daiki Ueno  <ueno@gnu.org>
29728         utimens-tests: avoid pulling gettext .m4 files
29729         Although this is not the right fix to the original problem:
29730         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
29731         it makes it possible again for consumer projects to use arbitrary
29732         version of gettext, through the steps described at:
29733         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
29734         See here for details:
29735         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
29736         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
29737         'gettext'.
29738         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
29739         'gettext'.
29741 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
29743         regex: pacify static checkers
29744         Problem and draft fix reported by Aharon Robbins in:
29745         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29746         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
29747         Clear memory to pacify static checkers.
29749         regex: fix [ diagnostic
29750         Problem and fix reported by Aharon Robbins in:
29751         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29752         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
29754         regex: fix memory leaks
29755         Problem and draft fix reported by Aharon Robbins in:
29756         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29757         * lib/regcomp.c (build_range_exp, build_charclass_op)
29758         * lib/regex_internal.c (re_dfa_add_node):
29759         Fix memory leak on failure.
29761 2016-01-18  Pádraig Brady  <P@draigBrady.com>
29763         fts: don't unconditionally use leaf optimization for NFS
29764         NFS st_nlink are not accurate on all implementations,
29765         leading to aborts() if that assumption is made.
29766         See <https://bugzilla.redhat.com/1299169>
29767         * lib/fts.c (leaf_optimization_applies): Remove NFS from
29768         the white list, and document the issue.
29770 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29771             KO Myung-Hun  <komh@chollian.net>
29773         gnulib-tool: don't assume ln -s works
29774         * gnulib-tool (func_ln_s): New function.
29775         (func_ln): Use it.
29777 2016-01-15  KO Myung-Hun  <komh@chollian.net>
29779         utimes: detect utimes() correctly on OS/2 kLIBC
29780         utimes() of OS/2 kLIBC has some limitations.
29781         1. OS/2 itself supports a file date since 1980 year in local time.
29782         2. OS/2 itself supports only even seconds for a file time.
29783         3. utimes() of OS/2 kLIBC does not work on an opened file.
29784         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
29785         * doc/posix-functions/utimes.texi: Document the above limitations of
29786         utimes() on OS/2 kLIBC.
29788 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29789             KO Myung-Hun  <komh@chollian.net>
29791         openat_proc_name: port to OS/2 kLIBC
29792         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
29793         instead of /proc/self/fd.
29794         * lib/openat-proc.c (openat_proc_name):
29795         Don't assume file name length is less than INT_MAX.
29796         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
29798 2016-01-14  KO Myung-Hun  <komh@chollian.net>
29800         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
29801         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
29802         definitions of intptr_t and uintptr_t (which use int and unsigned)
29803         to avoid clashes with declarations of system functions like sbrk.
29804         * lib/stdint.in.h (intptr_t, uintptr_t): Check
29805         _INTPTR_T_DECLARED before defining them.
29807         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
29808         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
29809         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
29810         Declare on kLIBC.
29811         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
29812         fd associated with dirp.
29813         (_gl_register_dirp_fd): New. Register fd associated with dirp to
29814         dirp_fd_list.
29815         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
29816         (dirfd): Implemented for kLIBC.
29817         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
29818         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
29819         succeeds.
29820         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
29821         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29822         (REPLACE_DIRFD): Define to 1 if replaced.
29823         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
29824         * modules/closedir (Depends-on): Add dirfd.
29825         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
29826         condition.
29827         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
29828         * modules/opendir (Depends-on): Add dirfd.
29830         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
29831         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
29832         * lib/dup.c (dup_nothrow): New.
29833         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
29834         (klibc_dup2): New.
29835         * lib/fcntl.c (klibc_fcntl): New.
29836         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
29837         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
29838         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
29839         fd.
29841         pipe_filter_ii_execute: port to OS/2 kLIBC
29842         Pipes on kLIBC do not support O_NONBLOCK like Win32.
29843         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
29844         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
29845         Reuse Win32 code on OS/2 kLIBC.
29846         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
29847         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
29849         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
29850         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
29851         static inline function.  The implementation of wcwidth in wcwidth.c
29852         causes a "conflicting types" error.
29853         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
29855         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
29856         spawn() on OS/2 kLIBC is not silly like one on Windows
29857         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
29858         empty string on OS/2 kLIBC.
29860         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
29861         On OS/2 kLIBC, select() works only on sockets.
29862         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
29864         binary-io: don't put fd in binary mode if it is a console on EMX
29865         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
29866         a console on EMX.
29868 2016-01-15  Pádraig Brady  <P@draigBrady.com>
29870         doc: mention unfixed issues with unsupported localtime() values
29871         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
29872         returns nonsense for localtime(2^56).
29873         * doc/posix-functions/localtime_r.texi: Likewise.
29875 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29877         doc: mention setlocale() issues on OpenBSD
29878         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
29879         never fails, and the need to check categories individually.
29881 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29883         sig2str: list all signals on FreeBSD >= 7
29884         FreeBSD >= 7 is contravening POSIX by not defining NSIG
29885         to the maximal statically defined signal value.
29886         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
29887         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
29888         where available, even when NSIG is defined.
29890 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29892         acl-permissions: port to USE_ACL==0 platforms
29893         I ran into this problem when building bleeding-edge GNU Emacs
29894         with gcc -fsanitize=address on Fedora 23.  On this platform
29895         the ACL library does not pass the 'configure' test and Emacs
29896         then does not build due in part to what appear to be typos in the
29897         ACL part of Gnulib.
29898         * lib/acl-internal.c (free_permission_context):
29899         * lib/acl-internal.h (struct permission_context):
29900         Test whether USE_ACL is nonzero, not whether it is defined.
29902 2016-01-12  Martin Sebor  <msebor@redhat.com>
29904         mktime: rename macro to avoid glibc clash
29905         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
29906         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
29908 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
29910         Port "$@" to OpenIndiana ksh93
29911         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
29912         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
29913         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
29914         bug long-dead shells, so remove the workaround.
29915         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
29916         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29917         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
29918         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
29919         Use "$@" instead of ${1+"$@"}.
29921         Port Universal Time settings to strict POSIX
29922         * build-aux/announce-gen, build-aux/bootstrap:
29923         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
29924         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29925         * build-aux/gnupload, build-aux/mkinstalldirs:
29926         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
29927         * build-aux/update-copyright, build-aux/useless-if-before-free:
29928         * build-aux/vc-list-files, tests/test-strftime.c:
29929         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
29930         but POSIX says the behavior of TZ="UTC" is undefined.
29932 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
29934         msvc-inval: fix problem with unset shell var
29935         Problem reported by Karl Berry in:
29936         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
29937         * modules/msvc-inval (Depends-on):
29938         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
29939         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
29941 2016-01-01  Pádraig Brady  <P@draigBrady.com>
29943         tests: for compare_(), use cmp -s where available
29944         * tests/init.sh (compare_): Only fall back to cmp without
29945         the POSIX defined -s option, where this is not available.
29947 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29949         version-etc: new year
29950         * build-aux/gendocs.sh (version):
29951         * doc/gendocs_template:
29952         * doc/gendocs_template_min:
29953         * doc/gnulib.texi:
29954         * lib/version-etc.c (COPYRIGHT_YEAR):
29955         Update copyright dates by hand in templates and the like.
29956         * all files: Run 'make update-copyright'.
29958 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
29960         human: fix output buffer overrun by 1
29961         * lib/human.c (human_readable): Fix off-by-one typo in buffer
29962         calculation that could lead to a one-byte buffer overrun.
29964 2015-12-28  Daiki Ueno  <ueno@gnu.org>
29966         maint: fix operator precedence in mbrtowc test
29967         This is a fix for test breakage introduced by commit 45228d96; the
29968         equality expression must be parenthesized when negated with '!',
29969         otherwise we always get:
29971           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
29973         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
29974         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29976 2015-12-23  James Youngman  <jay@gnu.org>
29978         regexprops-generic: update from regex.h
29979         * doc/regexprops-generic.texi: update by running the regexprops binary
29980         from findutils (the command line is 'regexprops "Regular Expressions"
29981         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
29982         gnulib with GNU grep had made this document out-of-date.
29984 2015-12-23  Pádraig Brady  <P@draigBrady.com>
29986         strftime-tests: avoid false failure on OS X
29987         * tests/test-strftime.c (struct localtime_rz_test): Add an
29988         ahistorical member which is used to warn rather than fail
29989         when tm_isdst isn't set for such entries.  This is the case for
29990         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
29992 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
29994         fts: ensure leaf optimization is used for NFS
29995         NFS provides usable dirent.d_type but not necessarily for all entries
29996         of large directories.  See <https://bugzilla.redhat.com/1252549>
29997         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
29999 2015-12-20  Pádraig Brady  <P@draigBrady.com>
30001         fts: enable leaf optimization for XFS
30002         XFS provides usable dirent.d_type only for DT_DIR,
30003         but the noleaf optimization still applies.
30004         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
30006 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
30008         intprops: comment fix
30009         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
30010         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
30012         intprops-test: work around GCC bug 68971
30013         Problem reported by Pádraig Brady in:
30014         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
30015         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
30016         (main): Add a case that better tests 64-bit long in this area.
30018 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
30020         gnulib-tool: allow multiple --local-dir usage
30021         * gnulib-tool: Use --local-dir to construct compound
30022         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
30023         PATH_SEPARATOR early.
30024         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
30025         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
30026         func_determine_path_separator because that needs to be detected
30027         earlier now.
30028         (func_determine_path_separator): New function.
30029         (func_path_foreach, func_path_foreach_inner): New functions.
30030         (func_path_prepend, func_path_append): Likewise.
30031         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
30032         (func_lookup_file, func_all_modules): Use new functions to work
30033         with local_gnulib_path.
30034         (func_modules_in_dir, func_exists_module): New callbacks for
30035         func_path_foreach.
30036         (func_exists_module, func_get_tests_module): Likewise.
30037         (func_is_local_file, func_should_symlink): New helper methods.
30038         (func_add_file, func_update_file): Use new func_should_symlink
30039         instead, DRY.
30040         (func_reconstruct_cached_local_gnulib_path): New helper.
30041         (func_reconstruct_cached_dir): New callback.
30042         (func_import): The cached_local_gnulib_dir renamed to
30043         cached_local_gnulib_path similarly to local_gnulib_dir.
30044         Use new func_reconstruct_cached_local_gnulib_path.
30045         (func_count_relative_local_gnulib_path): New sub-method.
30046         (func_create_testdir): Use func_should_symlink, DRY.
30047         (func_create_megatestdir): Use new functions to work with
30048         local_gnulib_path correctly.
30049         (func_append_local_dir): New helper.
30051 2015-12-08  Pádraig Brady  <P@draigBrady.com>
30053         fix freadptr to work with ungetc on all uClibc configs
30054         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
30055         where GNU coreutils cut(1) generates invalid output on uClibc
30056         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
30057         * lib/freadptr.c (freadptr): Return NULL if there are
30058         ungotten chars.  In this case freadseek() will iterate
30059         again to process the ungotten character.
30061 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
30063         xalloc-oversized: improve performance with GCC 5
30064         * lib/xalloc-oversized.h (xalloc_oversized):
30065         Improve performance with GCC 5 by using __builtin_mul_overflow.
30067 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
30069         intprops: new public macro EXPR_SIGNED
30070         Emacs can use this macro, so make it public.
30071         * doc/intprops.texi (Arithmetic Type Properties): Rename from
30072         'Integer Type Determination', since some of these macros apply
30073         to non-integer types.  Clarify what kinds of constant expressions
30074         these macros return.  Say when the arguments can be non-integers.
30075         Mention newly published macro EXPR_SIGNED.
30076         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
30077         make it public.  All uses changed.
30079         intprops: fix typo in clang port
30080         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
30081         '__builtin_add_overflow' that is not caught by compiler.
30083 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
30085         test-timespec: fix typo in previous change
30086         * tests/test-timespec.c (main): Fix typo that reduced test quality.
30088         timespec-sub: fix overflow bug; add tests
30089         * lib/timespec-add.c (timespec_add):
30090         * lib/timespec-sub.c (timespec_sub):
30091         Work even if time_t is narrower than int (a theoretical
30092         possibility).  Redo code for a bit more clarity.
30093         * lib/timespec-sub.c (timespec_sub):
30094         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
30095         * modules/timespec-tests, tests/test-timespec.c: New files.
30097         intprops-test: suppress -Woverlength-strings
30098         Problem reported by Pádraig Brady in:
30099         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
30100         It is not worth the hassle to port this test to compilers that
30101         cannot handle long strings in diagnostics.
30102         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
30104 2015-11-03  Pádraig Brady  <P@draigBrady.com>
30106         quotearg: add quotearg_n_style_colon()
30107         This quotes with default options of the specified style,
30108         but with quoting enabled for instances of ':'.
30109         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
30110         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
30112 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30114         intprops: revise _WRAPV macros, revert _OVERFLOW
30115         The incompatible changes to the _OVERFLOW macros were too much of
30116         a hassle in practice, so revert them.  Instead, change the new
30117         _WRAPV macros to make them closer in behavior to GCC 5's new
30118         builtin_add_overflow etc. functions.  No other software was using
30119         these newly-added macros yet, so this should be OK.
30120         * NEWS: Revert previous change, since the incompatible change
30121         has been reverted, and nobody used the incompatible version.
30122         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
30123         Document revised behavior.
30124         (Integer Range Overflow): Adjust example to match above revisions.
30125         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
30126         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
30127         these can be used in integer constant expressions again.
30128         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
30129         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
30130         needed.
30131         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
30132         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
30133         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
30134         Remove, as they did not seem that useful.
30135         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
30136         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
30137         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
30138         Support new semantics.
30139         (__has_builtin): New macro, if not alreay defined.
30140         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
30141         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
30142         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
30143         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
30144         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
30145         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
30146         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
30147         New macros.
30148         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
30150 2015-11-03  Jim Meyering  <meyering@fb.com>
30152         intprops: add parentheses for when OP has precedence lower than "-"
30153         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
30154         "a OP b" must be parenthesized for when OP is like "<<", which has
30155         lower precedence than the following "-". Reported by Pádraig Brady.
30157 2015-11-03  Pádraig Brady  <P@draigBrady.com>
30159         quotearg: constify get_quoting_style parameters
30160         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
30161         * lib/quotearg.c (get_quoting_style): Likewise.
30163 2015-11-02  Pádraig Brady  <P@draigBrady.com>
30165         quotearg: add support for $'' shell escaping
30166         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
30167         items and descriptions.
30168         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
30169         above types by quoting like "shell", but using $'...' syntax
30170         for non printable characters, which should provide unambiguous
30171         printable output for any input.
30172         * tests/test-quotearg-simple.c: Update accordingly.
30174 2015-11-02  Pádraig Brady  <P@draigBrady.com>
30176         maint: use a more standard return from mbrtowc test
30177         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
30178         from the test program as this is non standard and often
30179         indicates an unhandled case in the test program.
30180         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
30182 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
30184         intprops: add WRAPV and const flavors for GCC 5
30185         If available, use GCC 5's builtin functions for efficient integer
30186         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
30187         and safely compute the low-order bits of the correct answer.
30188         A downside of these efficient functions is that they cannot be
30189         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
30190         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
30191         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
30192         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
30193         Document the changes.
30194         (Wraparound Arithmetic): New section.
30195         (Integer Range Overflow):
30196         Put this subsection last, since it's least useful.
30197         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
30198         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
30199         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
30200         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
30201         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
30202         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
30203         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
30204         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
30205         New macros.
30206         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
30207         Generate calls to GCC builtins if available, for speed.
30208         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
30209         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
30210         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
30211         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
30212         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
30213         (CHECK_QUOTIENT, CHECK_REMAINDER):
30214         Test WRAPV and CONST flavors (when available) too.
30216 2015-10-30  Pádraig Brady  <P@draigBrady.com>
30218         doc: use extended timezone format in iso-8601 example
30219         * doc/parse-datetime.texi: The standard states that extended format
30220         is to be used consistently throughout.
30221         Note that lib/parse-datetime.y can handle either tz format.
30223 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
30225         stdalign: port to Sun C 5.9
30226         * doc/posix-headers/stdalign.texi: Document this.
30227         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
30228         __attribute__ ((__aligned__ (...))).
30230 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
30232         time_rz: fix comment about tzalloc
30233         * lib/time_rz.c (tzalloc): Fix comment.
30235 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30237         stdalign: work around pre-4.9 GCC x86 bug
30238         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
30239         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
30240         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
30242 2015-10-18  Pádraig Brady  <P@draigBrady.com>
30244         maint.mk: sc_tight_scope: remove extraneous expressions
30245         * top/maint.mk (tight_scope): This is not really required since
30246         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
30247         that matches all nm entries.  But it does remove extraneous entries
30248         that may be confusing or cause issue in future maintenance.
30250 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30252         time_rz: return NULL if localtime_r fails
30253         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
30254         while still attempting to pacify bleeding-edge GCC.
30256         fts: port to C11 alignof
30257         * doc/posix-headers/stdalign.texi (stdalign.h):
30258         Document the C11 restriction.
30259         * lib/fts.c: Include stddef.h, for max_align_t.
30260         (fts_alloc): Align using max_align_t, not FTSENT.
30261         * modules/fts (Depends-on): Add stddef.
30263 2015-10-18  Jim Meyering  <meyering@fb.com>
30265         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
30266         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
30267         would see this:
30269         lib/time_rz.c: In function 'localtime_rz':
30270         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
30271           [-Werror=nonnull]
30272                    if (tm && !save_abbr (tz, tm))
30273                        ^
30275         That was complaining about "tm" because it is a parameter that was
30276         declared with the __nonnull__ attribute.
30277         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
30278         result of localtime_r.
30280 2015-10-17  Jim Meyering  <meyering@fb.com>
30282         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
30283         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
30284         name-extraction regexp mistakenly used \S+, and would mistakenly
30285         extract "*F" from "extern int *F()" rather than the desired "F".
30286         Use \w+ instead.
30288 2015-10-17  Jim Meyering  <meyering@fb.com>
30290         maint.mk: sc_tight_scope: factor and support OS X
30291         * top/maint.mk (_gl_tight_scope): Address three issues:
30292         - factor out four instances of code that wraps a string in "^...$"
30293         - allow nm-reported symbol names to have an optional leading "_"
30294         - add "main" to the list of ignored variable names, because on os x,
30295         "main" has nm-reported type "S" in the variable-checking section.
30297 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
30299         safe-alloc-tests: fix typo in license header
30300         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
30302 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
30304         copy-file: fix mem leak in error case
30305         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
30306         upon error opening or performing I/O to the src and dest files.
30308 2015-10-15  Mike Frysinger  <vapier@chromium.org>
30310         localename: control langinfo.h inclusion
30311         This header is only used to work around buggy behavior in old
30312         versions of glibc, so do not include it all the time.  Otherwise
30313         we get build failures on systems that do not provide langinfo.h.
30314         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
30315         in the source later on.
30316         The patch was originally submitted to gettext as:
30317         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
30319 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
30321         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
30322         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
30323         * lib/u64.c, lib/unistd.c:
30324         Append 'typedef int dummy;', to pacify compilers that are picky
30325         about empty translation units.
30327 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
30329         accept4-tests: fix to avoid non portable flags
30330         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
30331         as they are the only documented ones, and passing others may trigger
30332         EINVAL (seen on FreeBSD 10.1-RELEASE).
30333         * doc/glibc-functions/accept4.texi: Mention that we don't provide
30334         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
30336 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
30338         gnulib-tool: fix tests of 'extensions' module
30339         This complements f8fe25fab60e3c687a124 commit.
30340         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
30341         emitting of initial gl_EARLY macros.
30342         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
30343         replaced with func_emit_pre_early_macros call.
30345 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
30347         unicase/locale-language: fix typo in utf-8 cookie
30348         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
30349         Problem reported by Zbigniew Jędrzejewski-Szmek.
30351 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
30353         xalloc: do not worry about GCC 5 warning on 32 bit
30354         * lib/xalloc.h: Revert previous change.
30355         I found a better way to fix this in coreutils.
30357 2015-10-02  Pádraig Brady  <P@draigBrady.com>
30359         xalloc: avoid GCC 5.1 warning on 32 bit
30360         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
30361         xalloc_oversized(), which was seen to give this warning
30362         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
30363         when simplifying conditional".
30365 2015-10-02  Daiki Ueno  <ueno@gnu.org>
30367         uniname/uniname-tests: avoid compiler warnings
30368         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
30369         unused local variables.
30370         (test_alias_lookup): Fix alias name display in failure cases.
30372 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30374         c-ctype: do not worry about EBCDIC + char signed
30375         Drop support for EBCDIC with char being signed, as this breaks too
30376         many programs.  Problem reported by Ben Pfaff in:
30377         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
30378         * lib/c-ctype.h: Verify that we are not using EBCDIC with
30379         char being signed.
30380         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
30381         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
30382         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
30383         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
30384         * tests/test-c-ctype.c (test_all):
30385         Simplify by assuming standard char values cannot be negative.
30386         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
30388 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30390         c-ctype: port better to z/OS EBCDIC
30391         Problems reported by Daniel Richard G. in:
30392         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
30393         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
30394         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
30395         (_C_CTYPE_OTHER_CNTRL): New macro.
30396         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
30397         from SCHAR_MIN, as the functions are defined only from values
30398         promoted from char or from unsigned char, not necessarily from
30399         signed char.
30401 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
30403         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
30405         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
30406         and ARFLAGS variables.  Doing this unconditionally could break
30407         later Automake's AM_PROG_AR invocation (at least it's
30408         AC_CHECK_TOOLS call to detect correct 'ar' binary).
30410         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
30411         Amsterdam Compiler Kit, so make the previous code to have effects
30412         only on ACK, and rather automatically call the Automake's
30413         AM_PROG_AR as soon as possible to decide other cases.
30415         References:
30416         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
30418         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
30419         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
30420         is possible, keep setting AR/ARFLAGS to reasonable defaults.
30421         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
30422         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
30423         'extensions' module is used.
30424         * modules/extensions (configure.ac-early): Remove as this snippet
30425         is added to gnulib-comp.m4 earlier anyway.
30427 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30429         sockets: MS Windows initalization fixes
30430         Problem reported by Test User in:
30431         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
30432         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
30433         Correct the endianness.
30434         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
30435         number mismatch, not just on <.  Cleanup before any such failure.
30437 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
30439         gc: fix detection of installed libgcrypt version
30440         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
30441         at least as recent as 1.4.4.  The previously used macro is not
30442         available now, since modules were removed in version 1.6.0.
30444 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30446         c-ctype: rewrite to use inline functions
30447         This simplifies maintenance, since it makes for just one
30448         implementation of each function, letting the compiler have the fun
30449         of optimization.  In practice this works well nowadays with GCC.
30450         E.g., c_isascii might need only three instructions even though the
30451         source code lists every ASCII character individually in a large
30452         switch statement.
30453         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
30454         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
30455         * NEWS: Document the API change.
30456         * lib/c-ctype.c: Drastically simplify, since this now just expands
30457         inline functions.
30458         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30459         (C_CTYPE_INLINE): New macro.
30460         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
30461         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
30462         Verify that either ASCII or EBCDIC is being used.
30463         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
30464         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
30465         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
30466         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
30467         New private macros.
30468         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
30469         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
30470         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
30471         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
30472         (c_tolower, c_toupper): When converting, return the unsigned char,
30473         as that is what z/OS does.
30474         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
30475         of some c-ctype.h macros.
30476         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
30477         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
30478         c_tolower promotion to be compatible with z/OS.
30480 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
30482         gitlog-to-changelog: trim only trailing whitespaces
30483         This is fix for --format regression introduced by commit
30484         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
30485         doubled %n string) had no effect anymore.  This format
30486         specification has been used e.g. by GNU paxuitils (commit
30487         edfd8bcc3).
30489         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
30490         newlines in commmit messages.
30492 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
30494         Test that c_iscntrl agrees with iscntrl, etc.
30495         Suggested by Daniel Richard G. in:
30496         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
30497         * modules/c-ctype-tests (Depends-on): Add ctype.
30498         * tests/test-c-ctype.c: Include <ctype.h>.
30499         (NCHARS): New constant.
30500         (test_agree_with_C_locale): New function.
30501         (main): Use it.
30502         (test_all): Use named constants.
30504         c-ctype: improve c_isascii testing
30505         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
30506         Add a test to count the number of ASCII characters.
30508 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30510         savewd: remove SAVEWD_CHDIR_READABLE
30511         It was problematic in the light of file systems that ignore umask.
30512         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
30513         * NEWS: Document this.
30514         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
30515         successful, -1 (setting errno) on failure, rather than something
30516         more complicated than that.
30517         * lib/mkdir-p.c (make_dir_parents):
30518         Do not use SAVEWD_CHDIR_READABLE.
30519         * lib/savewd.c (savewd_chdir):
30520         Remove support for SAVEWD_CHDIR_READABLE.
30521         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
30523         c-ctype: port better to EBCDIC
30524         Problems reported by Daniel Richard G. in
30525         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
30526         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
30527         Include "verify.h".
30528         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
30529         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
30530         Define as enum constants with value false, if not defined, so that
30531         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
30532         code more portable, as both branches of the 'if' are compiled on
30533         all platforms.
30534         (C_CTYPE_EBCDIC): New constant.
30535         Verify that the character set is either ASCII or EBCDIC.
30536         (to_char): New static function.
30537         (c_isascii, c_iscntrl):
30538         Assume standard control-character assignments for EBCDIC.
30539         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
30540         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
30541         Rewrite to use 'if' instead of 'ifdef'.
30542         Use to_char if non-ASCII.  Prefer <= to >=.
30543         Prefer true and false to 1 and 0, for booleans.
30544         (c_iscntrl): Use 'if', not 'ifdef'.
30545         * modules/c-ctype (Depends-on): Add verify.
30546         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
30547         (to_char): New function.
30548         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
30550 2015-09-21  Pádraig Brady  <P@draigBrady.com>
30552         nanosleep: fix return code for interrupted replacement
30553         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
30554         that we return -1 in the case the call is interrupted by a signal,
30555         rather than the current value of 1.
30556         Diagnosed and tested by Daniel Richard G.
30558 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
30560         Diagnose ERE '()|\1'
30561         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
30562         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
30563         track of the set of previously-completed subexpressions available
30564         before the first alternative, and restore this set just before
30565         parsing each subsequent alternative.  This lets us diagnose the
30566         invalid back-reference in the ERE '()|\1'.
30568         regex: merge patches from libc
30570         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
30571         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
30572         * lib/regex_internal.h:
30573         Include <libc-lock.h> instead of <bits/libc-lock.h>.
30575         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
30576         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
30577         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
30578         wcscoll.
30579         * lib/regexec.c (check_node_accept_bytes): Likewise.
30581         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30582         Fix regex wcrtomb namespace (bug 18496).
30583         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
30584         instead of wcrtomb.
30586         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30587         Fix regex wctype namespace (bug 18495).
30588         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
30589         instead of towlower.
30590         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
30591         instead of iswlower.  Call __towupper instead of towupper.
30592         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
30593         instead of iswalnum.
30595         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
30596         * lib/regcomp.c (parse_bracket_exp): Initialize type to
30597         COLL_SYM in a couple of places to avoid uninitialized variable
30598         wanings on tilegx gcc 4.8.2.
30600         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
30601         * lib/regex_internal.h: Remove NOT_IN_libc.
30603         2014-11-17  Andreas Schwab  <schwab@suse.de>
30604         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
30606         2014-09-11  Roland McGrath  <roland@hack.frob.com>
30607         Move findidx nested functions to top-level.
30608         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
30609         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
30610         Pass new arguments to findidx.
30611         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
30612         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
30613         Don't #include it inside the function.  Pass new arguments to findidx.
30614         * lib/regex_internal.h:
30615         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
30616         (re_string_elem_size_at): Don't #include it inside the function.
30617         Pass new arguments to findidx.
30619         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
30620         Check if DEBUG is defined in regex_internal.c
30621         * lib/regex_internal.c: Check if DEBUG is defined and is set.
30623 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
30625         ceill: detect buggy OpenBSD implementation
30626         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
30627         which returns zero for small values.  Discussed here:
30628         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
30630 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
30632         mountlist: add me_mntroot field on Linux machines
30633         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
30634         mount_entry so Linux machines based on /proc/self/mountinfo can
30635         distinguish between bind mounts and original mounts.  In reality bind
30636         mounts aren't treated differently than mountroot=/ mounts by the
30637         kernel, but the user often wants these bind mounts distinguished.
30638         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
30639         More details at https://pad.lv/1432871
30641 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
30643         doc: Describe to use multiple instances of gnulib
30644         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
30645         instances of gnulib with different modules can be used, for example one
30646         for a lib and another one for associated tools.
30648 2015-09-01  Pádraig Brady  <P@draigBrady.com>
30650         base32: mark function as __attribute__ const
30651         * lib/base32.h (isbase32): Mark __attribute__ const as
30652         suggested by GCC, and consistent with the base64 module.
30654 2015-08-20  Daiki Ueno  <ueno@gnu.org>
30656         gnulib-tool: don't transform binary files with sed
30657         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
30658         .mo and .class files.
30659         Reported by Denis Denisov.
30661 2015-08-10  Daiki Ueno  <ueno@gnu.org>
30663         gperf: respect silent rules
30664         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
30665         V_GPERF_0 for silent rules.
30666         * modules/iconv_open (Makefile.am): Use V_GPERF.
30667         * modules/unicase/locale-language (Makefile.am): Likewise.
30668         * modules/unicase/special-casing (Makefile.am): Likewise.
30669         * modules/unictype/category-byname (Makefile.am): Likewise.
30670         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
30671         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
30672         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
30673         * modules/unictype/property-byname (Makefile.am): Likewise.
30674         * modules/unictype/scripts (Makefile.am): Likewise.
30675         * modules/uninorm/composition (Makefile.am): Likewise.
30677 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30679         Improve port of stdalign to C++11
30680         Problem reported by Sundaram in:
30681         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
30682         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
30683         (__alignas_is_defined): Define if C++11 or newer.
30685 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
30687         pmccabe2html: fix gawk regex escaping
30688         * build-aux/pmccabe2html: Add one more backslash to properly
30689         escape the gsub replacement value.  Fixes this error:
30690         gawk: ./build-aux/pmccabe2html:425: \
30691         warning: escape sequence `\&' treated as plain `&'
30693 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
30695         time_rz: port to pedantic memcpy
30696         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
30697         that reject memcpy (..., NULL, 0).
30699 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
30701         time_rz: port better to MinGW
30702         Don't change tzname, as this makes MinGW dump core (Bug#21020).
30703         Instead, store the tzname copy in the struct tm_zone object.
30704         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
30705         * lib/strftime.c [!_LIBC]:
30706         * lib/time_rz.c: Include time-internal.h.
30707         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
30708         name from *TZ rather than from TZNAME, doable because *TZ now has
30709         a tzname_copy member.
30710         * lib/time-internal.h: New file, with contents taken from
30711         lib/time_rz.c.  It's separate because strftime.c now accesses
30712         struct tm_zone members.
30713         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30714         New member tzname_copy.
30715         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
30716         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30717         Initialize tzname_copy member.
30718         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
30719         in tzname_copy member.
30720         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
30721         (restore_tzname): Remove; no longer needed.  All calls removed.
30722         * modules/time_rz (Files): Add lib/time-internal.h.
30724         time: port __need_time_t to MinGW
30725         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
30726         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
30728 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
30730         strftime: fix newly-introduced bug on Solaris
30731         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
30732         consistently at the start, rather than doing some of the setup at
30733         the start and some in the %Z format spec.  This is cleaner, and
30734         works better with time_rz on platforms like Solaris where struct
30735         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
30736         mktime_z and localtime_rz can mess up the tzname cache.
30738         test-strftime: test for Solaris bug
30739         * modules/strftime-tests (Depends-on): Add strerror.
30740         * tests/test-strftime.c: Include <errno.h>.
30741         (posixtm_test): New function, containing the old 'main'.
30742         (struct tzalloc_test, struct localtime_rz_test): New types.
30743         (TZ, LT): New static vars.
30744         (tzalloc_test): New function.
30745         (main): Rewrite in terms of posixtm_test and tzalloc_test.
30747         time_rz: port to Solaris etc.
30748         Works around a tzname problem on platforms like Solaris that have
30749         tzname but not tm_zone, by setting tzname at the appropriate time
30750         and restoring it later.
30751         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
30752         New static vars.
30753         (save_abbr) [HAVE_TZNAME]: Set them.
30754         (revert_tz) [HAVE_TZNAME]: Clear or use them.
30755         (restore_tzname): New function.
30756         (localtime_rz, mktime_z): Use it.
30758         time_rz: now LGPL
30759         * modules/time_rz (License): Now LGPL, because strftime depends on it.
30761         time_rz: make a constant 'const'
30762         * lib/time_rz.c (local_tz): Now const.
30764         time_rz: fix off-by-one typo
30765         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
30767 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
30769         fprintftime, strftime: use timezone_t args
30770         * NEWS: Document the change.
30771         * lib/fprintftime.h (fprintftime):
30772         * lib/strftime.c (extra_args) [my_strftime]:
30773         * lib/strftime.h (nstrftime):
30774         Time zone arg is now of type timezone_t, not int.
30775         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
30776         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
30777         (my_strftime) [emacs && !my_strftime]:
30778         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
30779         Remove; Emacs doesn't need this any more.
30780         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
30781         fprintftime and nstrftime to call tzset.
30782         (ut) [!my_strftime]: Remove, replacing with ...
30783         (tz) [!my_stftime]: ... this new macro.  All uses changed.
30784         (strftime_case_): Use localtime_rz and mktime_z instead
30785         of localtime_r and mktime.
30786         * modules/fprintftime (Depends-on): Add time_rz.
30787         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
30788         * tests/test-strftime.c (main): Adjust to new nstrftime API.
30790         time_rz: new module
30791         * MODULES.html.sh: Add time_rz.
30792         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
30793         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
30794         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
30795         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
30796         New var HAVE_TIMEZONE_T (default 0).
30797         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
30798         New var GNULIB_TIME_RZ (default 0).
30799         * modules/time (time.h): Substitute the new vars.
30801         flexmember: license is now unlimited
30802         * modules/flexmember (License): Change to unlimited,
30803         since its only source file gives an unlimited license.
30805 2015-07-15  Eric Blake  <eblake@redhat.com>
30807         maint: update copyright paper procedures
30808         * config/srclist.txt: Drop outdated files.
30809         * doc/Copyright/conditions.txt: Update to latest.
30810         * doc/Copyright/assign.changes.manual: Delete.
30811         * doc/Copyright/assign.future.manual: Likewise.
30812         * doc/Copyright/assign.manual: Likewise.
30813         * doc/Copyright/assign.translation.manual: Likewise.
30814         * doc/Copyright/disclaim.changes.manual: Likewise.
30815         * doc/Copyright/disclaim.manual: Likewise.
30816         * doc/Copyright/disclaim.program: Likewise.
30818 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30820         localename: fix link error on Illumos
30821         Illumos defines __sun, but does not have getlocalename_l nor the
30822         equivalent.  This partially reverts commit 387c214.
30823         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
30824         available, as well as uselocale.
30825         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
30826         use getlocalename_l if it is not available.
30828 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30830         unistr/uN-strtok-tests: avoid a trivial leak
30831         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
30832         input and delim after the multibyte delimiter tests.
30834 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
30836         file-has-acl, acl-permissions: fix HP-UX typos
30837         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
30838         * lib/file-has-acl.c (file_has_acl):
30839         * lib/set-permissions.c (context_acl_from_mode)
30840         (context_aclv_from_mode, set_acls):
30841         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
30842         They were introduced by the recent ACL changes.
30844         regex: match current GNU grep behavior
30845         These symbols have not matched GNU grep behavior for quite some time.
30846         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
30847         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
30848         Change to match current GNU behavior.
30849         Simplify by expressing it as differences from POSIX BREs and EREs.
30850         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
30852 2015-07-03  Jim Meyering  <meyering@fb.com>
30854         set-permissions.c: adjust acl_from_mode's cpp guard
30855         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
30856         directives identical to those guarding the sole use.
30857         Otherwise, on some systems, we'd get a warning about
30858         the function being defined but not used.
30859         Also, filter through cppi to correct misleading indentation
30860         of cpp directives.
30862 2015-07-03  Pádraig Brady  <P@draigBrady.com>
30864         tests: restrict shells to those that support 'local'
30865         The local keyword is very widely supported and used
30866         in tests in coreutils and grep at least.  Therefore
30867         restrict to testing with shells that support it.
30868         This mainly excludes /bin/sh on Solaris.
30869         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
30871 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
30872         and Daiki Ueno  <ueno@gnu.org>
30874         unistr/uN-strtok: handle multibyte delimiters
30875         Previously, uN_strtok moved PTR to the next unit to the token end.
30876         When DELIM contained a multibyte character, the new position could
30877         be a middle of a multibyte character.
30878         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
30879         after the token.
30880         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
30881         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
30882         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
30883         * modules/unistr/u8-strtok (Depends-on): Depend on
30884         unistr/u8-strmblen.
30885         * modules/unistr/u16-strtok (Depends-on): Depend on
30886         unistr/u16-strmblen.
30887         * modules/unistr/u32-strtok (Depends-on): Depend on
30888         unistr/u32-strmblen.
30889         * tests/unistr/test-u-strtok.h: New file.
30890         * tests/unistr/test-u8-strtok.c: New file.
30891         * tests/unistr/test-u16-strtok.c: New file.
30892         * tests/unistr/test-u32-strtok.c: New file.
30893         * modules/unistr/u8-strtok-tests: New file.
30894         * modules/unistr/u32-strtok-tests: New file.
30895         * modules/unistr/u16-strtok-tests: New file.
30897 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
30899         update-copyright: fix test failure with perl >= 5.22 (trivial)
30900         * build-aux/update-copyright: Escape a literal left curly bracket,
30901         required with perl >= 5.22
30903 2015-07-02  Daiki Ueno  <ueno@gnu.org>
30905         u{16,32}-strstr-tests: relax timeout condition
30906         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
30907         tests can take longer than 5 seconds to complete.
30908         Reported by Dagobert Michelsen in:
30909         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
30910         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
30911         seconds to 10 seconds.
30912         * tests/unistr/test-u32-strstr.c (main): Likewise.
30914 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30916         gnulib-common.m4: change the ARFLAGS default to 'cr'
30917         In some GNU/Linux distributions people started to compile 'ar'
30918         binary with --enable-deterministic-archives (binutils project).
30919         That, however, in combination with previous autotools long time
30920         working default AR{_,}FLAGS=cru causes warnings on such
30921         installations:
30922         ar: `u' modifier ignored since `D' is the default (see `U')
30923         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
30924         set already.
30926 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30928         selinux-h: avoid double free after *getfilecon()
30929         Originally reported by Ben Shelton on bug-tar:
30930         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
30931         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
30932         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
30933         param should be freed by freecon(3) (regardless the return value).
30935 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
30937         fix pty related tests issues on Windows (trivial)
30938         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
30939         however it's still present in tests/ subdirectory of the final project.
30940         Therefore avoid it to pass `make check`.
30941         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
30942         will just return -ENOSYS, so avoid this non applicable test allowing
30943         the build to proceed.
30945 2015-07-01  Pádraig Brady  <P@draigBrady.com>
30947         acl: fix definition of acl_from_mode on FreeBSD
30948         This was causing basic coreutils copy operations to fail
30949         with ENOTSUP or ENOENT error messages.
30950         * lib/acl-internal.h (acl_from_mode): Only define when
30951         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
30952         of acl_from_mode() defined in lib/set-permissions.c to
30953         be used on FreeBSD at least.
30954         * lib/set-permissions.c: Fix up comment spelling,
30955         and a redundant variable assignment; noticed in passing.
30957 2015-06-30  Pádraig Brady  <P@draigBrady.com>
30959         readutmp: port to FreeBSD >= 9
30960         * lib/readutmp.h: Map utmpxname() to setutxdb().
30961         With that coreutils who(1) and pinky(1) tests pass.
30963 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
30965         mgetgroups: port to strict OS X
30966         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
30967         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
30968         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
30969         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
30971 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
30973         mgetgroups: port to strict OS X
30974         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
30975         Document the getgrouplist problem.
30976         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
30977         New macro.
30978         (mgetgroups): Use it.
30979         * m4/mgetgroups.m4 (gl_MGETGROUPS):
30980         Check for OS X signature for getgrouplist.
30982 2015-06-29  Jim Meyering  <meyering@fb.com>
30984         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
30985         It started like this when building coreutils' latest on OS X,
30986         invoking ./configure with a nonempty --cache=.cache:
30988           lib/linkat.c:46:42: error: operator '||' has no right operand
30989           lib/linkat.c: In function 'rpl_linkat':
30990           lib/linkat.c:330:27: error: #if with no expression
30992         Here's linkat.c's line 46:
30994           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
30996         Here's some context:
30998           $ grep linkat_nofoll .cache
30999           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
31000           $ grep LINKAT_SYM lib/config.h
31001           #define LINKAT_SYMLINK_NOTSUP
31003         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
31004         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
31005         but that violates a tenet of AC_CACHE_CHECK: it must
31006         have no side effect other than setting its cache variable.
31008         What happens is that when the cache is set, we'd skip the
31009         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
31010         defined to whatever value it happened to have in configure's
31011         environment.  In my case, it was not defined, so this later code:
31013           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
31014             [Define to 1 if linkat can create hardlinks to symlinks])
31016         would emit code with an empty RHS.
31018         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
31019         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
31021 2015-06-28  Jim Meyering  <meyering@fb.com>
31023         mountlist: avoid an unused-label warning on OS X
31024         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
31025         Building on OS X, I saw a warning about the "free_then_fail" label
31026         being unused.  Give it the _GL_UNUSED_LABEL attribute.
31028         error.c: correct printf-style format: %d -> %u
31029         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
31030         rather than %d, to match the type of "line_number", unsigned int.
31032 2015-06-25  Pádraig Brady  <P@draigBrady.com>
31034         fts: avoid reading beyond the heap allocation
31035         GCC 5.1.1 with -O2 and -fsanitize=address reports
31036         a read of size 4 from a heap object of size 3 is indeed invalid,
31037         though this may be due to incorrect padding assumptions by GCC, see:
31038         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
31039         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
31040         * modules/fts: Depend on stdalign.
31042 2015-06-24  Pádraig Brady  <P@draigBrady.com>
31044         savedir: avoid undefined behavior in qsort call
31045         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
31046         "runtime error: null pointer passed as argument 1,
31047          which is declared to never be null"
31048         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
31050 2015-06-24  Pádraig Brady  <P@draigBrady.com>
31052         userspec: avoid undefined behavior in gettext call
31053         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
31054         "runtime error: null pointer passed as argument 2,
31055          which is declared to never be null"
31056         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
31058 2015-06-20  Glenn Morris  <rgm@gnu.org>
31060         gitlog-to-changelog: improve gitmerge.el commits
31061         Let the Emacs ChangeLog generation process exclude "skipped"
31062         messages from merge commits (Bug#20717).
31063         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
31065 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
31067         wchar: fix MinGW compilation warnings
31068         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
31069         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
31070         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
31072 2015-06-20  Daiki Ueno  <ueno@gnu.org>
31074         uniname/uniname-tests: use pristine data files
31075         For copyright and maintenance reasons, use the data files from UCD
31076         without modification.
31077         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
31078         (getfield): Remove.
31079         (aliases_count): New global variable.
31080         (fill_names): Skip comments and empty lines in the input.  Don't
31081         use getfield.
31082         (fill_aliases): Likewise.
31083         (main): Change the expected command line arguments to:
31084         NAMES... ["--" ALIASES...].
31085         * tests/uniname/test-uninames.sh: Adjust to the change in
31086         test-uninames.c.
31087         * tests/uniname/UnicodeDataNames.txt: Remove.
31088         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
31089         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
31090         file from Unicode 8.0.0.
31092 2015-06-19  Pádraig Brady  <P@draigBrady.com>
31094         linked-list, linkedhash-list: avoid compiler warnings
31095         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
31096         -Werror=suggest-attribute=pure (from GCC 5.1.1).
31098 2015-06-19  Daiki Ueno  <ueno@gnu.org>
31100         libunistring: bump minimum version to 0.9.6
31101         * all modules depending on updated Unicode data: Regenerate.
31102         The modules are listed by a script that does:
31103         - for each file listed by: git show --oneline --name-only 705f4efc
31104           - deduce the containing modules, based on "Files:"
31105         - deduce the modules which depend on the containing modules, based
31106           on "Depends-on:"
31108 2015-06-18  Daiki Ueno  <ueno@gnu.org>
31110         uniname/uniname: update to Unicode 8.0.0
31111         * lib/uniname/uninames.h: Regenerate.
31112         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
31113         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
31115 2015-06-18  Daiki Ueno  <ueno@gnu.org>
31117         libunistring: update to Unicode 8.0.0
31118         * lib/gen-uni-tables.c (SIZEOF): New macro.
31119         (output_numeric): Increase the maximum number of fractions from
31120         128 to 160.  Increase the level3 value width from 7 bits to 8
31121         bits.  Use SIZEOF instead of a hard-coded integer.
31122         (output_blocks): Decrease the cut-off threshold from 0x30000 to
31123         0x28000.
31124         (fill_blocks): Increase the maximum number of blocks from 256 to
31125         384.  Use SIZEOF instead of a hard-coded integer.
31126         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
31127         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
31128         value width.
31129         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
31130         a new case added to LBP22.
31131         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
31132         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
31133         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
31134         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
31135         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
31136         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31137         lib/uniwidth/width.c.
31138         * all generated files under lib/uni* and tests/uni*: Regenerate.
31140 2015-06-16  Pádraig Brady  <P@draigBrady.com>
31142         gnu-web-doc-update: add --mirror to remove stale files
31143         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
31144         out of date files from the CVS server.  Since this is usually
31145         appropriate, a prompt is given when the option is not specified,
31146         along with the `cvs remove` command that would be run.
31148 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
31150         acl-permissions: pacify -Wsuggest-attribute=const
31151         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
31152         * lib/acl-internal.h (free_permission_context):
31153         Declare with attribute const if ! (defined USE_ACL &&
31154         (HAVE_ACL_GET_FILE || defined GETACL)).
31156         fsync: document AIX misbehavior
31157         * doc/posix-functions/fsync.texi (fsync):
31158         Document failure on AIX with read-only file descriptor.
31160 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
31162         stdio: Don't redefine gets when using C++
31163         * lib/stdio.in.h (gets): Disable warning on C++.
31165 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
31167         acl-permissions: port to AIX, C89 HP-UX
31168         Problems reported by Michael Felt.
31169         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
31170         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
31171         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
31172         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
31173         Add cast for AIX, whose system calls are declared to accept
31174         char * even though the arguments are really char const *.
31175         * lib/get-permissions.c (get_permissions):
31176         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
31177         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
31178         that broke a build.
31179         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
31180         Rework types to pacify xlc.
31182 2015-06-03  Pádraig Brady  <P@draigBrady.com>
31184         vasprintf-posix: avoid compiling vasnprintf where possible
31185         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
31186         module where not required.  For example on a GNU/Linux system
31187         when gnulib-tool is run with the --conditional-dependencies option.
31189 2015-06-02  Pádraig Brady  <P@draigBrady.com>
31191         file-has-acl: fix build on Mac OS X 10
31192         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
31193         which has an incompatible 6 parameter getxattr() call.
31194         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
31195         call on Mac OS X >= 10.4.
31196         * doc/glibc-functions/fgetxattr.texi: Likewise.
31197         * lib/file-has-acl.c: Revert to more complete combined check.
31198         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
31199         Reported by Jack Howarth.
31201 2015-06-02  Pádraig Brady  <P@draigBrady.com>
31203         prefix-gnulib-mk: remove no longer needed special case
31204         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
31205         continued lib_SOURCES lines are no longer present,
31206         so special case handling of such entries is not required.
31208 2015-06-01  Pádraig Brady  <P@draigBrady.com>
31210         acl: don't depend on the deprecated qacl module
31211         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
31213 2015-06-01  Pádraig Brady  <P@draigBrady.com>
31215         gnulib-tool: concatenate lib_SOURCES to a single line
31216         * gnulib-tool: Refactor the line merging sed logic,
31217         and use that to output a single lib_SOURCES line for each module.
31218         gnulib using projects often postprocess this output to prepend
31219         subdir paths to each item, and having a single line simplifies this
31220         processing allowing better decoupling from the gnulib-tool output.
31222 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
31224         pthread_sigmask: discount system version if a simple macro (trivial)
31225         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
31226         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
31227         function to ensure it's available.
31229 2015-05-31  Pádraig Brady  <P@draigBrady.com>
31231         readlinkat: avoid OS X 10.10 trailing slash bug
31232         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
31233         has this bug.
31234         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
31235         that OS X 10.10 has this function.
31236         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
31237         as done for readlink().
31238         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
31239         trailing slash bug, and assume readlinkat() has the same issue.
31240         Also fix a typo where $gl_cv_decl_readlink_works was tested,
31241         rather than the correct $gl_cv_decl_readlinkat_works.
31243 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31245         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
31246         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
31247         module rewrite.
31249         acl-permissions: Fix build on Solaris and Cygwin
31250         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
31251         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
31252         ace_entries variables have moved into struct permission_context but
31253         they were still accessed as local variables here.
31255 2015-05-29  Pádraig Brady  <P@draigBrady.com>
31257         linkat: avoid OS X 10.10 trailing slash with symlink bug
31258         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
31259         causes the symlink to be dereferenced, and if it points
31260         to a non existent file, that file will be created as
31261         a hard link to "path1".
31262         This fixes a test failure in test-linkat.c.
31263         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
31264         this case.  The existing workaround in linkat.c for
31265         trailing slash issues, suffices for this case.
31266         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
31267         the list of platforms with trailing slash issues.
31269 2015-05-28  Pádraig Brady  <P@draigBrady.com>
31271         unlinkat: handle ignoring of ".." on Darwin 14
31272         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
31273         on Mac OS X 10.10, where it ignores paths with a trailing "..",
31274         so handle in the same manner.
31275         * m4/unlinkat.m4: Comment on this Darwin issue.
31276         * doc/posix-functions/unlink.texi: Update the latest version
31277         where the issue was seen.
31278         * doc/posix-functions/unlinkat.texi: Mention this issue.
31279         Fixes a test failure in test-unlinkat.c.
31281 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
31283         qacl: split into qcopy-acl and qset-acl
31284         Emacs needs the former, but not the latter.
31285         * modules/acl-permissions: New file, containing most of the old qacl.
31286         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
31287         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
31288         * modules/qcopy-acl, modules/qset-acl: New files.
31289         * MODULES.html.sh (File system functions):
31290         Mention the new modules, and mention qacl while we're at it.
31292 2015-05-27  Glenn Morris  <rgm@gnu.org>
31294         gitlog-to-changelog: new option --ignore-line
31295         (This patch is imported from the GNU Emacs master.)
31296         This option ignores individual commit lines matching a pattern.
31297         * build-aux/gitlog-to-changelog: Add --ignore-line option.
31299 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
31301         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
31302         Implement get_permissions and set_permissions primitives for getting all
31303         the permissions of a file, storing them, and later setting them. (In the
31304         minimal case, the permissions consist only of a file mode.) Reimplement
31305         qset_acl and qcopy_acl based on these new primitives: this avoids code
31306         duplication and makes error handling more consistent.
31307         The Solaris and Cygwin code still uses duplicate code paths for setting
31308         a file mode while making sure that no acls exist and setting an explicit
31309         acl; this is no worse than before, but could be cleaned up.  The AIX
31310         code still doesn't read ACLs, it only makes sure that acls don't get in
31311         the way when setting a file mode.
31312         * lib/acl-internal.h (struct permission_context): New data structure.
31313         (get_permissions, set_permissions, free_permission_context): Declare.
31314         * lib/acl-internal.c (free_permission_context): New helper function.
31315         * lib/get-permissions.c (get_permissions): New helper function split off
31316         from qcopy_acl.
31317         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
31318         AIX, set a file's permissions based only on a file mode.
31319         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
31320         other platforms construct a temporary acl from the file mode and set
31321         that acl in the same way as setting an acl read from the source file.
31322         This should help avoid code duplication and inconsistent / buggy
31323         behavior.
31324         (set_acls): New helper function Split off from qcopy_acl.
31325         (chmod_or_fchmod): Moved here from qset-acl.c.
31326         (set_permissions): New helper function.
31327         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
31328         set_permissions.
31329         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
31330         * modules/qacl: Add get-permissions.c and set-permissions.c.
31332         file-has-acl: Split feature tests again (Bug#20667)
31333         * lib/file-has-acl.c: Instead of testing for
31334         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
31335         define them when needed.
31336         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
31337         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
31339 2015-05-27  Pádraig Brady  <P@draigBrady.com>
31341         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
31342         This avoids a conflict with "FORTIFY_SOURCE" variants
31343         of the string functions when they're replaced on NetBSD-6.0.1
31344         and Darwin-14.3.0 at least.
31345         * lib/string.in.h: Avoid including our "lib/string.h" while
31346         including the system <string.h>.
31348 2015-05-26  Eric Blake  <eblake@redhat.com>
31350         stdio: limit __gnu_printf__ witness to gcc 4.4+
31351         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
31352         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
31354         error: use correct printf attributes on mingw
31355         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
31357         inttypes: force correct mingw PRIdMAX even without <stdio.h>
31358         * modules/inttypes (Depends-on): Require extensions, so that mingw
31359         always uses GNU style inttypes.
31360         * lib/inttypes.in.h: On mingw, include <stdio.h>.
31362         stdio: fix probe on mingw under gcc 5.1
31363         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
31364         around new gcc preprocessor rules.
31366 2015-05-07  Glenn Morris  <rgm@gnu.org>
31368         gitlog-to-changelog: parse "Tiny-change"
31369         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
31370         "Copyright-paperwork-exempt".  (Bug#20324)
31372 2015-05-06  Pádraig Brady  <P@draigBrady.com>
31374         doc: document glibc posix_fallocate() issues
31375         * doc/posix-functions/posix_fallocate.texi: Mention the
31376         glibc efficiency problems and issues with NFS.
31378 2015-05-05  Karl Berry  <karl@freefriends.org>
31380         * build-aux/gendocs.sh (usage): document new css default
31381         for HTML (--htmlarg).
31383 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
31385         extern-inline: no need for workaround in GCC 5.1
31386         * doc/extern-inline.texi (extern inline):
31387         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
31388         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
31389         around these bugs in GCC 5.1 and later.  Maybe in a decade or
31390         two we can remove these workarounds.
31392 2015-04-28  Pádraig Brady  <P@draigBrady.com>
31394         eealloc, pagealign_alloc, xalloc: avoid clang warnings
31395         Avoid [-Wunknown-attributes] warnings like:
31396         warning: unknown attribute '__alloc_size__' ignored
31397         * lib/xalloc.h: Don't use the __alloc_size__  attribute
31398         with clang, as support has been fully removed as of clang 3.5:
31399         https://github.com/llvm-mirror/clang/commit/c047507a
31400         * lib/eealloc.h: Likewise.
31401         * lib/pagealign_alloc.h: Likewise.
31403 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
31405         tests: pacify GCC 5.1's stricter printf checking
31406         * tests/test-dirname.c (main):
31407         * tests/test-getaddrinfo.c (simple):
31408         * tests/test-getlogin.c (main):
31409         * tests/test-getndelim2.c (main):
31410         * tests/test-inttostr.c (CK):
31411         * tests/test-md5.c (main):
31412         * tests/test-read-file.c (main):
31413         * tests/test-sha1.c (main):
31414         Fix mismatches between printf format and value signedness.
31415         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
31416         Remove, as CAST_VAL always returned a value of type uintmax_t.
31418         fts: port to GCC 5.1 with --enable-gcc-warnings
31419         Without this fix, GCC 5.1 (correctly) warns about a subscript
31420         error on the fts_name component of FTSENT.  It's actually a
31421         flexible member, so define it that way on C99 or later hosts.
31422         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
31423         structure that now has a flexible array member.
31424         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
31425         (FTSENT): fts_name is now flexible on C99-or-later platforms.
31426         * modules/fts (Depends-on): Add flexmember.
31428 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
31430         file-has-acl: port to CentOS 6
31431         Problem reported by Tom G. Christensen in:
31432         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
31433         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
31434         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
31435         HAVE_GETXATTR.
31436         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
31437         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
31438         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
31439         file-has-acl.c actually needs.
31441 2015-04-26  Pádraig Brady  <P@draigBrady.com>
31443         file-has-acl: always return false when ACLs aren't supported
31444         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
31445         change the GNU/Linux getxattr path, to transform "not supported"
31446         errors to a false return rather than an error.  This is handled
31447         within file_has_acl() due to the platform specific tests to
31448         determine if ACLs are not supported.
31450 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
31452         gettext: propagate po/Makefile.in.in too
31453         * build-aux/po/Makefile.in.in: Copy from latest gettext.
31454         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
31455         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
31456         between Makefile.in.in and the gettext-runtime m4 files.
31458 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
31460         file-has-acl: new module, split from acl
31461         And add a new module file-has-acl-tests to match.
31462         I ran into a problem with the recent changes to the acl module,
31463         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
31464         When using the fixed version with Emacs, I discovered that
31465         file-has-acl wasn't separated out well enough for Emacs (e.g., it
31466         had multiple libraries, but needed only one), so I fixed that too.
31467         * NEWS: Document this incompatible change.
31468         * modules/file-has-acl, modules/file-has-acl-tests: New files.
31469         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
31470         Initialize gl_need_lib_has_acl.
31471         (gl_FUNC_ACL): Require it.
31472         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
31473         Move the file-has-acl.c-relevant stuff to ...
31474         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
31475         use_xattrs = 0' typo, and omit some needless work.  Set
31476         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
31477         when gl_FUNC_ACL is called.
31478         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
31479         (Link): Remove $(LIB_HAS_ACL).
31480         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
31481         (check_PROGRAMS): Move stuff relevant to file-has-acl to
31482         modules/file-has-acl-tests.
31483         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
31485         manywarnings: add GCC 5.1 warnings
31486         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
31487         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
31488         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
31489         -Wsuggest-override, -Wuse-without-only.  Change
31490         -Wnormalized=... operands to match 5.1.
31491         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
31492         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
31493         -Wdiscarded-qualifiers, -Wformat-signedness,
31494         -Wincompatible-pointer-types, -Wint-conversion,
31495         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
31496         -Wshift-count-negative, -Wshift-count-overflow,
31497         -Wsizeof-array-argument, -Wsuggest-final-methods,
31498         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
31499         and add -Warray-bounds=2 as a special case.
31501 2015-04-21  Simon Josefsson  <simon@josefsson.org>
31503         doc: update FDL template to match FDL examples.
31504         * doc/alloca-opt.texi:
31505         * doc/alloca.texi:
31506         * doc/c-ctype.texi:
31507         * doc/c-strcase.texi:
31508         * doc/c-strcaseeq.texi:
31509         * doc/c-strcasestr.texi:
31510         * doc/c-strstr.texi:
31511         * doc/c-strtod.texi:
31512         * doc/c-strtold.texi:
31513         * doc/ctime.texi:
31514         * doc/error.texi:
31515         * doc/gcd.texi:
31516         * doc/gnulib-tool.texi:
31517         * doc/inet_ntoa.texi:
31518         * doc/intprops.texi:
31519         * doc/lib-symbol-visibility.texi:
31520         * doc/maintain.texi:
31521         * doc/parse-datetime.texi:
31522         * doc/quote.texi:
31523         * doc/regexprops-generic.texi:
31524         * doc/standards.texi: Remove spurious 'with' in FDL license
31525         template.
31527 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
31529         lstat: fix cross-compilation 'ln -s' problem
31530         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
31531         Have the test program call 'symlink' rather than a separate
31532         script run 'ln -s'; this is more likely to work in
31533         cross-compilation environments.  Reported by Pavel Fedin in:
31534         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
31536 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
31538         gendocs.sh: default to a common CSS style sheet for HTML output
31539         * build-aux/gendocs.sh (htmlarg): Change default value.
31541 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
31543         gnulib-tool: output bold attribute more portably
31544         * gnulib-tool (func_show_module_list): Change hexadecimal
31545         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
31546         encoded numbers as arguments to `printf' is not portable,
31547         and is not claimed by POSIX.  This is the case with FreeBSD.
31549 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31551         qacl: Simplify HP-UX acl_nontrivial check
31552         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
31553         acl_nontrivial. Check if the acl has at most three entries instead (it must
31554         have exactly three entries according to the HP-UX documentation). Ignore
31555         uids and gids as long as an entry is either for a user (i.e., the owner),
31556         a group (i.e., the owning group), or others.
31557         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
31558         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
31560 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
31562         acl: On Linux, check for acls without libacl
31563         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
31564         library function to check for the presence of acls, avoiding a library.
31565         * lib/file-has-acl.c: Include xattr headers if we have them.
31566         (file_has_acl): On Linux, use getxattr().
31567         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
31568         file_has_acl(). Check for xattr headers and getxattr().
31570 2015-04-14  Ángel González  <keisial@gmail.com>
31572         tempname: avoid unused parameter warnings (trivial)
31573         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
31574         (try_nocreate): Likewise.
31576 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
31578         fseeko: fix build failure on NetBSD >= 6 (trivial)
31579         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
31580         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
31582 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
31584         gitlog-to-changelog: port to MS-Windows
31585         * build-aux/gitlog-to-changelog (git_dir_option):
31586         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
31587         MS-Windows Perl.  Reported by Eli Zaretskii in:
31588         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
31590 2015-04-07  Karl Berry  <karl@gnu.org>
31592         gendocs: new option --tex for passing args to texi2dvi.
31593         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
31594         (TEXI2DVI): cut to just command name.
31595         (usage): mention new option, and update copyright.
31596         <generate_tex>: use it.
31598 2015-04-07  Karl Berry  <karl@gnu.org>
31600         * config/srclistvars.sh (GETTEXT): new definition.
31601         * config/srclist.txt: use it for gettext .m4 files.
31602         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
31603         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
31604         and continuing into April.
31606 2015-04-07  Daiki Ueno  <ueno@gnu.org>
31608         uniname/uniname-tests: fix failure due to alias
31609         Reported by Jack Howarth in:
31610         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
31611         * tests/uniname/test-uninames.c (name_has_alias): New function.
31612         (test_inverse_lookup): Exclude character name with valid alias,
31613         from randomly generated character names.
31614         (main): Fill unicode_aliases before calling test functions.
31616 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
31618         hash: remove deprecated hash_insert0 function
31619         * lib/hash.h (hash_insert0): Remove deprecated function.
31620         * lib/hash.c (hash_insert0): Likewise.
31622 2015-04-02  Pádraig Brady  <P@draigBrady.com>
31624         mountlist: remove dependency on libmount
31625         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
31626         directly, rather than depending on libmount, which has many
31627         dependencies due to its dependence on libselinux, as detailed at:
31628         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
31629         Note we restrict this to __linux__ as that's probably where this
31630         interface will remain.  If ever porting, it would be best
31631         to first pull the makedev() wrapper from coreutils to a gnulib module.
31632         Note also we don't add a getline dependency to the mountlist module,
31633         as all Linux versions are sufficient.
31635 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
31637         stddef: port to pre-C11 GCC on x86
31638         On this platform, max_align_t should have an alignment of 8 even
31639         though the storage alignments of double, long, etc. max out at 4.
31640         Inspired by a comment of Andreas Schwab's here:
31641         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
31642         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
31643         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
31644         * tests/test-stddef.c: Test __alignof__ too, if available.
31646 2015-03-24  Pádraig Brady  <P@draigBrady.com>
31648         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
31649         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
31651 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
31653         yesno: make EOL optional in ENABLE_NLS case also (trival)
31654         * lib/yesno.c (yesno): Check for EOL before replacing.
31655         * tests/test-yesno.sh: Add a test case (test along with gettext).
31657 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
31659         fdopendir-tests: test it does not close its arg
31660         * tests/test-fdopendir.c (main): Test that fdopendir does not
31661         close its argument.  From a suggestion by David Grayson in:
31662         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
31664 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
31666         gitlog-to-changelog: trim trailing white space
31667         * build-aux/gitlog-to-changelog (main):
31668         Trim trailing white space from commit message lines.
31669         This is helpful for processing the GNU Emacs repository,
31670         which dates back to 1985 and contains a lot of such lines.
31672         gitlog-to-changelog: new option --ignore-matching
31673         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
31674         Support new option --ignore-matching=PAT, which ignores all
31675         commit messages whose first line matches PAT.
31677 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31679         fdopendir: port better to MinGW
31680         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
31681         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
31682         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
31683         * modules/fdopendir (Depends-on): Add dirfd.
31685 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
31687         fdopendir: fix typo in comment
31688         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
31690 2015-03-09  Eric Blake  <eblake@redhat.com>
31692         error: document all entry points provided
31693         * doc/glibc-functions/error_print_progname.texi
31694         (error_print_progname): Mention the error module.
31695         * doc/glibc-functions/error_at_line.texi (error_at_line):
31696         Likewise.
31697         * doc/glibc-functions/error_message_count.texi
31698         (error_message_count): Likewise.
31699         * doc/glibc-functions/error_one_per_line.texi
31700         (error_one_per_line): Likewise.
31702 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
31704         vasnprintf: pacify clang 3.5.0
31705         Problem reported by Werner Lemberg in:
31706         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
31707         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
31708         The casts aren't needed, since the characters in question are ASCII.
31710 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
31712         glob, etc.: port to MSVC v18 on MS-Windows 8.1
31713         * lib/dirent--.h (GNULIB_defined_opendir):
31714         * lib/dirent.in.h (GNULIB_defined_opendir)
31715         (GNULIB_defined_closedir):
31716         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
31717         #undef only if Gnulib defined it.
31719         poll: port to MSVC v18 on MS-Windows 8.1
31720         Problem reported by Gisle Vanem in:
31721         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
31722         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
31723         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
31724         Add sys_socket.
31726 2015-02-24  Pádraig Brady  <P@draigBrady.com>
31728         tests: support stderr verification with returns_()
31729         * tests/init.sh (returns_): Disable tracing for this wrapper
31730         function, so that stderr of the wrapped command is unchanged,
31731         allowing for verification of the contents.
31733 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
31735         passfd: avoid valgrind uninitalised data warning
31736         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
31737         to include just the fd we've initialized, rather than including
31738         the extra space used for alignment.
31740 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31742         uniwbrk/u32-wordbreaks-tests: fix copyright
31743         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
31745         dup2: doc and test for Android bug
31746         Reported by Kevin Cernekee in:
31747         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
31748         * doc/posix-functions/dup2.texi (dup2): Document the bug.
31749         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
31751 2015-02-23  Kevin Cernekee  <cernekee@google.com>
31753         Replace dup2() on Android
31754         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
31755         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
31756         fails.  Using rpl_dup2() fixes this because it has an explicit test
31757         for this condition.
31759 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31761         Android doesn't define RLIM_SAVED_*
31762         Portability problem reported by Kevin Cernekee in:
31763         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
31764         * doc/posix-headers/sys_resource.texi (sys/resource.h):
31765         Mention the portability problem.
31766         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
31767         Define if not defined.
31768         * m4/dup2.m4 (gl_FUNC_DUP2):
31769         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31770         Likewise.
31772 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
31774         vasnprintf-posix-tests: use consistent test
31775         * tests/test-vasnprintf-posix.c (test_function):
31776         Use "<" in assert instead of "<=", for consistency with other tests.
31778 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31780         printf, isinf, etc.: noncanonical != NaN
31781         Do not require that isinf, printf, etc. treat noncanonical
31782         values as NaNs.  Instead, require only that they do not crash.
31783         Problem reported by Joseph Myers in:
31784         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
31785         * doc/posix-functions/dprintf.texi (dprintf):
31786         * doc/posix-functions/fprintf.texi (fprintf):
31787         * doc/posix-functions/isfinite.texi (isfinite):
31788         * doc/posix-functions/isinf.texi (isinf):
31789         * doc/posix-functions/isnan.texi (isnan):
31790         * doc/posix-functions/printf.texi (printf):
31791         * doc/posix-functions/snprintf.texi (snprintf):
31792         * doc/posix-functions/sprintf.texi (sprintf):
31793         * doc/posix-functions/vdprintf.texi (vdprintf):
31794         * doc/posix-functions/vfprintf.texi (vfprintf):
31795         * doc/posix-functions/vprintf.texi (vprintf):
31796         * doc/posix-functions/vsnprintf.texi (vsnprintf):
31797         * doc/posix-functions/vsprintf.texi (vsprintf):
31798         Document this.
31799         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
31800         * m4/isinf.m4 (gl_ISINFL_WORKS):
31801         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
31802         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
31803         * tests/test-isfinite.c (test_isfinitel):
31804         * tests/test-isinf.c (test_isinfl):
31805         * tests/test-isnan.c (test_long_double):
31806         * tests/test-isnanl.h (main):
31807         * tests/test-snprintf-posix.h (test_function):
31808         * tests/test-sprintf-posix.h (test_function):
31809         * tests/test-vasnprintf-posix.c (test_function):
31810         * tests/test-vasprintf-posix.c (test_function):
31811         Test only that noncanonical values do not cause crashes, not that
31812         they are treated as NaNs.  In some cases this means a larger
31813         output buffer is needed.
31815 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
31817         fts: remove redundant close() (trivial)
31818         * lib/fts.c (fts_read): Remove redundant call to close().
31819         Spotted by coverity.
31821 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31823         getdtablesize: port better for Android
31824         Problem reported by Kevin Cernekee in:
31825         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
31826         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
31827         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
31828         Instead, just use getrlimit, taking care to avoid Cygwin bug.
31830         poll: fixes for large fds
31831         * lib/poll.c (poll): Don't check directly for NFD too large.
31832         Don't rely on undefined behavior in FD_SET when an arg exceeds
31833         FD_SETSIZE.  Always set revents afterwards, even if to zero.
31834         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
31835         as that makes the test a bit stricter.
31837 2015-02-19  Kevin Cernekee  <cernekee@google.com>
31839         fcntl: Fix cross compiling
31840         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
31841         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
31843 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
31845         dup2, fcntl: cross-compile better for Android
31846         Problem reported by Kevin Cernekee in:
31847         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
31848         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
31849         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
31850         there's little need to cross-compile for older kernels nowadays.
31851         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
31852         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
31854 2015-02-18  Pádraig Brady  <P@draigBrady.com>
31856         getopt: don't crash on memory exhaustion
31857         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
31858         memory exhaustion.  In the _LIBC case we use alloca() as is
31859         already done in glibc, so we don't need to consider the separate
31860         error path in that awkward case.  Also fix a memory leak when
31861         ambiguous options are present.
31862         Reported by Tobias Stoeckmann
31864 2015-02-17  Mike Miller  <mtmiller@ieee.org>
31866         tempname: allow compilation with C++ (trivial)
31867         * lib/tempname.h [C++]: Specify extern "C" linkage.
31868         * lib/tempname.h (try_tempname):
31869         * lib/tempname.c (__try_tempname, __gen_tempname):
31870         Rename 'try' to 'tryfunc'.
31872 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31874         dup2, fcntl: port to AIX
31875         * m4/dup2.m4 (gl_FUNC_DUP2):
31876         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31877         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
31878         The former works on AIX 7.1 but the latter does not.
31879         Also, this may work better with Android; see:
31880         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
31882 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31884         getdtablesize, dup2, fcntl: port to Android
31885         Problem reported by Kevin Cernekee in:
31886         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
31887         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
31888         Mention that getdtablesize doesn't work on Android.
31889         * lib/getdtablesize.c: Use getrlimit substitute only if
31890         getdtablesize is declared.  This should suffice for Cygwin
31891         while not breaking Android.
31892         * m4/dup2.m4 (gl_FUNC_DUP2):
31893         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31894         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
31895         standardized but the latter is not, and sysconf works on Android.
31896         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
31897         Also check that getdtablesize is declared.
31898         This removes the need for a special case for Android.
31900 2015-02-16  Kevin Cernekee  <cernekee@google.com>
31902         localename: Implement gl_locale_name_thread_unsafe for Android
31903         * lib/localename.c: Android API level >= 21 supports two hardcoded
31904         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
31905         the internal __locale_t struct.
31907 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
31909         fts: avoid crash when a cycle is added while traversing
31910         This could be triggered by auto-mounting a recursive bind mount.
31911         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
31912         * lib/fts.c (fts_read): Avoid removing the original hash table item
31913         when leaving a directory that caused a cycle, and preserve the FTS_DC
31914         flag.
31916 2015-02-16  Daiki Ueno  <ueno@gnu.org>
31918         uniname/uniname: support character alias
31919         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
31920         Generate one-way mapping from aliases to codepoints in the
31921         generated tables.  Special case variation selectors to reduce
31922         table size.
31923         * lib/uniname/uniname.c (unicode_character_name): Special case
31924         variation selectors.
31925         (unicode_name_character): Special case variation selectors and
31926         their aliases.
31927         * lib/uniname/uninames.h: Regenerate.
31928         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
31929         * modules/uniname/uniname-tests (Files): Add
31930         tests/uniname/NameAliases.txt.
31931         * tests/uniname/test-uninames.c: Mark as static.
31932         (ALIASLEN): Define.
31933         (struct unicode_alias): New struct.
31934         (unicode_aliases): New variable.
31935         (fill_aliases): New function.
31936         (test_alias_lookup): New test function.
31937         (main): Run the 'test_alias_lookup' test if the second argument is
31938         given.
31939         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
31940         second argument.
31942 2015-02-11  Kevin Cernekee  <cernekee@google.com>
31944         Fix FILE struct compatibility with Android API level >= 21
31945         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
31946         __sferror.  Recent versions of Bionic's stdio.h no longer define
31947         __sferror.
31948         * lib/fbufmode.c: Likewise.
31949         * lib/fflush.c: Likewise.
31950         * lib/fpurge.c: Likewise.
31951         * lib/freadable.c: Likewise.
31952         * lib/freadahead.c: Likewise.
31953         * lib/freading.c: Likewise.
31954         * lib/freadptr.c: Likewise.
31955         * lib/freadseek.c: Likewise.
31956         * lib/fseeko.c: Likewise.
31957         * lib/fseterr.c: Likewise.
31958         * lib/fwritable.c: Likewise.
31960         Assume unbroken ungetc() on Android
31961         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
31962         test case passed when running on an Android host, and the code
31963         hasn't really changed since 2009.
31965         getdtablesize: Fix Android build
31966         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
31967         versions have this symbol in the .so library (at least 32-bit
31968         platforms) but are missing the declaration in the header file,
31969         causing the m4 logic to guess incorrectly.
31971         localename: Fix Android build
31972         * modules/localename (Depends-on): Add langinfo.
31974         getugroups: Fix Android build
31975         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
31976         functions.
31978         euidaccess: Fix Android build
31979         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
31980         AT_EACCESS gets declared.
31982         linkat_nofollow: Add fallback case for cross compiling
31983         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
31985         net_if: Handle content-free <net/if.h> system headers
31986         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
31987         struct if_nameindex.  If not, enable the replacement header.
31989         signal_h: Fix Android build
31990         * lib/signal.in.h: Add Android to the list of platforms that declare
31991         pthread_sigmask() in <pthread.h> instead of <signal.h>.
31993         duplocale: Fix Android build of duplocale-tests
31994         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
31995         is included by test-duplocale.c (but not by duplocale.c).
31996         * modules/duplocale-tests (configure.ac): Check for monetary.h.
31997         * tests/test-duplocale.c: Skip test if monetary.h is absent.
31998         * doc/posix-headers/monetary.texi: Add Android to the list of
31999         platforms missing monetary.h.
32001 2015-02-11  Pádraig Brady  <P@draigBrady.com>
32003         tests: avoid recent -Werror=unused-variable regression in test-locale
32004         * tests/test-locale.c (main): Reference the variable to avoid the
32005         "unused variable" warning.
32007 2015-02-11  Pádraig Brady  <P@draigBrady.com>
32009         maint: various whitespace cleanups in tempname
32010         * lib/tempname.c: Normalize spacing and line length.
32011         * lib/tempname.h: Likewise.
32012         * modules/tempname: Likewise.
32014 2015-02-11  Pádraig Brady  <P@draigBrady.com>
32016         tests: provide returns_() to simplify exit status checking
32017         * tests/init.sh (returns_): A new function for use in tests,
32018         to allow for easier checking of return values, where you expect
32019         a command to exit with failure status.  By checking for a particular
32020         exit code, you don't hide any crashes for example.
32022 2015-02-11  Pádraig Brady  <P@draigBrady.com>
32024         mountlist: only use libmount when specified
32025         There are currently many shared libs dependencies introduced by
32026         libmount with associated runtime and virt mem overhead.
32027         Therefore don't enable by default.
32028         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
32030 2015-02-08  Daiki Ueno  <ueno@gnu.org>
32032         uniname/unimame-tests: don't link with -lunistring
32033         * modules/uniname/uniname-tests (Makefile.am): Don't link against
32034         $(LIBUNISTRING).  Document the rationale why we need to
32035         conditionalize the test.
32037 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
32039         fstrcmp: don't assume strlen < INT_MAX
32040         * lib/fstrcmp.c: Include stddef.h and stdint.h.
32041         (uintptr_t): Remove, as we're now assuming stdint.
32042         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
32043         Prefer ptrdiff_t to int when the value could exceed INT_MAX
32044         if the input string is long.
32045         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
32046         uintptr_t to size_t when the underlying value is a pointer casted
32047         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
32048         * modules/fstrcmp (Depends-on): Add stdint.
32050         diffseq: prefer ptrdiff_t to ssize_t
32051         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
32052         ptrdiff_t is the natural type for signed indexes.
32053         On a few older platforms, ssize_t is narrower than size_t.
32055         xalloc: fix typo that suppressed warnings
32056         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
32057         This typo, introduced a couple of years ago, mistakenly suppressed
32058         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
32059         -Wmissing-declarations warnings.
32061         full-read: fix license notice typo
32062         * lib/full-read.h: Remove a stray line in the license notice.
32063         Reported by Sam Ellis in: http://bugs.gnu.org/19808
32065         crypto/gc: fix a -Wswitch warning
32066         Reported by Bruce Korb in:
32067         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
32068         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
32070 2015-02-03  Pádraig Brady  <P@draigBrady.com>
32072         gnulib-tool: fix handling of patch(1) diagnostics
32073         * gnulib-tool: Send diagnostics from patch(1) to stderr,
32074         as otherwise gnulib-tool will reparse that output and attempt
32075         to lookup modules.
32077 2015-02-03  Pádraig Brady  <P@draigBrady.com>
32079         bootstrap: exit immediately upon gnulib-tool failure
32080         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
32081         This was noticed when gnulib-tool exited early due to failure
32082         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
32083         but various confusing errors were then given as the build proceeded.
32085 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
32087         symlinkat: include all required header files
32088         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
32089         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
32090         Reported at https://savannah.gnu.org/bugs/index.php?44151
32091         and by Jack Howarth.
32093 2015-01-29  Pádraig Brady  <P@draigBrady.com>
32095         localename: support Solaris 12 and illumos
32096         * lib/localename.c (gl_locale_name_thread_unsafe): call
32097         getlocalename_l() on newer __sun platforms.
32098         Reported by Alexander Pyhalov.
32099         Fix suggested by Rich Burridge.
32101 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
32103         locale: fix tests on illumos (trivial)
32104         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
32105         so move from global scope to main().
32107 2015-01-24  Daiki Ueno  <ueno@gnu.org>
32109         unictype: avoid undefined left-shift behavior
32110         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
32111         gcc's -fsanitize=shift and running its tests triggered:
32112           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
32113             places cannot be represented in type 'int'
32114         Cast LHS to 'unsigned int' after integer promotion.
32115         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
32116         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
32118 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32120         libunistring: bump version of unitypes dependants
32121         Due to the header file search order, all the headers which depend
32122         on unitypes.h need to be generated, when the preinstalled
32123         libunistring is older.
32124         * modules/unicase/base (configure.ac): Bump minimum version to
32125         0.9.4.
32126         * modules/uniconv/base (configure.ac): Likewise.
32127         * modules/unilbrk/base (configure.ac): Likewise.
32128         * modules/uninorm/base (configure.ac): Likewise.
32129         * modules/unistdio/base (configure.ac): Likewise.
32130         * modules/unistr/base (configure.ac): Likewise.
32131         * modules/uniwbrk/base (configure.ac): Likewise.
32132         * modules/uniwidth/base (configure.ac): Likewise.
32134 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32136         unictype/category-none: fix link with libunistring
32137         Since _UC_CATEGORY_NONE is not a public symbol, it will be
32138         prefixed with "libstring_" when compiled as part of libunistring.
32139         To avoid undefined symbol at link time, increase the minimum
32140         version when the dependant modules are updated.
32141         * modules/unictype/category-none (configure.ac): Bump minimum
32142         version to 0.9.5.
32144 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32146         unitypes: fix build with installed libunistring
32147         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
32148         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
32149         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
32151 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
32153         time: port to MinGW32 3.21
32154         Problem reported by Eli Zaretskii in:
32155         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
32156         * lib/time.in.h:
32157         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
32158         * modules/time (Depends-on):
32159         Fall back on unistd.h if the other include files don't define
32160         struct timespec.
32162         update-copyright: apply to self
32163         * build-aux/update-copyright: Fix copyright date.  How ironic!
32165 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32167         libunistring: update to Unicode 7.0.0
32168         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
32169         Manichaean names.
32170         * lib/unictype/joininggroup_name.h: Likewise.
32171         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
32172         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
32173         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
32174         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
32175         (fill_arabicshaping, joining_group_as_c_identifier): Support those
32176         enum values.
32177         (is_property_alphabetic): Accept newly added characters to
32178         cuneiform numeric signs.
32179         (is_property_default_ignorable_code_point): Reject U+0605.
32180         (FIELDLEN): Increase from 120 to 160.
32181         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
32182         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
32183         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
32184         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
32185         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
32186         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
32187         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
32188         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
32189         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
32190         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
32191         U+1E8D0..U+1E8D6.
32192         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
32193         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32194         lib/uniwidth/width.c.
32195         * all generated files under lib/uni* and tests/uni*: Regenerate.
32197 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32199         libunistring: update to Unicode 6.3.0
32200         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
32201         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
32202         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
32203         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
32204         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
32205         Update WB5, WB9, WB10, WB13a, and WB13b.
32206         * tests/uniwbrk/test-uc-wordbreaks.c
32207         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
32208         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
32209         (UC_BIDI_PDI): New enumeration values.
32210         (bidi_category_byname): Support those enum values.
32211         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
32212         dedicated property assigned.
32213         (is_property_case_ignorable): Check 0x0027.
32214         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
32215         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
32216         (output_wbp): Support those enum values.
32217         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
32218         (UC_BIDI_PDI): New enumeration values.
32219         * lib/unictype/bidi_byname.gperf: Add those property names.
32220         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
32221         U+180E, U+1A1B, and U+2066..U+2069.
32222         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32223         lib/uniwidth/width.c.
32224         * all generated files under lib/uni* and tests/uni*: Regenerate.
32226 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32228         libunistring: update to Unicode 6.2.0
32229         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
32230         (unilbrk_table): Adjust table size.
32231         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
32232         for LBP_RI.
32233         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
32234         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
32235         Normalize table index skipping ignored properties.
32236         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
32237         WBP_EXTEND and WBP_FORMAT, which are now computed without using
32238         the table.
32239         * lib/uniwbrk/wbrktable.h: Adjust table size.
32240         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
32241         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
32242         Support rule GB8a.
32243         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
32244         * tests/unigbrk/test-uc-is-grapheme-break.c
32245         (graphemebreakproperty_to_string): Support GBP_RI.
32246         * tests/uniwbrk/test-uc-wordbreaks.c
32247         (wordbreakproperty_to_string): Support WBP_RI.
32248         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
32249         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
32250         (output_lbp): Support LBP_RI.  Adjust some characters changed from
32251         LBP_AL to LBP_ID.
32252         (output_lbp): Support LBP_RI.
32253         (WBP_RI): New enumeration value.
32254         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
32255         (output_wbp): Support WBP_RI.
32256         (GBP_RI): New enumeration value.
32257         (output_gbp_test, fill_org_gbp): Support GBP_RI.
32258         * all generated files under lib/uni* and tests/uni*: Regenerate.
32260 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32262         libunistring: update to Unicode 6.1.0
32263         * lib/gen-uni-tables.c (output_joining_group): Switch to
32264         3-level table to accommodate joining groups defined with higher
32265         codepoint value.  Since there are only 88 groups defined in
32266         Unicode 7.0.0, use 7-bit packed format for level3 entries.
32267         (get_lbp): Update for Unicode 6.1.0.
32268         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
32269         3-level table.
32270         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
32271         joining group name.
32272         * lib/unictype/joininggroup_name.h: Likewise.
32273         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
32274         (unilbrk_table): Adjust table size.
32275         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
32276         for LBP_HL.
32277         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
32278         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
32279         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
32280         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
32281         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
32282         U+302E..U+302F.
32283         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32284         lib/uniwidth/width.c.
32285         * all generated files under lib/uni* and tests/uni*: Regenerate.
32286         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
32288 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32290         uniwbrk/u32-wordbreaks-tests: add conformance test
32291         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
32292         tests/uniwbrk/test-uc-wordbreaks.c,
32293         tests/uniwbrk/test-uc-wordbreaks.sh, and
32294         tests/uniwbrk/WordBreakTest.txt.
32295         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
32296         test-uc-wordbreaks to $(check_PROGRAMS), and define
32297         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
32298         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
32299         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
32301 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32303         uniwbrk: ignore Extended/Format characters at BOL not BOS
32304         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
32305         characters if the previous character property is one of
32306         WBP_NEWLINE, WBP_CR, and WBP_LF.
32308 2015-01-11  Jim Meyering  <meyering@fb.com>
32310         test-strstr.c: avoid a trivial leak
32311         * tests/test-strstr.c (main): Free haystack.
32313         update-copyright: recognize groff's \(co marker
32314         * build-aux/update-copyright (circle_c_re): Also accept
32315         uses of \(co, as found in gzip.1.
32317 2015-01-08  Pádraig Brady  <P@draigBrady.com>
32319         maint.mk: fix compatibility with OS X nm
32320         * top/maint.mk (_gl_tight_scope): Use the -g option to
32321         show exported items rather than the -e option which is
32322         ignored on all platforms except OS X where it gives an error.
32323         Reported by Assaf Gordon.
32325 2015-01-07  KO Myung-Hun  <komh@chollian.net>
32327         localcharset: improve charset detection on OS/2
32328         Use system codepage when appropriate.  Map OS/2 codepages to
32329         GNU canonical charset names if possible.
32330         * lib/config.charset: Don't output aliases if "$os" is os2*.
32331         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
32332         result for OS/2.
32333         (locale_charset) [OS2]: Use system codepage if codeset is omitted
32334         from the locale name which is neither "C" nor "POSIX".
32336 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
32338         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
32339         This reverts the last patch but one, as it shouldn't be needed now
32340         that the typo is fixed.
32341         * lib/count-leading-zeros.h (count_leading_zeros_ll):
32342         * lib/count-trailing-zeros.h:
32343         * lib/count-one-bits.h:
32344         Go back to using 64-bit intrinsics.
32346         count-leading-zeros: fix pragma typos
32347         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
32348         Fix typos in declaration of intrinsics when _MSC_VER.
32350 2015-01-06  Pádraig Brady  <P@draigBrady.com>
32352         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
32353         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
32354         intrinsics in this case.
32355         * lib/count-trailing-zeros.h: Likewise.
32356         * lib/count-one-bits.h: Likewise.
32358 2015-01-06  Daiki Ueno  <ueno@gnu.org>
32360         uniname/uniname: update to Unicode 7.0.0
32361         To accommodate new characters added since Unicode 5.1.0, this
32362         changes the internal representation of codepoint ranges.
32363         Previously, we grouped codepoint ranges by manually assigned 4-bit
32364         tag, which only allowed 16 groups.  This removes the limitation by
32365         switching to binary search on a table.  For the detail rationale
32366         and the benchmark results, see:
32367         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
32368         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
32369         to INDEX, as it no longer represents a codepoint.
32370         (range): New struct.
32371         (main): Switch to intervals list from a bit-pattern based
32372         classification.
32373         * lib/uniname/uninames.h: Regenerate.
32374         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
32375         * modules/uniname/base (configure.ac): Bump minimum version to
32376         0.9.5.
32377         * modules/uniname/uniname (configure.ac): Bump minimum version to
32378         0.9.5.
32380 2015-01-05  Eric Blake  <eblake@redhat.com>
32382         doc: update INSTALL from autoconf
32383         * doc/install.texi: Resync from autoconf.
32384         * doc/INSTALL: Reflect recent autoconf update.
32385         * doc/INSTALL.ISO: Likewise.
32386         * doc/INSTALL.UTF-8: Likewise.
32388         stdio: fix use of PRIdMAX on modern mingw
32389         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
32390         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
32391         to work with modern mingw.
32393 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
32395         pthread: detect git mingw builds with only partial pollution
32396         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
32397         pollution, as seen temporarily in Fedora 21.
32399 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
32401         lib-symbol-versions: cache script check
32402         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
32403         Cache the check for linker version scripts.
32404         From a suggestion by Christophe Curis in:
32405         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
32407 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
32409         maint: fix grammar nits in propername (trivial change)
32410         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
32411         and use an adequate verb and tense.
32413 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
32415         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
32416         * module/gendocs: Add 'doc/gendocs_template_min'.
32418         * build-aux/gendocs.sh: Change email addresses and upstream URLs
32419         from to Gnulib's.
32420         (scripturl, templateurl): Adjust accordingly.
32422 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32424         gendocs: copyright date and version fix
32425         Reported by Karl Berry in:
32426         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
32427         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
32428         Fix copyright date.
32429         * build-aux/gendocs.sh (scriptversion): Update.
32431 2015-01-01  Karl Berry  <karl@gnu.org>
32433         * doc/install.texi,
32434         * build-aux/mdate-sh,
32435         * build-aux/depcomp,
32436         * build-aux/config.guess,
32437         * build-aux/config.sub,
32438         * build-aux/ar-lib,
32439         * build-aux/compile: revert copyright updates (some from last
32440         year) in slaved files.
32442 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32444         version-etc: new year
32445         * doc/gnulib.texi:
32446         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
32447         * all files: Run 'make update-copyright'.
32449 2014-12-30  Pádraig Brady  <P@draigBrady.com>
32451         xstrtol: ensure errno is reset
32452         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
32453         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
32455         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
32457 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
32459         utimens: fix dependency typo
32460         * modules/utimens (Depends-on): Remove 'assure'.
32461         This bug was introduced in the recent 'assure' patch.
32463 2014-12-22  Eric Blake  <eblake@redhat.com>
32465         docs: mention why libgen.h is bad
32466         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
32468 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
32470         assure: new module
32471         This works better than 'assert' when compiling with -DNDEBUG,
32472         as it avoids some compiler diagnostics in that case.
32473         Reported by Norihiro Tanaka in:
32474         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
32475         * MODULES.html.sh (func_all_modules): Add 'assure'.
32476         * lib/assure.h, modules/assure: New files.
32477         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
32478         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
32479         Prefer 'assure' to 'assert'.
32480         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
32481         * modules/chdir-long, modules/cycle-check, modules/fchdir:
32482         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
32483         Depend on 'assure'.
32485 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
32487         stdalign: port better to HP compilers
32488         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
32489         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
32491         stdalign: work around Apple GCC 4.0 bug
32492         Reported by David Fang in:
32493         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
32494         * lib/stdalign.in.h (_Alignas):
32495         * m4/stdalign.m4 (gl_STDALIGN_H):
32496         Do not use aligned attribute with GCC 4.0 on Apple.
32498 2014-12-16  Pádraig Brady  <P@draigBrady.com>
32500         getcwd: fix test failure on OS X 10.9
32501         * m4/getcwd-path-max.m4: Avoid the replacement if it
32502         won't be effective due to the PATH_MAX limitation of lstat().
32503         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
32504         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
32505         for this case for use in tests, and also exclude this
32506         case when setting REPLACE_GETCWD.
32507         * tests/test-getcwd.c (test_long_name): Restrict the
32508         tested path length so that lstat() will not be passed
32509         a path greater than PATH_MAX.
32510         Also key a test condition on HAVE_OPENAT_SUPPORT rather
32511         than AT_FDCWD, since the latter is set unconditionally
32512         since Sep 2009 in commit 52c658e9.
32514 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
32516         parse-datetime: avoid a compiler warning with byacc (trivial)
32517         * lib/parse-datetime.y (yylex): Use the same prototype in the
32518         function definition as the declaration, to avoid a -Wstrict-prototypes
32519         warning seen when using byacc.
32521 2014-12-12  Daiki Ueno  <ueno@gnu.org>
32523         unicase/locale-language-tests: fix LOCALE_FR test
32524         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
32525         a French locale with traditional encoding.
32526         Reported by umerqayam in:
32527         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
32529 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32531         stddef: support C11's max_align_t
32532         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
32533         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
32534         Do not undef, as that might cause max_align_t to be defined twice.
32535         Instead, change use to check for _GL_STDDEF_WINT_T too.
32536         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
32537         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
32538         Check for max_align_t.
32539         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
32540         * modules/stddef-tests (Depends-on): Add stdalign.
32541         * tests/test-stddef.c: Test max_align_t.
32543 2014-12-11  Daiki Ueno  <ueno@gnu.org>
32545         unistd: fix iOS check conditional
32546         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
32547         as 0 or 1 in <TargetConditionals.h>, and the previous check always
32548         yielded true on non-iOS environment.
32549         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
32550         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
32551         they are defined.
32553 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
32555         posixtm: avoid compiler warning in a better way
32556         * lib/posixtm.c (IF_LINT): Remove.
32557         (year, posix_time_parse):
32558         Return true (not 0) if successful.  All callers changed.
32559         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
32561 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32563         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
32564         started with '/' on EMX.
32566 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32568         freopen: workaround freopen() on OS/2 kLIBC
32569         * lib/freopen.c (rpl_freopen): Workaround.
32570         * m4/freopen.m4: Add os2* case.
32572         get_shared_library_fullname: port to EMX
32573         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
32574         on EMX, respectively.
32575         (_DLL_InitTerm): New on EMX.
32576         (get_shared_library_fullname): Implement on EMX.
32578         find_executable: port to EMX
32579         * lib/progreloc.c (find_executable): Implement on EMX.
32581         sched: check struct sched_param in spawn.h as well
32582         * lib/sched.in.h: Include spawn.h on kLIBC.
32583         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
32585 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
32587         bootstrap: Allow perl modules in $buildreq
32588         * build-aux/bootstrap: Add case for perl modules.
32590 2014-12-08  Pádraig Brady  <P@draigBrady.com>
32592         apply _GL_ATTRIBUTE_PURE to some inline functions
32593         clang 3.4.2 flagged these inline functions as pure
32594         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
32595         * lib/sig-handler.h (get_handler): Likewise.
32596         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
32597         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
32599 2014-12-06  Pádraig Brady  <P@draigBrady.com>
32601         vasnprintf: fix potential use after free
32602         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
32603         flagged by clang-analyzer 3.4.2.
32605 2014-12-05  Pádraig Brady  <P@draigBrady.com>
32607         filevercmp, posixtm: avoid compiler warnings with -O3
32608         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
32609         * lib/posixtm.c: (IF_LINT): Define.
32610         (posix_time_parse): Use it to void a "may be used uninitialized"
32611         warning, seen only with -O3.
32613 2014-12-05  Bruno Haible  <bruno@clisp.org>
32615         Fix LDBL80_WORDS macro on big endian platforms.
32616         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
32617         LDBL80_WORDS macro.
32618         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32619         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32620         * tests/test-isfinite.c (test_isfinitel): Likewise.
32621         * tests/test-isinf.c (test_isinfl): Likewise.
32622         * tests/test-isnan.c (test_long_double): Likewise.
32623         * tests/test-isnanl.h (main): Likewise.
32624         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
32625         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
32626         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
32627         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
32628         Reported by Pádraig Brady.
32630 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
32632         git-version-gen: do not print new line characters
32633         * build-aux/git-version-gen: Use printf instead of echo and tr.
32635         gnulib-tool: recognize x:* as an absolute path
32636         * gnulib-tool (func_gnulib_dir): Add ?:* case.
32637         (func_relconcat): Likewise.
32639 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
32641         argp: avoid extraneous translation and mem leak with empty pre doc
32642         * lib/argp-help.c (argp_doc): Never translate the empty string,
32643         when "\v" is the first or last character of the string, as that
32644         has a reserved meaning to return the header info from a po file.
32645         This also fixes a small memory leak in the !post case.
32646         The issue can be seen with this command for example:
32647         LC_MESSAGES=en_US grub2-mknetdir --help
32649 2014-11-27  Daiki Ueno  <ueno@gnu.org>
32651         uniname/uniname-tests: skip if system's libunistring is used
32652         * modules/uniname/uniname-tests (Makefile.am): Skip test if
32653         uniname/uniname module is not compiled.
32655 2014-11-27  Pádraig Brady  <P@draigBrady.com>
32657         printf: fix configure check on big endian systems
32658         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
32660 2014-11-22  Daiki Ueno  <ueno@gnu.org>
32662         pipe-filter-gi, pipe-filter-ii: port to AIX
32663         On AIX 7.1, 'select' is defined as static and cannot be referred
32664         to from inline function.
32665         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
32666         the definition...
32667         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
32668         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
32670 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32672         gitlog-to-changelog: add --until
32673         * build-aux/gitlog-to-changelog: Support new --until option.
32674         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
32676 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
32678         extern-inline: update commentary about GCC bugs
32679         * m4/extern-inline.m4: Add another GCC bug number to comments.
32681 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32683         gen-uni-tables: untabify
32684         * lib/gen-uni-tables.c: Untabify.
32686 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32688         gen-uni-tables: check out-of-range values added to 3-level tables
32689         * lib/gen-uni-tables.c (output_category, output_bidi_category)
32690         (output_joining_type, output_ident_category): Check out-of-range
32691         values added to 3-level tables.
32693 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32695         gen-uni-tables: utilize 'assert'
32696         * lib/gen-uni-tables.c: Include <assert.h>.
32697         (output_category, output_combclass, output_decimal_digit_test)
32698         (output_decimal_digit, output_digit_test, output_digit)
32699         (output_numeric, get_mirror_value, fill_properties)
32700         (fill_property30, is_property_alphabetic)
32701         (is_property_default_ignorable_code_point)
32702         (is_property_uppercase, is_property_lowercase)
32703         (is_property_cased, is_property_case_ignorable)
32704         (is_property_changes_when_lowercased, is_property_iso_control)
32705         (is_property_math, fill_arabicshaping, output_joining_group)
32706         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
32707         (output_wbp, fill_org_gbp, get_decomposition)
32708         (output_decomposition, fill_composition_exclusions)
32709         (debug_output_composition_tables, output_composition_tables)
32710         (redistribute_casefolding_rules, output_casing_rules): Use
32711         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
32712         reporting.
32714 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32716         gen-uni-tables: cosmetic improvements
32717         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
32718         variables specification.
32719         (is_outdigit): Remove unused function.
32721 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
32723         fcntl-h-tests: port to PA-RISC GNU/Linux
32724         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
32726 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
32728         fts: port to C89
32729         Problem reported for MSVC 16 by Gisle Vanem in:
32730         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
32731         * lib/fts.c (fts_build): Avoid declaration before statement.
32733 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
32735         unistd: port to iOS
32736         Problem reported by André Klitzing in:
32737         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
32738         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
32740 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
32742         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
32743         Problem reported by Alan Modra in:
32744         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
32745         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
32746         Always cast the function arg, reverting this part of the previous
32747         change.
32749 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
32751         obstack: avoid potentially-nonportable function casts
32752         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
32753         Remove, replacing with ...
32754         (call_chunkfun, call_freefun): New static functions.
32755         All uses changed.  Avoid potentially-nonportable casts.
32756         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
32757         (_obstack_begin_worker): Omit last two args, since they
32758         rely on potentially-nonportable casts.  All callers changed.
32759         * lib/obstack.h (_OBSTACK_CAST): New macro.
32760         Use it everywhere the old API used a potentially-nonportable cast.
32761         The new API doesn't cast.
32762         (struct obstack): Use unions rather than requiring
32763         potentially-nonportable casts.
32764         (obstack_chunkfun, obstack_freefun): Return void.
32766 2014-11-03  Alan Modra  <amodra@gmail.com>
32768         obstack: fix macro return values
32769         * lib/obstack.h (obstack_next_free): Return void *.
32770         (obstack_1grow_fast, obstack_blank_fast): Return void.
32771         For __GNUC__ macros:
32772         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
32773         For !__GNUC__ macros:
32774         (obstack_make_room, obstack_grow, obstack_grow0)
32775         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
32777 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
32779         obstack: do not assume system-supplied obstack is size_t safe
32780         * m4/obstack.m4: New file.
32781         * modules/obstack (Files): Add it.
32783         obstack: port to platforms that #define __alignof__
32784         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
32785         not if !_LIBC.  We don't know of any platforms that #define
32786         __alignof__, but it might be useful in tests.  Conversely,
32787         glibc assumes GCC.
32789 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32791         linkat: don't unconditionally replace on GNU/Linux
32792         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
32793         was redundant for a few reasons.  It was present to support compiling
32794         on new systems but running on the old narrow window of Linux 2.6.1[67].
32795         It setup and cleaned up test files which weren't actually used.
32796         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
32797         implicit in the following check.
32799 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32801         linkat: wrap to handle symlinks on OS X 10.10
32802         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
32803         but not usable because it doesn't support creating hardlinks
32804         to symlinks.  Therefore add a generic test for this capability
32805         and fallback to our emulation if linkat() fails with ENOTSUP.
32807 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32809         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
32810         * doc/posix-functions/open.texi (open):
32811         * doc/posix-functions/openat.texi (openat):
32812         Document that these functions do not set errno to ELOOP when
32813         a symlink is opened with O_NOFOLLOW.
32815 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32817         obstack: add NEWS entry for recent incompatible changes
32818         * NEWS: Describe recent changes.
32820 2014-10-30  Pádraig Brady  <P@draigBrady.com>
32822         mountlist: don't use libmount to decide on dummy/remote
32823         * lib/mountlist.c (read_file_system_list): Don't use the libmount
32824         routines to determine whether a file system is dummy or remote,
32825         as they're not currently compatible.  For example the remoteness
32826         is determined on file system type (for which the list seems incomplete),
32827         rather than simply checking for a ':' in the device name.
32828         Also libmount currently determines that 'tmpfs' is a dummy file system
32829         even though it has associated storage.
32831 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
32833         obstack: prefer __alignof__ to alignof
32834         This is for portability to pre-4.7 GCC when compiling glibc.
32835         See Joseph S. Myers in:
32836         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
32837         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
32838         New macro, defined by including and using <alignof.h>.
32839         (MAX): New macro.
32840         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
32841         Do not use enums as they are not portable to some broken compilers.
32842         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
32844         obstack: prefer alignof to calculating alignments by hand
32845         * lib/obstack.c: Include <stdalign.h>.
32846         (struct fooalign): Remove.
32847         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
32848         * modules/obstack (Depends-on): Add stdalign.
32850 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
32852         obstack: use size_t alignments and check for overflow
32853         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
32854         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
32855         * lib/obstack.h (struct obstack.alignment_mask):
32856         Use _OBSTACK_SIZE_T, not int, for alignments.
32857         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
32858         overflows, e.g., when adding the alignment.
32860 2014-10-29  Alan Modra  <amodra@gmail.com>
32862         obstack: 64-bit obstack support, part 3
32863         This finally enables full 64-bit obstack support.  The glibc
32864         shared library specific code is removed from obstack.c too, and
32865         the error handling code conditionally compiled under control of
32866         another macro, _OBSTACK_NO_ERROR_HANDLER.
32867         * lib/obstack.h: Include string.h earlier.
32868         (_OBSTACK_INTERFACE_VERSION): Define.
32869         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
32870         * lib/obstack.c: Don't include shlib-compat.h.
32871         (OBSTACK_INTERFACE_VERSION): Delete.
32872         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
32873         glibc code is compatible with version 2.  Don't include stdio.h for
32874         __GNU_LIBRARY.
32875         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
32876         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
32877         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
32878         glibc shared library specific source.
32880         obstack: 64-bit obstack support, part 2
32881         This gets us 4G obstack support, without changing ABI
32882         compatibility, apart from possibly introducing some
32883         signed/unsigned comparison warnings in code that uses obstack.h.
32884         a) Replace "int" size parameters, return values, and macro local vars
32885            with _OBSTACK_SIZE_T, an "unsigned int" for now.
32886         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
32887         c) Make all obstack macros checking available room use obstack_room.
32888            "next_free + desired > chunk_limit" may wrap the lhs for chunks
32889            allocated near the top of memory.
32890         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
32891         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
32892         in place of "int" size parameters, return values and local vars.
32893         (_CHUNK_SIZE_T): Define.
32894         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
32895         union use an _OBSTACK_SIZE_T integer type.
32896         For __GNUC__ versions of the following macros...
32897         (obstack_room): Rename local var.
32898         (obstack_make_room): Use obstack_room.
32899         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32900         obstack_int_grow, obstack_blank): Likewise.
32901         (obstack_finish): Use unsigned comparison when comparing aligned
32902         next_free against chunk_limit.
32903         (obstack_free): Cast OBJ to remove possible const qualifier.
32904         For !__GNUC__ versions of the following macros...
32905         (obstack_make_room): Use obstack_room.
32906         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32907         obstack_int_grow, obstack_blank): Likewise.
32908         (obstack_finish): Use unsigned comparision when comparing aligned
32909         next_free against chunk_limit.
32910         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
32911         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
32912         _OBSTACK_SIZE_T.
32913         (_obstack_begin, _obstack_begin_1): Likewise.
32914         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
32915         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
32917         obstack: 64-bit obstack support, part 1
32918         a) Correct calls to alloc function, to use a size_t arg.  "long" is
32919            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
32920            and "size_t" 64 bits.
32921         b) Consolidate _obstack_begin and _obstack_begin1 code.
32922         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
32923         use "size_t" rather than "long".
32924         (_obstack_begin, _obstack_begin1): Likewise.
32925         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
32926         obstack_chunkfun): Update alloc function casts.
32927         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
32928         (chunkfun_type, freefun_type): New typdefs.
32929         (_obstack_begin_worker): Split out from ..
32930         (_obstack_begin, _obstack_begin_1): ..here.
32932         obstack: tidy part 2
32933         a) Don't be concerned about "not polluting the namespace with stddef.h
32934            symbols" in obstack.h, since gnulib string.h includes stddef.h
32935            anyway, and it seems unlikely that anyone would care.
32936         b) Don't roll our own slow memcpy in _obstack_newchunk.
32937         c) Rename obstack_free to _obstack_free.  This makes the naming
32938            consistent with other obstack functions and obviates the need for
32939            __obstack_free.  Ancient obstack.c defined both obstack_free and
32940            _obstack_free.  We continue to do that for _LIBC via an alias.
32941         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
32942            is clever, but nowadays gcc warns on undefined macros.  You'll get
32943            an undefined macro warning if simulating an old gcc with -U__GNUC__
32944            -U__GNUC_MINOR__ -D__GNUC__=1.
32945         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
32946         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
32947         (__obstack_free): Delete, update refs.
32948         (_obstack_free): Rename from obstack_free.
32949         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
32950         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
32951         * lib/obstack.c: Don't include stddef.h.
32952         (COPYING_UNIT): Delete.
32953         (_obstack_begin): Formatting fix.
32954         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
32955         (_obstack_free): Rename from __obstack_free, update alias.  Move
32956         undef of obstack_free to where it is needed.
32958         obstack: tidy part 1
32959         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
32960            to me, and result in overlong lines after later patches.
32961         b) Move error handling code, to avoid a forward declaration and to
32962            simplify later patches in this series.
32963         * lib/obstack.h (struct obstack <temp>): Rename fields of union
32964         and update all uses.
32965         * lib/obstack.c: Include stdlib.h earlier.
32966         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
32967         in file.
32968         (print_and_abort): Remove now redundant forward declaration.
32970 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32972         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
32973         Without this change, in bleeding-edge fileutils Autoconf complains
32974         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
32975         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
32976         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
32977         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
32979 2014-10-24  Daiki Ueno  <ueno@gnu.org>
32981         iconv: avoid false detection of non-working iconv
32982         The INBUF arguments of iconv can be either 'const char **'
32983         or 'char **'.  If CC is g++, the difference causes a compile error
32984         and thus leads to a false detection of non-working iconv.
32985         Reported by Eli Zaretskii and Werner LEMBERG in:
32986         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
32987         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
32988         iconv.  Bump serial number.
32990 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32992         bootstrap: print more diagnostics for missing programs
32993         * build-aux/bootstrap: only suppress stderr when checking for
32994         alternative program names.  This supports programs issuing non
32995         standard error messages.
32997 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32999         bootstrap: only update the gnulib submodule
33000         * build-aux/bootstrap: Restrict the "submodule update" command
33001         to the gnulib path.
33003 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
33005         symlinkat: port to AIX 7.1
33006         * doc/posix-functions/symlinkat.texi (symlinkat):
33007         Mention AIX porting problem.
33008         * lib/symlinkat.c: Always include errno.h.
33009         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
33010         * lib/unistd.in.h (symlinkat): Add replacement machinery.
33011         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
33012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
33013         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
33014         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
33015         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
33017         readlinkat: port to AIX 7.1
33018         * doc/posix-functions/readlink.texi (readlink):
33019         * doc/posix-functions/readlinkat.texi (readlinkat):
33020         Mention AIX porting problem.
33021         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
33022         New function.
33023         * lib/unistd.in.h (readlinkat): Add replacement machinery.
33024         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
33025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
33026         * modules/readlinkat (configure.ac): Also compile replacement
33027         if REPLACE_READLINKAT.
33028         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
33030 2014-10-12  Karl Berry  <karl@gnu.org>
33032         * doc/posix-functions/dirname.texi: remove spurious {.
33034 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
33036         basename, dirname: Improve documentation.
33037         * doc/posix-functions/basename.texi: Mention dirname module and
33038         base_name() function.
33039         * doc/posix-functions/dirname.texi: Mention dir_name() and
33040         mdir_name() functions.
33041         Suggested by Werner LEMBERG <wl@gnu.org>.
33043 2014-09-24  Jim Meyering  <meyering@fb.com>
33045         exclude: declare exclude_patopts static
33046         * lib/exclude.c (exclude_patopts): Declare static,
33047         to avoid triggering a -Wmissing-prototypes warning.
33048         The alternative (declaring it in the .h file) would
33049         require publicizing the private "struct patopts".
33051 2014-09-21  Werner Lemberg  <wl@gnu.org>
33053         dirname: support compilation with C++
33054         * lib/dirname.h: Add necessary C linkage declarations.
33056 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
33058         qsort_r: include <config.h>
33059         Problem reported by Tom G. Christensen in:
33060         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
33061         * lib/qsort.c [!_LIBC]: Include <config.h> first.
33063 2014-09-16  Dylan Cali  <calid1984@gmail.com>
33065         avltree-list: avoid compiler warnings (trivial)
33066         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
33067         -Werror=suggest-attribute=pure.
33068         * lib/gl_array_list.c: Likewise.
33069         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
33070         declaration to avoid -Werror=missing-prototypes.  This is not added
33071         to a header as only exported for tests.  Add (void) to the
33072         check_invariants() call to indicate we're discarding the result
33073         in this context which avoids -Werror=unused-value.  Note we don't
33074         use ignore_value here to avoid a dependency as we know we'll not
33075         be adding __attribute__((warn_unused_result)) to check_invariants().
33076         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
33078 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33080         qsort_r: new module, for GNU-style qsort_r
33081         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
33083 2014-09-15  Werner LEMBERG  <wl@gnu.org>
33085         strerror_r-posix: support compilation with C++
33086         * lib/strerror_r.c: Add necessary C linkage declarations.
33088 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
33090         fcntl-h: fix compilation with Intel C++ compiler (trivial)
33091         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
33093 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
33095         mountlist: use /proc/self/mountinfo when available
33096         Use libmount to propagate device IDs provided by Linux in
33097         /proc/self/mountinfo.  This will give more accurate output when
33098         using df in chroot'ed environments as the device IDs are not
33099         determined by stat() which may be inaccurate within the chroot.
33100         * lib/mountlist.c (read_file_system_list): Use the libmount routines
33101         from util-linux to parse "/proc/self/mountinfo" or fall back to
33102         standard getmntent() processing.
33103         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
33104         getmntent() is used, as is the case on GNU/Linux.
33106 2014-09-07  Eric Wong  <normalperson@yhbt.net>
33108         users.txt: add cmogstored
33109         cmogstored has used gnulib since the beginning in 2012 to support
33110         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
33112 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
33114         Trivial change.
33115         * gnulib-tool: Use same options as build-aux/bootstrap to download
33116         PO files.
33118 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
33120         Trivial change.
33121         * gnulib-tool: Fallback to wget when rsync of PO files fails.
33123 2014-09-04  Eric Blake  <eblake@redhat.com>
33125         maintainer-makefile: add syntax check for useless ';;'
33126         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
33128 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
33130         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
33131         Problem reported by Assaf Gordon in:
33132         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
33133         Apparently Ubuntu is doing some fancy link-time optimization
33134         that doesn't work with -lpthread but does work with -pthread.
33135         Work around the bug by preferring -pthread to -lpthread.
33136         * m4/pthread.m4 (gl_PTHREAD_CHECK):
33137         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
33138         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33139         Treat -pthread like -lpthread.
33141 2014-09-04  Eric Blake  <eblake@redhat.com>
33143         error: drop spurious semicolon
33144         * lib/error.c (__error_at_line): Fix ';;'.
33146 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
33148         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
33149         * m4/gnulib-common.m4 (AC_C_RESTRICT):
33150         Override AC_C_RESTRICT unconditionally.
33151         Update from autoconf, incorporating:
33152         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
33153         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
33155 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33157         manywarnings: add GCC 4.9 warnings
33158         Also, make it easier to maintain this in the future.
33159         * build-aux/gcc-warning.spec: Add -Wabi-tag,
33160         -Wconditionally-supported, -Wdelete-incomplete,
33161         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
33162         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
33163         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
33164         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
33165         only for older GCC versions that need them.  Handle
33166         -Wnormalized=nfc specially, so that the 'comm' command used
33167         for maintenance doesn't get confused.
33169 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33171         vasnprintf: fix bugs in width computation
33172         * lib/vasnprintf.c (VASNPRINTF):
33173         Rework previous change, which introduced a bug,
33174         to avoid the warning in a different way.
33175         Avoid undefined behavior if the width arg is less than -INT_MAX.
33176         Avoid unnecessary use of HAS_WIDTH local.
33178 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
33180         vasnprintf: Avoid signed/unsigned comparison warning.
33181         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
33182         compare end addr of generated string w/ maximum end addr.
33184 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
33186         parse-datetime: Avoid pointer difference.
33187         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
33188         instead of calculating difference of pointers.  This removes an
33189         annoying warning, devoid of any use.
33191 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
33193         qsort_r: new module, for GNU-style qsort_r
33194         This works even on FreeBSD, which has an incompatible qsort_r API.
33195         * MODULES.html.sh: Add it.
33196         * doc/glibc-functions/qsort_r.texi: It's now supported.
33197         * lib/qsort.c: New file, taken from glibc with minor changes
33198         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
33199         removed.
33200         * lib/qsort_r.c: New file, compiled only on FreeBSD.
33201         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
33202         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
33203         * modules/qsort_r, modules/qsort_r-tests: New files.
33204         * modules/stdlib (Makefile): Set up its defaults.
33205         * tests/test-qsort_r.c: New file.
33207 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
33209         vla: new module
33210         GNU RCS can use this, mostly for documentation I expect.  See:
33211         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
33212         * MODULES.html.sh: Add vla.
33213         * lib/vla.h, modules/vla: New files.
33215 2014-08-07  Daiki Ueno  <ueno@gnu.org>
33217         localename: make gl_locale_name_thread really thread-safe on Windows
33218         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
33219         "glthread/lock.h".
33220         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
33221         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
33223 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
33225         getpass: don't assume struct termios
33226         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
33227         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
33228         * lib/getpass.c (getpass): Port to systems lacking struct termios.
33230         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
33231         Problem reported by Jonas 'Sortie' Termansen in:
33232         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
33233         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
33234         Implement via sysconf for platforms that lack getdtablesize.
33236         vararrays: modernize AC_C_VARARRAYS for C11
33237         This backports a change I recently made to Autoconf.
33238         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
33239         VLAs are not supported, as this is what C11 does.  The old macro
33240         HAVE_C_VARARRAYS is still defined if they are supported, but is
33241         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
33243 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
33245         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
33246         * build-aux/install-reloc (func_create_wrapper): Also wrap
33247         strerror-override, stat, stat.
33249 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
33251         sys_select: fix FD_ZERO problem on Solaris 10
33252         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
33253         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
33254         to expand to an expression that invoked memset without necessarily
33255         including <string.h>.  The problem was that the first include
33256         defined _SYS_TIME_H, causing the second include to short-circuit.
33257         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
33258         Also, fix what appears to be a cut-and-paste typo, by replacing
33259         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
33260         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
33262         accept: document Solaris 10 type glitch
33263         * doc/posix-functions/accept.texi (accept): Mention that
33264         Solaris 10 'accept' takes void * last arg, not socklen_t *.
33266 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
33268         extern-inline: port to FreeBSD, DragonFly
33269         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
33270         is present if either __DragonFly__ or __FreeBSD__ is defined.
33271         FreeBSD problem reported by Andrey Borzenkov in:
33272         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
33273         Also, worry about __APPLE__ only if __MACH__ is also defined,
33274         as this is more consistent with the rest of gnulib.
33275         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
33276         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
33278 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
33280         regex: Make #if/#ifdef usage consistent for DEBUG
33281         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
33282         of the inconsistent usage of #if and #ifdef as that works with
33283         both Glibc and Gnulib's style.
33285 2014-07-31  Eric Blake  <eblake@redhat.com>
33287         openat-die: use _Noreturn markup
33288         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
33289         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
33290         _Noreturn.
33292 2014-07-30  Eric Blake  <eblake@redhat.com>
33294         test-open: port to cygwin, which lacks Fortify
33295         * tests/test-open.h (ALWAYS_INLINE): New macro.
33296         (__always_inline): Don't abuse internal symbol on non-glibc.
33298 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
33300         localename: Enforce declarations before statements.
33301         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
33302         first statement.
33304 2014-07-18  Jim Meyering  <meyering@fb.com>
33306         test-userspec: don't look up numeric user names
33307         * tests/test-userspec.c: I found a system for which getpwnam("0")
33308         returned a pointer to a non-root user's entry, and that made the
33309         test fail.
33310         (T): Prefix each numeric input with "+", to inhibit lookup.
33312 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
33314         localcharset, localename: MS-Windows support for non-default locales
33315         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
33316         falling back on the default system codepage, try extracting
33317         the codepage from what 'setlocale' returns.  This allows to
33318         take into account changes of the codeset due to non-default
33319         locale set by a previous call to 'setlocale'.
33320         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
33321         Define if not already defined.
33322         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
33323         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
33324         current locale by calling 'setlocale', then converting the
33325         locale name into LCID by calling 'get_lcid'.  This allows to
33326         take into account changes in the current locale from the
33327         default one, in contrast to GetThreadLocale.
33329 2014-07-14  Daiki Ueno  <ueno@gnu.org>
33331         announce-gen: avoid failure when Digest::SHA is installed
33332         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
33333         Digest::SHA1->new in print_checksums fails.
33334         * build-aux/announce-gen (digest_classes): New associative array
33335         for available message digest implementations.
33336         (print_locations): Use it.
33338 2014-07-13  Pádraig Brady  <P@draigBrady.com>
33340         gettext: revert "update macros to version 0.19"
33341         This reverts commit 9b9370ca, as it currently requires that
33342         developers of any project that explicitly uses the gettext module
33343         or implicitly uses it through the utimens-tests or
33344         futimens-tests modules, use gettext >= 0.19.
33345         However there are some stability and availablity issues with
33346         that version at present.  We can reinstate this soon, when stability
33347         is addressed and packages are more readily available.
33349 2014-07-12  Jim Meyering  <meyering@fb.com>
33351         regex: don't deref NULL upon heap allocation failure
33352         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
33353         failure in one more place.
33354         To trigger the segfault, configure grep -with-included-regex,
33355         build it, and run these commands:
33356         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
33357         I discovered this while replying to a private report from
33358         Jens Schleusener about excessive memory consumption by grep
33359         when using a regular expression like the one above.
33361 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
33363         regex: fix memory leak in compiler
33364         Fix by Andreas Schwab in:
33365         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
33366         * lib/regcomp.c (parse_reg_exp): Deallocate partially
33367         constructed tree before returning error.
33369 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
33371         announce-gen: avoid perl warnings
33372         * build-aux/announce-gen: add two minor checks to avoid
33373         "use of uninitialized value" warnings when command-line parameters are
33374         missing.
33376 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
33378         localename: avoid -Wsuggest-attribute={const,pure} warnings
33379         * lib/localename.c (string_has): Tag internal function as pure.
33380         * lib/localename.h (gl_locale_name_default): Tag extern declaration
33381         as const when appropriate.
33383 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
33385         nl_langinfo: Fix last change.
33386         * lib/nl_langinfo.c (includes): Drop redundant include.
33388 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
33390         error: Fix -Wundef warnings in glibc
33391         * lib/error.c [_LIBC]: Define default macros for
33392         glibc.
33393         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
33394         Check _LIBC before STRERROR_R_CHAR_P.
33396         error: Sync from glibc master
33397         * lib/error.c [_LIBC]: Remove INTUSE usage.
33398         (error_tail): Remove unused macro ALLOCA_LIMIT.
33399         Fix potential buffer overflow.  Fix potential NULL dereference
33400         in strcmp.
33402 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
33404         nl_langinfo: fix build under mingw
33405         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
33407 2014-07-09  Andrew D Warshall  <warshall@99main.com>
33409         mountlist: do not classify a bind-mounted dir entry as "dummy"
33410         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
33411         1-argument getmntent() (instead of assuming absence).
33413 2014-07-08  Eric Blake  <eblake@redhat.com>
33415         maint.mk: less syntax-check noise when SIGPIPE is ignored
33416         * top/maint.mk (_sc_header_without_use)
33417         (sc_require_config_h_first): Parse full list.
33419 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
33420             Paul Eggert  <eggert@cs.ucla.edu>
33422         nl_langinfo: CODESET on MS-Windows and more items from localeconv
33423         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
33424         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
33425         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
33426         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
33427         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
33428         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
33429         Include <stdio.h> if Microsoft Windows.
33430         Include <time.h> if !REPLACE_NL_LANGINFO.
33431         (ctype_codeset): New function, taken from rpl_nl_langinfo,
33432         and with improvements for Microsoft Windows.
33433         (rpl_nl_langinfo): Use it.
33434         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
33435         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
33436         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
33437         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
33438         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
33439         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
33440         corresponding values returned by 'localeconv'.  Compute the values
33441         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
33442         'strftime' with a suitable struct tm value.
33444 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33446         Bruno Haible has stepped down as maintainer.
33447         See Karl Berry in:
33448         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
33449         Daiki Ueno has volunteered to maintain libunistring; see:
33450         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
33451         * modules/gen-uni-tables, modules/libunistring:
33452         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
33453         * modules/unicase/base, modules/unicase/cased:
33454         * modules/unicase/empty-prefix-context:
33455         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
33456         * modules/unicase/locale-language, modules/unicase/special-casing:
33457         * modules/unicase/tocasefold, modules/unicase/tolower:
33458         * modules/unicase/totitle, modules/unicase/toupper:
33459         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
33460         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
33461         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
33462         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
33463         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
33464         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
33465         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
33466         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
33467         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
33468         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
33469         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
33470         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
33471         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
33472         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
33473         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
33474         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
33475         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
33476         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
33477         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
33478         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
33479         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
33480         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
33481         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
33482         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
33483         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
33484         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
33485         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
33486         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
33487         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
33488         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
33489         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
33490         * modules/unicase/ulc-casexfrm, modules/unicodeio:
33491         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
33492         * modules/uniconv/u16-conv-to-enc:
33493         * modules/uniconv/u16-strconv-from-enc:
33494         * modules/uniconv/u16-strconv-from-locale:
33495         * modules/uniconv/u16-strconv-to-enc:
33496         * modules/uniconv/u16-strconv-to-locale:
33497         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
33498         * modules/uniconv/u32-strconv-from-enc:
33499         * modules/uniconv/u32-strconv-from-locale:
33500         * modules/uniconv/u32-strconv-to-enc:
33501         * modules/uniconv/u32-strconv-to-locale:
33502         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
33503         * modules/uniconv/u8-strconv-from-enc:
33504         * modules/uniconv/u8-strconv-from-locale:
33505         * modules/uniconv/u8-strconv-to-enc:
33506         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
33507         * modules/unictype/bidicategory-all:
33508         * modules/unictype/bidicategory-byname:
33509         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
33510         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
33511         * modules/unictype/bidiclass-byname:
33512         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
33513         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
33514         * modules/unictype/block-all, modules/unictype/block-list:
33515         * modules/unictype/block-of, modules/unictype/block-test:
33516         * modules/unictype/category-C, modules/unictype/category-Cc:
33517         * modules/unictype/category-Cf, modules/unictype/category-Cn:
33518         * modules/unictype/category-Co, modules/unictype/category-Cs:
33519         * modules/unictype/category-L, modules/unictype/category-LC:
33520         * modules/unictype/category-Ll, modules/unictype/category-Lm:
33521         * modules/unictype/category-Lo, modules/unictype/category-Lt:
33522         * modules/unictype/category-Lu, modules/unictype/category-M:
33523         * modules/unictype/category-Mc, modules/unictype/category-Me:
33524         * modules/unictype/category-Mn, modules/unictype/category-N:
33525         * modules/unictype/category-Nd, modules/unictype/category-Nl:
33526         * modules/unictype/category-No, modules/unictype/category-P:
33527         * modules/unictype/category-Pc, modules/unictype/category-Pd:
33528         * modules/unictype/category-Pe, modules/unictype/category-Pf:
33529         * modules/unictype/category-Pi, modules/unictype/category-Po:
33530         * modules/unictype/category-Ps, modules/unictype/category-S:
33531         * modules/unictype/category-Sc, modules/unictype/category-Sk:
33532         * modules/unictype/category-Sm, modules/unictype/category-So:
33533         * modules/unictype/category-Z, modules/unictype/category-Zl:
33534         * modules/unictype/category-Zp, modules/unictype/category-Zs:
33535         * modules/unictype/category-all, modules/unictype/category-and:
33536         * modules/unictype/category-and-not, modules/unictype/category-byname:
33537         * modules/unictype/category-longname, modules/unictype/category-name:
33538         * modules/unictype/category-none, modules/unictype/category-of:
33539         * modules/unictype/category-or, modules/unictype/category-test:
33540         * modules/unictype/category-test-withtable:
33541         * modules/unictype/combining-class:
33542         * modules/unictype/combining-class-all:
33543         * modules/unictype/combining-class-byname:
33544         * modules/unictype/combining-class-longname:
33545         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
33546         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
33547         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
33548         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
33549         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
33550         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
33551         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
33552         * modules/unictype/digit, modules/unictype/joininggroup-all:
33553         * modules/unictype/joininggroup-byname:
33554         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
33555         * modules/unictype/joiningtype-all:
33556         * modules/unictype/joiningtype-byname:
33557         * modules/unictype/joiningtype-longname:
33558         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
33559         * modules/unictype/mirror, modules/unictype/numeric:
33560         * modules/unictype/property-all, modules/unictype/property-alphabetic:
33561         * modules/unictype/property-ascii-hex-digit:
33562         * modules/unictype/property-bidi-arabic-digit:
33563         * modules/unictype/property-bidi-arabic-right-to-left:
33564         * modules/unictype/property-bidi-block-separator:
33565         * modules/unictype/property-bidi-boundary-neutral:
33566         * modules/unictype/property-bidi-common-separator:
33567         * modules/unictype/property-bidi-control:
33568         * modules/unictype/property-bidi-embedding-or-override:
33569         * modules/unictype/property-bidi-eur-num-separator:
33570         * modules/unictype/property-bidi-eur-num-terminator:
33571         * modules/unictype/property-bidi-european-digit:
33572         * modules/unictype/property-bidi-hebrew-right-to-left:
33573         * modules/unictype/property-bidi-left-to-right:
33574         * modules/unictype/property-bidi-non-spacing-mark:
33575         * modules/unictype/property-bidi-other-neutral:
33576         * modules/unictype/property-bidi-pdf:
33577         * modules/unictype/property-bidi-segment-separator:
33578         * modules/unictype/property-bidi-whitespace:
33579         * modules/unictype/property-byname:
33580         * modules/unictype/property-case-ignorable:
33581         * modules/unictype/property-cased:
33582         * modules/unictype/property-changes-when-casefolded:
33583         * modules/unictype/property-changes-when-casemapped:
33584         * modules/unictype/property-changes-when-lowercased:
33585         * modules/unictype/property-changes-when-titlecased:
33586         * modules/unictype/property-changes-when-uppercased:
33587         * modules/unictype/property-combining:
33588         * modules/unictype/property-composite:
33589         * modules/unictype/property-currency-symbol:
33590         * modules/unictype/property-dash:
33591         * modules/unictype/property-decimal-digit:
33592         * modules/unictype/property-default-ignorable-code-point:
33593         * modules/unictype/property-deprecated:
33594         * modules/unictype/property-diacritic:
33595         * modules/unictype/property-extender:
33596         * modules/unictype/property-format-control:
33597         * modules/unictype/property-grapheme-base:
33598         * modules/unictype/property-grapheme-extend:
33599         * modules/unictype/property-grapheme-link:
33600         * modules/unictype/property-hex-digit:
33601         * modules/unictype/property-hyphen:
33602         * modules/unictype/property-id-continue:
33603         * modules/unictype/property-id-start:
33604         * modules/unictype/property-ideographic:
33605         * modules/unictype/property-ids-binary-operator:
33606         * modules/unictype/property-ids-trinary-operator:
33607         * modules/unictype/property-ignorable-control:
33608         * modules/unictype/property-iso-control:
33609         * modules/unictype/property-join-control:
33610         * modules/unictype/property-left-of-pair:
33611         * modules/unictype/property-line-separator:
33612         * modules/unictype/property-logical-order-exception:
33613         * modules/unictype/property-lowercase, modules/unictype/property-math:
33614         * modules/unictype/property-non-break:
33615         * modules/unictype/property-not-a-character:
33616         * modules/unictype/property-numeric:
33617         * modules/unictype/property-other-alphabetic:
33618         * modules/unictype/property-other-default-ignorable-code-point:
33619         * modules/unictype/property-other-grapheme-extend:
33620         * modules/unictype/property-other-id-continue:
33621         * modules/unictype/property-other-id-start:
33622         * modules/unictype/property-other-lowercase:
33623         * modules/unictype/property-other-math:
33624         * modules/unictype/property-other-uppercase:
33625         * modules/unictype/property-paired-punctuation:
33626         * modules/unictype/property-paragraph-separator:
33627         * modules/unictype/property-pattern-syntax:
33628         * modules/unictype/property-pattern-white-space:
33629         * modules/unictype/property-private-use:
33630         * modules/unictype/property-punctuation:
33631         * modules/unictype/property-quotation-mark:
33632         * modules/unictype/property-radical:
33633         * modules/unictype/property-sentence-terminal:
33634         * modules/unictype/property-soft-dotted:
33635         * modules/unictype/property-space:
33636         * modules/unictype/property-terminal-punctuation:
33637         * modules/unictype/property-test, modules/unictype/property-titlecase:
33638         * modules/unictype/property-unassigned-code-value:
33639         * modules/unictype/property-unified-ideograph:
33640         * modules/unictype/property-uppercase:
33641         * modules/unictype/property-variation-selector:
33642         * modules/unictype/property-white-space:
33643         * modules/unictype/property-xid-continue:
33644         * modules/unictype/property-xid-start:
33645         * modules/unictype/property-zero-width, modules/unictype/scripts:
33646         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
33647         * modules/unictype/syntax-c-whitespace:
33648         * modules/unictype/syntax-java-ident:
33649         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
33650         * modules/unigbrk/u16-grapheme-breaks:
33651         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
33652         * modules/unigbrk/u32-grapheme-breaks:
33653         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
33654         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
33655         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
33656         * modules/unigbrk/uc-is-grapheme-break:
33657         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
33658         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
33659         * modules/unilbrk/u16-width-linebreaks:
33660         * modules/unilbrk/u32-possible-linebreaks:
33661         * modules/unilbrk/u32-width-linebreaks:
33662         * modules/unilbrk/u8-possible-linebreaks:
33663         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
33664         * modules/unilbrk/ulc-possible-linebreaks:
33665         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
33666         * modules/uniname/uniname, modules/uninorm/base:
33667         * modules/uninorm/canonical-decomposition:
33668         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
33669         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
33670         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
33671         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
33672         * modules/uninorm/nfkc, modules/uninorm/nfkd:
33673         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
33674         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
33675         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
33676         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
33677         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
33678         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
33679         * modules/unistdio/base, modules/unistdio/u-printf-args:
33680         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
33681         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
33682         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
33683         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
33684         * modules/unistdio/u16-u16-sprintf:
33685         * modules/unistdio/u16-u16-vasnprintf:
33686         * modules/unistdio/u16-u16-vasprintf:
33687         * modules/unistdio/u16-u16-vsnprintf:
33688         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
33689         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
33690         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
33691         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
33692         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
33693         * modules/unistdio/u32-u32-asnprintf:
33694         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
33695         * modules/unistdio/u32-u32-sprintf:
33696         * modules/unistdio/u32-u32-vasnprintf:
33697         * modules/unistdio/u32-u32-vasprintf:
33698         * modules/unistdio/u32-u32-vsnprintf:
33699         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
33700         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
33701         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
33702         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
33703         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
33704         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
33705         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
33706         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
33707         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
33708         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
33709         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
33710         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
33711         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
33712         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
33713         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
33714         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
33715         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
33716         * modules/unistr/u16-check, modules/unistr/u16-chr:
33717         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
33718         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
33719         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
33720         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
33721         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
33722         * modules/unistr/u16-move, modules/unistr/u16-next:
33723         * modules/unistr/u16-prev, modules/unistr/u16-set:
33724         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
33725         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
33726         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
33727         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
33728         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
33729         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
33730         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
33731         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
33732         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
33733         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
33734         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
33735         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
33736         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
33737         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
33738         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
33739         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
33740         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
33741         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
33742         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
33743         * modules/unistr/u32-next, modules/unistr/u32-prev:
33744         * modules/unistr/u32-set, modules/unistr/u32-startswith:
33745         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
33746         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
33747         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
33748         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
33749         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
33750         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
33751         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
33752         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
33753         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
33754         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
33755         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
33756         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
33757         * modules/unistr/u8-check, modules/unistr/u8-chr:
33758         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
33759         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
33760         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
33761         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
33762         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
33763         * modules/unistr/u8-next, modules/unistr/u8-prev:
33764         * modules/unistr/u8-set, modules/unistr/u8-startswith:
33765         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
33766         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
33767         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
33768         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
33769         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
33770         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
33771         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
33772         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
33773         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
33774         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
33775         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
33776         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
33777         * modules/uniwbrk/base, modules/uniwbrk/table:
33778         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
33779         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
33780         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
33781         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
33782         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
33783         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
33784         * modules/uniwidth/width, modules/utf16-ucs4:
33785         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
33786         * modules/utf8-ucs4-unsafe:
33787         Change maintainer from Bruno Haible to Daiki Ueno.
33788         This is my guess at the libunistring modules; please feel free
33789         to fix if I guessed incorrectly.
33790         * modules/accept4, modules/acl, modules/acos, modules/acosf:
33791         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
33792         * modules/areadlink, modules/array-list, modules/array-mergesort:
33793         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
33794         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
33795         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
33796         * modules/binary-io, modules/bison-i18n, modules/btowc:
33797         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
33798         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
33799         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
33800         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
33801         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
33802         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
33803         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
33804         * modules/closedir, modules/concat-filename, modules/copy-file:
33805         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
33806         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
33807         * modules/csharpcomp-script, modules/csharpexec:
33808         * modules/csharpexec-script, modules/ctype, modules/diffseq:
33809         * modules/dprintf, modules/dprintf-posix, modules/dup:
33810         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
33811         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
33812         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
33813         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
33814         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
33815         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
33816         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
33817         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
33818         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
33819         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
33820         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
33821         * modules/findprog, modules/findprog-lgpl, modules/floor:
33822         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
33823         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
33824         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
33825         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
33826         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
33827         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
33828         * modules/freadable, modules/freadahead, modules/freadptr:
33829         * modules/freadseek, modules/freopen, modules/frexp:
33830         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
33831         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
33832         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
33833         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
33834         * modules/ftello, modules/full-read, modules/full-write:
33835         * modules/fwritable, modules/fwriteerror, modules/gcd:
33836         * modules/get-rusage-as, modules/get-rusage-data:
33837         * modules/getdtablesize, modules/getrusage, modules/gettext:
33838         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
33839         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
33840         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
33841         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
33842         * modules/iconv, modules/iconv-h, modules/iconv_open:
33843         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
33844         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
33845         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
33846         * modules/integer_length_ll, modules/ioctl, modules/isatty:
33847         * modules/isblank, modules/isnand, modules/isnand-nolibm:
33848         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
33849         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
33850         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
33851         * modules/javaexec, modules/javaexec-script, modules/javaversion:
33852         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
33853         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
33854         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
33855         * modules/lib-symbol-visibility, modules/libsigsegv:
33856         * modules/linked-list, modules/linkedhash-list, modules/list:
33857         * modules/localcharset, modules/locale, modules/localeconv:
33858         * modules/localename, modules/lock, modules/log, modules/log-ieee:
33859         * modules/log10, modules/log10-ieee, modules/log10f:
33860         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
33861         * modules/log1p, modules/log1p-ieee, modules/log1pf:
33862         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
33863         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
33864         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
33865         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
33866         * modules/logf, modules/logf-ieee, modules/login_tty:
33867         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
33868         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
33869         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
33870         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
33871         * modules/mbscspn, modules/mbsinit, modules/mbslen:
33872         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
33873         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
33874         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
33875         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
33876         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
33877         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
33878         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
33879         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
33880         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
33881         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
33882         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
33883         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
33884         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
33885         * modules/posix_spawn, modules/posix_spawn-internal:
33886         * modules/posix_spawn_file_actions_addclose:
33887         * modules/posix_spawn_file_actions_adddup2:
33888         * modules/posix_spawn_file_actions_addopen:
33889         * modules/posix_spawn_file_actions_destroy:
33890         * modules/posix_spawn_file_actions_init:
33891         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
33892         * modules/posix_spawnattr_getpgroup:
33893         * modules/posix_spawnattr_getschedparam:
33894         * modules/posix_spawnattr_getschedpolicy:
33895         * modules/posix_spawnattr_getsigdefault:
33896         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
33897         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
33898         * modules/posix_spawnattr_setschedparam:
33899         * modules/posix_spawnattr_setschedpolicy:
33900         * modules/posix_spawnattr_setsigdefault:
33901         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
33902         * modules/pow, modules/powf, modules/printf-frexp:
33903         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
33904         * modules/progname, modules/propername, modules/pselect:
33905         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
33906         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
33907         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
33908         * modules/read, modules/readdir, modules/readlink:
33909         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
33910         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
33911         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
33912         * modules/relocatable-script, modules/remainder:
33913         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
33914         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
33915         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
33916         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
33917         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
33918         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
33919         * modules/setlocale, modules/sh-quote, modules/shutdown:
33920         * modules/signal, modules/signbit, modules/sigpipe:
33921         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
33922         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
33923         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
33924         * modules/snippet/link-warning, modules/snippet/unused-parameter:
33925         * modules/snprintf, modules/snprintf-posix, modules/spawn:
33926         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
33927         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
33928         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
33929         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
33930         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
33931         * modules/streq, modules/strerror_r-posix, modules/striconv:
33932         * modules/striconveh, modules/striconveha, modules/strncat:
33933         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
33934         * modules/sublist, modules/sys_resource, modules/sys_utsname:
33935         * modules/sys_wait, modules/system-posix, modules/system-quote:
33936         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
33937         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
33938         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
33939         * modules/truncf, modules/truncf-ieee, modules/truncl:
33940         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
33941         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
33942         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
33943         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
33944         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
33945         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
33946         * modules/wait-process, modules/waitpid, modules/wcpcpy:
33947         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
33948         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
33949         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
33950         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
33951         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
33952         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
33953         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
33954         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
33955         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
33956         * modules/write, modules/xconcat-filename, modules/xlist:
33957         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
33958         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
33959         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
33960         * modules/y0, modules/y1, modules/yn:
33961         Remove Bruno Haible as maintainer; if he's the sole maintainer,
33962         change the maintainer to 'all'.  Let's hope someone volunteers.
33964 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
33966         mktime: merge #if/#ifdef usage from glibc
33967         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
33968         as that works with both Glibc's and Gnulib's style.
33969         See thread starting at Siddhesh Poyarekar's bug report at:
33970         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
33972 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
33974         git-version-gen: improve option descriptions
33975         * build-aux/git-version-gen: Mention that --prefix and --fallback
33976         have a mandatory argument.
33978 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33980         regex: fix memory leak in compiler
33981         Fix by Andreas Schwab in:
33982         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
33983         * lib/regcomp.c (parse_expression): Deallocate partially
33984         constructed tree before returning error.
33986         regex: merge patch from libc
33987         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
33988         Combine __USE_BSD and __USE_SVID into __USE_MISC.
33989         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
33991 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
33993         acl: port to gcc -Wredundant-decls
33994         From a request by Dmitry Antipov in:
33995         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
33996         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
33997         "#ifndef _GL_ACL_H".
33999 2014-06-11  Bruce Korb  <bkorb@gnu.org>
34000         Jim Meyering  <meyering@fb.com>
34002         parse-duration: eliminate 68-year duration limit
34003         * lib/parse-duration.c: Include "intprops.h".
34004         (TIME_MAX): Rename to MAX_DURATION and define to
34005         TYPE_MAXIMUM(time_t).
34006         * modules/parse-duration (Depends-on): Add intprops.
34007         Reported by Jonas 'Sortie' Termansen.
34009 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
34011         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
34012         * modules/pthread (Depends-on): Add 'extensions', as it defines
34013         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
34014         (configure.ac-early): New section.
34015         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
34016         it is no longer needed.
34018 2014-06-14  Pádraig Brady  <P@draigBrady.com>
34020         pthread: define thread-safe macros on some platforms
34021         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
34022         for thread-safe operation on some platforms.
34024 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
34026         regex: don't be multithreaded if USE_UNLOCKED_IO.
34027         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
34028         * lib/regex_internal.h: Do not use multithreaded version if
34029         USE_UNLOCKED_IO is defined.  This is a hack, but it works
34030         around a porting bug with coreutils 8.22 on AIX 7.1.
34032 2014-06-11  Daiki Ueno  <ueno@gnu.org>
34034         gettext: update macros to version 0.19
34035         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
34036         depend on gl_EXTERN_INLINE and drop support for older Bison
34037         versions.
34039 2014-06-10  Pádraig Brady  <P@draigBrady.com>
34041         select,poll: fix console handle check on windows 8
34042         lib/poll.c (IsConsoleHandle): Change from testing the lower
34043         2 bits of the handle to the more expensive but accurate syscall.
34044         lib/select.c: Likewise.
34046 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
34048         select: fix waiting on anonymous pipes on MS-Windows
34049         * lib/select.c (rpl_select): Fall back to polling when select()
34050         indicates there is nothing to check, while due to the timeout not
34051         expiring, activity is indicated on one of the handles.
34052         Also clear the TIMEOUT argument if the timer does expire.
34054 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
34056         times: fix to return non constant value on MS-Windows
34057         * lib/times.c (times): Don't use the process creation time,
34058         rather clock() which on windows returns the number of
34059         clock ticks since the process started.
34061 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
34063         isatty: fix to work on windows 8
34064         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
34065         2 bits of the handle to the more expensive but accurate syscall.
34067 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
34069         maint: fix typo in fdl.texi
34070         * doc/fdl.texi: Fix typo (missing '@').
34071         Somehow this was in fdl.texi but not fdl-1.3.texi.
34073 2014-06-06  Ben Walton  <bdwalton@gmail.com>
34075         mountlist: avoid hasmntopt const type warning on solaris
34076         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
34077         with char * instead of const char *.  Passing the constant string
34078         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
34079         to avoid the warning.
34081 2014-06-04  Eric Blake  <eblake@redhat.com>
34083         maintainer-makefile: delete obsolete code
34084         * top/maint.mk (build_aux): Drop old code, as threatened.
34086         maintainer-makefile: avoid spurious error messages
34087         * top/maint.mk (syntax-check): Guard definition and use of
34088         $(shell) by whether Makefile is present.
34090 2014-06-03  Ben Walton  <bdwalton@gmail.com>
34092         rename: avoid unused-but-set-variable compiler warning
34093         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
34094         it is possible that dst_exists may be set but not used.  Mark it with
34095         the unused attribute to avoid compiler warnings.
34097 2014-06-02  Ben Walton  <bdwalton@gmail.com>
34099         rename: mark a label as potentially unused
34100         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
34101         by marking the out label as potentially unused.
34102         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
34104 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
34106         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
34107         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
34109 2014-06-02  Ben Walton  <bdwalton@gmail.com>
34111         acl: apply pure attribute to two functions
34112         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
34113         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
34115 2014-06-01  Pádraig Brady  <P@draigBrady.com>
34117         gnulib-common.m4: add _GL_UNUSED_LABEL
34118         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
34119         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
34121 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
34123         dup2, fcntl, fcntl-h: port to AIX 7.1
34124         This fixes some porting problems discovered when testing the latest
34125         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
34126         in grep but it could be important for other applications.
34127         * doc/posix-functions/dup2.texi:
34128         * doc/posix-functions/fcntl.texi:
34129         * doc/posix-headers/fcntl.texi:
34130         Document AIX bugs.
34131         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
34132         Define to 0 if outside 'int' range.
34133         * m4/dup2.m4 (gl_FUNC_DUP2):
34134         * m4/fcntl.m4 (gl_FUNC_FCNTL):
34135         Check for getdtablesize.  If it's available, test a value just
34136         outside its range instead of testing 1000000.  When cross-compiling,
34137         guess that AIX will fail this improved test.
34139 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
34141         printf, config.rpath: Port to FreeBSD 10.
34142         Problem reported by Tijl Coosemans in:
34143         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
34144         * build-aux/config.rpath (hardcode_libdir_flag_spec)
34145         (hardcode_direct): Simplify FreeBSD configuration.
34146         (library_names_spec): Don't mishandle FreeBSD 10+.
34147         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
34148         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
34149         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
34150         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
34151         Don't mishandle FreeBSD 10+ when cross-compiling.
34153         ftoastr: work around compiler bug in IBM xlc 12.1
34154         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
34155         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
34156         around a compiler bug in IBM xlc 12.1.0.0: it complains
34157         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
34158         _GL_FLT_PREC_BOUND.'
34160 2014-05-30  Kieran Colford  <colfordk@gmail.com>
34162         valgrind-tests: fixed misleading help message
34163         * m4/valgrind-tests.m4: The help message generated by configure
34164         implied that valgrind was disabled by default, which it wasn't.
34165         Adjusted the help message using s/enable/disable/ to clarify.
34167 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
34169         isfinite, isinf, isnan tests: fix for little-endian PowerPC
34170         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
34171         first double of a PowerPC "double double" pair.
34172         * tests/test-isinf.c (test_isinfl): Likewise.
34173         * tests/test-isnan.c (test_long_double): Likewise.
34174         * tests/test-isnanl.h (main): Likewise.
34175         * tests/test-signbit.c (test_signbitl): Likewise.
34177 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34179         exclude-tests: port to AIX 7.1
34180         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
34181         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
34182         the regex code uses locks.
34184 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
34186         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
34187         Without this fix, Emacs would sometimes call sigprocmask instead
34188         of pthread_sigmask, which is a no-no in multithreaded applications.
34189         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
34190         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34191         Suppress check for pthread_sigmask working without -lpthread if
34192         the application always links with -lpthread.  Do not link with
34193         $LIBMULTITHREAD if gl_THREADLIB is not defined.
34194         * m4/timer_time.m4 (gl_TIMER_TIME):
34195         Require gl_THREADLIB only if it is defined.  Do not append
34196         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
34198 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
34200         gnulib-tool: wget translations using --no-verbose rather than --quiet
34201         This allows the user to see error messages if any (--quiet hides them)
34202         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
34204 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
34206         gnulib-tool: adjust translation wget to avoid a https redirection
34207         Context: http://translationproject.org/latest/gnulib redirects to
34208            https://translationproject.org/latest/gnulib/
34209         Rationale: if the user falls back to wget, she doesn't have rsync and
34210         is probably in a minimal build environment, where packages such as
34211         'ca-certificates' are missing as well, resulting in a failed (and
34212         difficult to detect since ignored) translation initial fetch.
34213         Consequently let's avoid https if possible, and add the missing
34214         trailing slash.  This also avoids an unnecessary 302 redirection.
34215         * gnulib-tool: Add trailing slash to gnulib URL.
34217 2014-05-22  Pádraig Brady  <P@draigBrady.com>
34219         getlogin_r-tests: check return value rather than errno
34220         * tests/test-getlogin_r.c (main): As per POSIX we should be
34221         verifying the return value from getlogin_r() rather than errno.
34223 2014-05-22  Pádraig Brady  <P@draigBrady.com>
34225         getlogin_r-tests: fix various issues in recent change
34226         * tests/test-getlogin_r.c: Include required headers that were
34227         missed in recent commit eec20b4e.
34228         Also consistently check the errno rather than the return value from
34229         getlogin_r as POSIX only specifies that non zero is returned on error.
34230         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
34232 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
34234         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
34235         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
34236         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
34237         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
34238         * lib/spawn-pipe.c:
34239         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
34240         and then 'int open64(const char *, int, ...);', which means the
34241         declaration for 'open' gets lost if we later '#undef open'.
34242         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
34243         where the compilation reported the non-fatal error "In function
34244         'openat_proc_name' ... warning: implicit declaration of function
34245         'open'".  In this case the error is relatively harmless, but in
34246         other cases it might not be so minor.
34248 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
34250         xalloc: don't potentially generate invalid code for xmemdup calls
34251         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
34252         this function can initialize the newly-allocated storage with new
34253         pointers, which means this function is not malloc-like.  See:
34254         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
34256 2014-05-19  Pádraig Brady  <P@draigBrady.com>
34258         getlogin_r-tests: avoid false failure under sudo/ssh etc.
34259         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
34260         changes from commit 97249cf29 to not depend on environment variables.
34262 2014-05-18  Pádraig Brady  <P@draigBrady.com>
34264         getlogin-tests: avoid false failure under cron
34265         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
34266         since that's not what's under test.  Centos 6 was seen to return
34267         EINVAL for ttyname() when run from cron.
34269 2014-05-16  Jim Meyering  <meyering@fb.com>
34271         mbrtowc.m4: fix a comment typo
34272         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
34273         emitted documentation string.
34275 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
34277         mbrlen, mbrtowc: fix bug with empty input
34278         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
34279         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
34280         so this is mainly for documentation.
34281         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
34282         (gl_FUNC_MBRTOWC): Use it.
34283         * tests/test-mbrtowc.c (main): Test for the bug.
34285 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
34287         doc: document mbrtowc and mbrlen problem with empty input
34288         * doc/posix-functions/mbrlen.texi (mbrlen):
34289         * doc/posix-functions/mbrtowc.texi (mbrtowc):
34290         Document portability problem when the input string is empty.  See:
34291         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
34293         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
34294         Problem reported by Eli Zaretskii in:
34295         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
34296         * doc/posix-functions/execl.texi (execl):
34297         * doc/posix-functions/execle.texi (execle):
34298         * doc/posix-functions/execlp.texi (execlp):
34299         * doc/posix-functions/execv.texi (execv):
34300         * doc/posix-functions/execve.texi (execve):
34301         * doc/posix-functions/execvp.texi (execvp):
34302         Mention spawn+exit problem on non-Cygwin Windows platforms.
34304 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
34306         getlogin-tests: avoid false failure under sudo/ssh etc.
34307         * modules/getlogin-tests (configure.ac): Check for ttyname().
34308         * tests/test-getlogin.c (main): Don't depend on environment variables
34309         to correlate with getlogin(), since sudo and ssh etc. can tamper
34310         with the LOGNAME and USER env vars.  Instead lookup the name from
34311         the uid associated with the stdin tty.
34313 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
34315         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
34316         These were found when building the latest grep snapshot on IRIX 6.5.
34317         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
34318         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
34319         never used later.
34320         * lib/quotearg.c (quoting_options_from_style):
34321         * lib/xstrtol.c (__xstrtol):
34322         Use enum instead of 0, to pacify IRIX 6.5 cc.
34324 2014-04-18  Pádraig Brady  <P@draigBrady.com>
34326         gitlog-to-changelog: revert inclusion of git-log-fix file
34327         * build-aux/git-log-fix: Delete dummy file.
34328         * modules/gitlog-to-changelog: Don't reference (overwrite)
34329         the project specific git-log-fix file.
34331 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
34333         maint.mk: Relax the copyright check to cater for non FSF projects
34334         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
34335         to not require the "Free" suffix after the copyright years.
34337 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
34339         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
34340         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
34341         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
34342         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
34343         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
34345 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
34347         exclude: port to strict C99
34348         Strict C does not allow converting a function pointer to void *
34349         and vice versa.  Pass a pointer to a function pointer instead.
34350         * lib/exclude.c (add_exclude_file):
34351         Pass the address of the function pointer.
34352         (call_addfn): And deference the address here, to match.
34354 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
34356         regex: do not depend on malloc-gnu
34357         * modules/regex (Depends-on): Remove malloc-gnu.
34358         It's no longer needed, because of the 2012-12-29 patch
34359         "regex: port to hosts where malloc (0) == NULL".
34360         Reported by Nathan Kennedy in:
34361         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
34363 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
34365         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
34366         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
34367         * doc/posix-functions/expl.texi: Mention the workaround.
34369 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
34371         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
34372         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
34373         size to be zero even when the pointer is nonnull.  This
34374         accommodates the use case where P is malloc (0) and *PN is 0 on a
34375         host where malloc (0) yields nonnull.
34377 2014-04-09  Eric Blake  <eblake@redhat.com>
34379         fts: avoid unnecessary strlen calls
34380         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
34382 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
34384         fts: avoid unnecessary strlen calls
34385         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
34386         when that can be faster than strlen.
34388 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34390         fts: avoid unnecessary strlen calls
34391         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
34392         (fts_build): Store the length of the dp->d_name entry in a local variable
34393         instead of calling strlen() several times via the above, removed macro.
34394         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
34395         run by ~4%, yet this reduces the execution time by about a third if run
34396         via "ltrace -c rm -rf some-dir".
34398 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34400         obstack: Remove ancient NeXTSTEP gcc support conditional
34401         This change will ease merging with glibc.  The "#if ... __NEXT__"
34402         causes a warning with -Wundef which glibc now enables by default.
34403         Problem reported by Will Newton in
34404         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
34405         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
34406         so go with that.
34407         * lib/obstack.h (__extension__):
34409 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34411         obstack: merge with glibc changes
34412         * lib/obstack.c, lib/obstack.h: Merge from glibc.
34413         This is mostly indenting and commentary changes.
34414         Instances of 'register' have been removed.
34416 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34418         strftime: wrap macros in "do {...} while(0)"
34419         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
34420         this macro in "do {...} while(0)" to prevent false use as a
34421         single statement, e.g., in an un-braced "{}" else-block.
34422         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
34423         (strftime_case_): Remove 'else' after 'goto' - which was the
34424         only non-fatal, un-braced use of one of the above macros.
34425         Spotted by coverity (NESTING_INDENT_MISMATCH).
34427 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34429         modechange: avoid memory leaks for invalid octal modes
34430         * lib/modechange.c (mode_compile): During the parsing of
34431         notations like +40, free the 'mc' buffer for invalid mode
34432         strings like +17777 (greater than the maximum octal mode),
34433         =18 (bad octal mode characters) or u=1 ('affected' with
34434         octal modes).
34435         Reproducer, e.g.:
34436             $ valgrind --leak-check=full chmod +17777 file
34437         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
34438         add notations +40, 00440, etc.".
34439         Spotted by coverity (RESOURCE_LEAK).
34441 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
34443         gitlog-to-changelog: include a dummy git-log-fix file
34444         Problem reported by Nathan Stratton Treadway in:
34445         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
34446         * build-aux/git-log-fix: New file.
34448 2014-03-13  Jim Meyering  <meyering@fb.com>
34450         gitlog-to-changelog: also include the file, git-log-fix
34451         * modules/gitlog-to-changelog (Files): Add git-log-fix.
34452         Reported by Assaf Gordon.
34454 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
34456         regex: port to OS X 10.8.5 en_US.UTF-8 locale
34457         This fixes a bug when ignoring case and when comparing the
34458         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
34459         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
34460         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
34461         titlecase letter is neither lowercase nor uppercase, but
34462         uppercasing the titlecase letter (via towupper) yields the
34463         uppercase letter, so the two letters should match when ignoring case.
34464         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
34465         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
34466         Don't test whether a character is lowercase before uppercasing it.
34468 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
34470         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
34471         This is basically one of the options Bruno Haible proposed in:
34472         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
34473         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
34474         * lib/stdint.in.h: Use it.
34475         * modules/stdint (Depends-on): Add sys_types.
34477 2014-02-26  Pádraig Brady  <P@draigBrady.com>
34479         parse-datetime: fix crash or infloop in TZ="" parsing
34480         * lib/parse-datetime.y (parse_datetime): Break out of the
34481         TZ="" parsing loop once the second significant " is found.
34482         Also skip over any subsequent whitespace to be consistent
34483         with the non TZ= case.
34484         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
34486 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
34488         savedir: new symbol for fast-read version
34489         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
34490         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
34491         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
34492         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
34494 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
34496         unistd: port readlink to Mac OS X 10.3.9
34497         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
34498         around self-include problem in Mac OS X 10.3.9 when combined with
34499         readlink module.  Problem reported by Klaus Zietler in
34500         <http://bugs.gnu.org/16825>.
34502 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
34504         diffseq: remove TOO_EXPENSIVE heuristic
34505         Problem with diffutils reported by Vincent Lefevre in
34506         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
34507         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
34508         Although appropriate for circa-1993 hardware, these days the heuristic
34509         seems to be more trouble than it's worth.
34510         * lib/diffseq.h: Modernize citations.
34511         (struct context): Remove member too_expensive.
34512         All uses changed.
34513         (struct partition): Remove members lo_minimal, hi_minimal.
34514         All uses changed.
34515         (diag, compareseq): Remove arg find_minimal.  All uses changed.
34516         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
34517         1993 to make 'diff' run faster (but not as well) on large inputs.
34518         These days, computers are fast enough that it's typically better
34519         to run slower but more accurately.
34520         * lib/fstrcmp.c: Remove duplicate comment.
34521         * lib/fstrcmp.c (strcmp_bounded):
34522         * lib/git-merge-changelog.c (compute_differences):
34523         Adjust to diffseq.h changes.
34524         * NEWS: Document the change.
34526         savedir: simplify by using stpcpy
34527         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
34528         (streamsavedir): Use stpcpy instead.
34529         * modules/savedir (Depends-on): Add stpcpy.
34531 2014-02-21  Pádraig Brady  <P@draigBrady.com>
34533         spawn: fix link error on uclibc
34534         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
34535         to incorporate -lrt if needed (on uclibc for example).
34536         * modules/posix_spawn: Reference the substituted LIB.
34538 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
34539         timer: fix uClibc detection of threading
34540         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
34541         enabled in uClibc.
34543 2014-02-21  Eric Blake  <eblake@redhat.com>
34545         maintainer-makefiles: provide AC_PROG_SED for older autoconf
34546         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
34548 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
34550         exclude: add support for posix regexps
34552         This commit adds support for POSIX extended regular expressions
34553         and fixes a long-standing memory leak (pattern buffer was never
34554         freed).  It also implements a new interface function to read
34555         exclude patterns from a FILE, which passes an additional parameter
34556         to its callback function, thereby allowing to preserve its state
34557         between invocations.
34559         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
34560         (pattern_buffer): New struct.
34561         (exclude): New member patbuf.
34562         (exclude_add_pattern_buffer): New function.
34563         (free_exclude_segment): Free regexps.
34564         (free_exclude): Free allocated pattern buffers.
34565         (exclude_patopts): New function.
34566         (file_pattern_matches): Use exclude_patopts.
34567         (add_exclude): support regexps.
34568         (add_exclude_fp): New function.
34569         (add_exclude_file): Rewrite using add_exclude_fp.
34570         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34571         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34572         (add_exclude_fp)
34573         (add_exclude_file): Rewrite using add_exclude_fp.
34574         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34575         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34576         (add_exclude_fp)
34577         (exclude_add_pattern_buffer): New prototypes.
34578         * modules/exclude: Depends on regex and filename.
34580 2014-02-20  Eric Blake  <eblake@redhat.com>
34582         maintainer-makefiles: use $(SED) for syntax check
34583         * modules/maintainer-makefile (configure.ac): Check for sane sed.
34584         * top/maint.mk: Change sed to $(SED).
34586 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
34587             Paul Eggert  <eggert@cs.ucla.edu>
34589         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
34590         Patch based on an idea by Dick Streefland in
34591         <https://savannah.gnu.org/patch/?7892>.
34592         * NEWS: Document this.
34593         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
34594         (direntry_t, comparison_function): New types.
34595         (direntry_cmp_name): New function.
34596         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
34597         (streamsavedir, savedir): New arg OPTION.
34598         (streamsavedir): Simplify memory allocation.
34599         (fdsavedir): Remove.
34600         * lib/savedir.h (enum savedir_option): New type.
34601         (streamsavedir, savedir): New arg OPTION.
34602         (fdsavedir): Remove.
34604 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
34606         file-type: add support for doors and other less-common file types
34607         Problem with S_ISDOOR reported by Rich Burridge.
34608         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
34609         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
34610         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
34612 2014-01-23  Eric Blake  <eblake@redhat.com>
34614         pthread: work around winpthread header pollution on mingw
34615         * lib/time.in.h: Move pthread workarounds...
34616         * lib/pthread.in.h: ...here.
34617         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
34618         detect macro pollution on mingw.
34619         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
34621 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34623         qacl: check for fchmod
34624         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
34625         and qset-acl.c both use HAVE_FCHMOD.
34627 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
34629         fdopen-tests: port to Tru64
34630         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
34631         descriptor that is not open, as POSIX doesn't specify the
34632         resulting behavior and the test does not work on Tru64.
34633         Problem reported by Steven M. Schweda in:
34634         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
34636         stdalign: port to HP-UX compilers
34637         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
34638         if __HP_cc or __HP_aCC are nonzero.
34640 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
34642         strtoimax: port to platforms lacking 'long long'
34643         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
34644         check whether strtoll is declared, which causes the C file to
34645         wrongly report an error.  Problem reported by Steven M. Schweda in:
34646         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
34647         * lib/strtoimax.c (strtoull):
34648         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
34649         (strtoll): Declare only if HAVE_LONG_LONG_INT.
34651 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
34653         relocatable-perl: fix texi syntax
34654         * doc/relocatable-maint.texi: Escape braces.
34656 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
34658         relocatable-perl: like relocatable-script, but for Perl scripts
34659         * build-aux/relocatable.pl.in: Add.
34660         * doc/relocatable-maint.texi: Add documentation.
34661         * modules/relocatable-perl: Add.
34663 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
34665         tests: fix export bug in previous patch
34666         Problem reported by Jim Meyering.
34667         * tests/init.sh (re_shell): New var, which is exported instead of
34668         re_shell_.
34670         tests: simplify porting to Solaris 10 /bin/sh
34671         Some test cases in 'grep' need a shell that groks '$(';
34672         export re_shell_ for their benefit.  Problem reported for 'grep'
34673         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
34674         * tests/init.sh (re_shell_): Export if it's used.
34676 2014-01-06  Eric Blake  <eblake@redhat.com>
34678         md5, sha1, sha256, sha512: support older autoconf
34679         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
34680         for autoconf < 2.63b.
34682         include_next: port to autoconf 2.63
34683         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
34685 2014-01-04  Jim Meyering  <meyering@fb.com>
34687         maint: add a gnulib-local rule to keep non-ascii out of .texi files
34688         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
34689         so that "make sc_maint" will ding anyone who puts non-ascii
34690         in any of gnulib's .texi files.
34692 2014-01-03  Jim Meyering  <meyering@fb.com>
34694         freadable, fwritable, fwriting: declare with the "pure" attribute
34695         * lib/freadable.h (freadable): Declare with the "pure" attribute.
34696         * lib/fwritable.h (fwritable): Likewise.
34697         * lib/fwriting.h (fwriting): Likewise.
34698         Suggested by Bruno Haible.
34700         maint.mk: adapt openat.h-include-without-use test
34701         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
34702         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
34703         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
34704         With this change, running "make sc_maint" in gnulib's top-level
34705         directory now passes for me.
34707 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
34709         doc: use ASCII in .texi files where UTF-8 isn't needed
34710         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
34711         * doc/posix-functions/setkey.texi, doc/regex.texi:
34712         Use ASCII input, not UTF-8.
34714 2014-01-02  Jim Meyering  <meyering@fb.com>
34716         freading: declare with the "pure" attribute
34717         * lib/freading.h (freading): Declare with the "pure" attribute.
34719         manywarnings: remove -Wmudflap
34720         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
34721         it is no longer supported in gcc-4.9-to-be.
34723 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34725         relocatable-script: remove unused code
34726         Problem reported by Reuben Thomas in:
34727         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
34728         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
34730 2014-01-01  Jim Meyering  <meyering@fb.com>
34732         maint: fix public-submodule-commit to work with newer git
34733         * top/maint.mk (public-submodule-commit): Remove excess quoting.
34734         We were over-quoting the test arguments, and somewhere prior to
34735         version 1.8.5.2.229, git stopped removing those excess quotes,
34736         which made the test fail, since the unexpanded strings would
34737         always differ; using GIT_TRACE=1 confirmed that the git merge-base
34738         command wasn't even being run.
34740 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34742         doc: update main copyright year
34743         * doc/gnulib.texi: Update copyright date.
34745 2014-01-01  Eric Blake  <eblake@redhat.com>
34747         version-etc: new year
34748         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
34749         * all files: run 'make update-copyright'
34751 2013-12-24  Eric Blake  <eblake@redhat.com>
34753         passfd: give nicer error for recvfd at eof
34754         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
34755         * tests/test-passfd.c (main): Enhance test to cover this.
34757 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34759         gettimeofday: port recent C++ fix to Emacs
34760         Without this further patch, Emacs won't build due to
34761         the portcheck failing.  Also, this simplifies the patch a bit.
34762         * lib/time.in.h (localtime, gmtime): Don't replace unless
34763         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
34764         * lib/time.in.h (localtime, gmtime):
34765         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
34766         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34767         * modules/time (time.h):
34768         Don't worry about the possibility of localtime and gmtime
34769         being absent; they're present in all C libraries we know about.
34770         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34771         Don't assume sys_time is present and has been initialized.
34772         Instead, use a hack that should work even if it hasn't been.
34773         Don't use a portcheck for gmtime or localtime; this supports
34774         the hack.
34775         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
34777 2013-12-17  John W. Eaton  <jwe@gnu.org>
34779         gettimeofday: fix C++ crosscompilation
34781         Never replace gmtime and localtime by macros when compiling with
34782         C++, this prevents <ctime> from being included.
34784         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
34785         define gmtime and localtime as preprocessor macros.  Instead
34786         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
34787         REPLACE_LOCALTIME substitutions.
34788         * lib/time.in.h: Declare gmtime and localtime when needed.
34789         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
34790         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
34791         * modules/time: Depend on gettimeofday, and substitute the above
34792         variables in time.h.
34794 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34796         qacl: port to Windows better
34797         See Eli Zaretskii in
34798         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
34799         * lib/file-has-acl.c (acl_access_nontrivial):
34800         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
34801         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
34803 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
34805         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
34806         * lib/gl_openssl.h: Cast void pointers to a specific type.
34808 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34810         open-tests: fix build failure with -Werror=old-style-declaration
34811         * tests/test-open.h: Reorder the inline to avoid the issue.
34813 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34815         md5, sha1, sha256, sha512: fix link error with partial libcrypto
34816         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
34817         init time, so that if early checks find crypto routines,
34818         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
34819         avoiding link failures.
34821 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34823         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
34824         This provides a new way to specify the default for
34825         gl_CRYPTO_CHECK, one that is reflected in the --help message.
34826         Emacs uses this, as well as the old way.
34827         This attempts to implement a suggestion by Pádraig Brady in
34828         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
34829         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
34830         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
34832         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
34833         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
34834         Add support for a new option, --with-openssl=auto, which causes
34835         the library to be used if available and silently ignored if not.
34836         Add support to allow configure.ac to specify its own
34837         default, by setting with_openssl_default before invoking gl_INIT.
34839 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
34841         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
34842         Problem reported by Daiki Ueno in:
34843         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
34844         * tests/test-open.h (__always_inline):
34845         New macro, if not already defined.
34846         (test_open): Use it.
34848 2013-12-04  Eric Blake  <eblake@redhat.com>
34850         include_next: minimize code duplication
34851         * modules/include_next (Depends-on): Add absolute-header.
34852         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
34853         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
34855 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34857         getcwd: fix compile error in configure check
34858         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
34860 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34862         regex: suppress core dumps from detection code
34863         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
34864         to suppress core dumps that may well occur on glibc systems.
34865         These core dumps might not be cleaned up automatically, or could
34866         trigger some system core dump handling logic.
34868 2013-12-03  Pádraig Brady  <P@draigBrady.com>
34870         md5, sha1, sha256, sha512: support mandating use of openssl
34871         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
34872         description, to list the now 3 separate options.  also don't
34873         mention the default=no, since this is implicit given the option
34874         is described as --with-openssl rather than --without-openssl.
34875         If projects change the default they're free to document that.
34876         with --with-openssl[=yes] we now error out when the specified
34877         hash algorithm is not available in libcrypto.
34879 2013-12-03  Ivailo  <xakepa10@gmail.com>
34881         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
34882         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
34883         -Wformat-nonliteral checks, as these edge cases are part of the test.
34885 2013-12-03  Eric Blake  <eblake@redhat.com>
34887         regex: avoid glibc deadlock during configure
34888         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
34889         glibc bug 15078 in turn triggers bug 16159.
34890         Reported by Michal Privoznik.
34892 2013-12-02  Pádraig Brady  <P@draigBrady.com>
34894         md5, sha1, sha256, sha512: use openssl routines if available.
34895         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
34896         routines will be used if available, requiring apps to link @LIB_CRYPTO@
34897         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
34898         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
34899         in the standard system location.
34900         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
34901         * m4/sha256.m4: Likewise with SHA256.
34902         * m4/sha512.m4: Likewise with SHA512.
34903         * m4/md5.m4: Likewise with MD5.
34904         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
34905         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
34906         * lib/sha256.h: Likewise with SHA256.
34907         * lib/sha512.h: Likewise with SHA512.
34908         * lib/md5.h: Likewise with MD5.
34909         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
34910         * lib/sha256.c: Likewise with SHA256.
34911         * lib/sha512.c: Likewise with SHA512.
34912         * lib/md5.c: Likewise with MD5.
34913         * modules/crypto/sha1 (Link:): Add the new optional lib.
34914         (Depends-on:): Add dependency on extern-inline.
34915         * modules/crypto/sha256: Likewise.
34916         * modules/crypto/sha512: Likewise.
34917         * modules/crypto/md5: Likewise.
34918         * modules/crypto/sha1-tests: Reference the lib here too.
34919         * modules/crypto/md5-tests: Likewise.
34920         * modules/crypto/gc-des-tests: Likewise.
34921         * modules/crypto/gc-hmac-md5-tests: Likewise.
34922         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34923         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34924         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34925         * modules/crypto/gc-md5-tests: Likewise.
34926         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34927         * modules/crypto/gc-sha1-tests: Likewise.
34928         * modules/crypto/gc-tests: Likewise.
34929         * modules/crypto/hmac-md5-tests: Likewise.
34930         * modules/crypto/hmac-sha1-tests: Likewise.
34931         * modules/crypto/hmac-sha256-tests: Likewise.
34932         * modules/crypto/hmac-sha512-tests: Likewise.
34934 2013-11-29  RV1971  <rv1971@web.de>
34936         base64: (trivial) fix compilation regression on some compilers
34937         * lib/base64.c: Don't return the void function,
34938         instead split to a separate return statement.
34940 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34942         ignore-value: revert previous code change
34943         * lib/ignore-value.h (ignore_value): Use __extension__ and
34944         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
34945         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
34946         Change the comment to try to explain this better.
34948 2013-11-27  Pádraig Brady  <P@draigBrady.com>
34950         selinux-h: improve stub types and add more stub functions
34952         * lib/se-selinux.in.h: Change security_context_t to a typedef
34953         rather than a define, as it's a pointer type and so is better
34954         as a typedef to avoid issues declaring multiple variables
34955         with the comma operator.  Also add stub for string_to_security_class().
34956         * lib/se-context.in.h: Add stub functions for
34957         context_{type,range,role,user}_get().
34959 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
34961         ignore-value: prefer GCC version back through 2.0
34962         The code didn't match the comments, so I did a bit of software
34963         archaeology.  GCC 2.0 seems to support __extension__ and
34964         __typeof__, so fix both code and comments to use 2.0.
34965         * lib/ignore-value.h (ignore_value): Use __extension__ and
34966         __typeof__ for GCC 2.0 through 3.3, too.
34968 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
34970         pty: Activate the signature wrapper of forkpty.
34971         The intended preprocessor macro HAVE_FORKPTY is
34972         never defined, yet `lib/forkpty.c' depends on it.
34974         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
34975         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
34976         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
34978 2013-11-18  Jim Meyering  <meyering@fb.com>
34979         and Paul Eggert  <eggert@cs.ucla.edu>
34981         quotearg: don't attempt to store 1 << 31 into an "int"
34982         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
34983         gcc's new -fsanitize=undefined and running its tests triggered some
34984         new test failures due to undefined behavior, all with this diagnostic:
34985           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
34986             cannot be represented in type int
34987         Rather than shifting "1" left to form a mask, shift the bits right and
34988         simply use "1" as the mask.
34990 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
34992         error: depend on stdio
34993         Problem reported by Nikos Mavrogiannopoulos in
34994         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
34995         * modules/error (Depends-on): Add stdio.
34997 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
34999         * doc/relocatable-maint.texi (Supporting Relocation): Improve
35000         wording.
35001         Reported by Reuben Thomas <rrt@sc3d.org>.
35003 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
35005         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
35006         New function and macro, to work around _DARWIN_C_SOURCE problem.
35007         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
35009 2013-11-11  Pádraig Brady  <P@draigBrady.com>
35011         base64: provide a fast path for encoding well sized buffers
35012         Avoid conditionals in the base64 encoding loop,
35013         which was seen to give 60% better throughput.
35014         * lib/base64.c (base64_encode_fast): A new function to be called
35015         when we don't want to NUL terminate, and we have enough space
35016         in the output to encode the given input.
35017         (base64_encode): Call the _fast() version when appropriate.
35018         Also remove a redundant mask with 0x3F on the first encoded byte.
35020 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
35022         extern-inline: port better to OS X 10.9
35023         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
35024         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
35025         OS X 10.9, except for g++ where the bug is still present.
35026         See <http://trac.macports.org/ticket/41033>.
35028 2013-11-08  Eric Blake  <eblake@redhat.com>
35030         fpending: fix regression on DragonFly BSD
35031         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
35032         * lib/fpending.h (__fpending): Don't declare twice.
35033         Reported by GW in
35034         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
35036 2013-11-05  Jim Meyering  <meyering@fb.com>
35038         hash: relax license to LGPLv2+, for libguestfs
35039         * modules/hash (License): Change from GPL to LGPLv2+.
35041 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
35043         intprops: port to Oracle Studio c99
35044         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
35045         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
35047 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
35049         obstack: pacify HP C
35050         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
35051         warning "conversion from pointer to smaller integer" from HP
35052         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
35053         C89 or later nowadays, so cast to void instead of int.  Privately
35054         reported by H.Merijn Brand.  Also, change header to match glibc's,
35055         to make checking against glibc easier.
35057 2013-10-29  Jim Meyering  <meyering@fb.com>
35059         maint.mk: prefer gpgv2 over gpgv
35060         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
35061         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
35062         Reported by Gary Vaughan.
35064 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
35066         isnan: port to VAX
35067         Reported by John Klos for NetBSD-5/VAX in
35068         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
35069         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
35070         (FUNC): Use it.
35072 2013-10-28  Jim Meyering  <meyering@fb.com>
35074         gnulib-tool: protect against CDPATH
35075         * gnulib-tool: Many "cd" built-in functions print a directory name
35076         to stdout when CDPATH is set, e.g.,
35077           $ bash -c 'CDPATH=/; cd tmp'
35078           /tmp
35079         Unset it, when possible.  Prompted by a comment from Bruce Korb.
35081         maint.mk: restore functionality removed by recent change...
35082         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
35083         the context of a shallow-cloned gnulib repository: "git describe"
35084         would fail in such a directory.  However, that change made it so
35085         the reported gnulib revision no longer includes the version number
35086         or a commit count, even when run from a full clone.
35087         * top/maint.mk (gnulib-version): Use the full "git describe"
35088         output when possible, e.g., the form above, rather than the
35089         abbreviated, no-tag, no-commit-count string, and fall back to
35090         using a 10-byte hash, rather than the default minimal-length
35091         hash prefix, since while the minimal-length one may be fine today,
35092         it is likely not to be unique for very long.
35094 2013-10-26  Jim Meyering  <meyering@fb.com>
35096         maint.mk: fix "release" target to build _version
35097         This fixes a bug in README-release whereby following the outlined
35098         steps, one would publish a tarball whose programs would report
35099         --version output not consistent with the package version number.
35100         This bug caused grep-2.15 to produce a grep program whose
35101         --version option made it print 2.14.56-1e3d rather than 2.15.
35102         * top/maint.mk (release): Making this target build "_version"
35103         ensures that the new version number is reflected in configure.
35105 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
35107         install-reloc: Support multi-binary installation.
35108         * build-aux/install-reloc: Support installing multiple programs in
35109         one invocation, as done by Automake starting with commit
35110         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
35111         Haible <bruno@clisp.org>, archived at
35112         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
35113         Reported by Sylvain <beuc@gnu.org>.
35115 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35117         selinux-h: Really build without selinux when library is missing.
35118         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
35119         continue without selinux, as already told in the warning message.
35121 2013-10-21  Jim Meyering  <meyering@fb.com>
35123         regex: also remove dependency on HAVE_WCSCOLL
35124         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
35126 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
35128         xfreopen: Fix typo. s/frepoen/freopen/
35129         * lib/xfreopen.c: Fix description.
35130         * modules/xfreopen: Likewise.
35132 2013-10-21  Jim Meyering  <meyering@fb.com>
35134         regex: don't depend on wcscoll
35135         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
35136         It is no longer used.
35138 2013-10-20  Jim Meyering  <meyering@fb.com>
35140         error: add the printf attribute to a static function
35141         * lib/error.c (error_tail): Add the printf attribute, to placate
35142         gcc's -Werror=suggest-attribute=format option.
35144 2013-09-30  Jim Meyering  <meyering@fb.com>
35146         fpending, obstack, strerror-override: use pure+const function attrs
35147         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
35148         * lib/obstack.c (_obstack_allocated_p): Likewise.
35149         * lib/obstack.h (_obstack_memory_used): Likewise.
35150         (_obstack_memory_used): Likewise.
35151         * lib/strerror-override.h (strerror_override): Declare with
35152         the "const" attribute.
35154 2013-10-18  Eric Blake  <eblake@redhat.com>
35156         extern-inline: make safe for -Wundef usage
35157         Reported by Vladimir 'phcoder' Serbinenko in
35158         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
35159         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
35161 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35163         mkfifo-tests, etc.: allow HP-UX 11.11 bug
35164         Problem reported by Daniel Richard G. in
35165         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
35166         * doc/posix-functions/mkfifo.texi (mkfifo):
35167         * doc/posix-functions/mkfifoat.texi (mkfifoat):
35168         * doc/posix-functions/mknod.texi (mknod):
35169         * doc/posix-functions/mknodat.texi (mknodat):
35170         Document the HP-UX 11.11 bug.
35171         * tests/test-mkfifo.h (test_mkfifo):
35172         Allow the HP-UX 11.11 bug.
35174 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
35176         acl: allow cross-compilation to Gentoo
35177         Problem reported by Gabriel Marcano in
35178         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
35179         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
35180         test only whether it links.
35182 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
35184         mgetgroups: remove dependency on realloc-gnu
35185         The dependency violates the comment in realloc-gnu, which
35186         says that tests can't depend on realloc-gnu; some tests depend
35187         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
35188         Problem reported by Daniel Richard G. in
35189         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
35190         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
35191         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
35192         not realloc-gnu.
35194 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
35196         regex-tests: port to HP-UX 11.11
35197         Problem reported by Daniel Richard G. in
35198         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
35199         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
35201 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35203         verify: document some 'assume' pitfalls
35204         * doc/verify.texi (Compile-time Assertions):
35205         Mention that 'assume (E)' can sometimes slow things down.
35206         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
35208 2013-10-10  Eric Blake  <eblake@redhat.com>
35210         strtoumax: fix typo in previous commit.
35211         * modules/strtoumax (Depends-on): Fix typo.
35212         * modules/strtoimax (Depends-on): Likewise.
35214 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35216         strtoumax: port to Solaris 8
35217         This problem was introduced in the recent HP-UX patch.
35218         Reported by Tom G. Christensen in
35219         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
35220         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
35221         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
35223 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
35225         strtoimax, strtoumax: port to HP-UX 11.11
35226         Problem reported by Daniel Richard G. in
35227         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
35228         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
35229         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
35230         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
35231         REPLACE_STRTOUMAX.
35232         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
35233         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
35234         Replace the function if defined as a macro but not as a function.
35235         * modules/inttypes-incomplete (inttypes.h): Substitute
35236         REPLACE_STRTOUMAX.
35237         * modules/strtoumax (configure.ac): Replace strtoumax if
35238         REPLACE_STRTOUMAX.
35240 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
35242         strtoimax: port to HP-UX 11.11
35243         Problem reported by Daniel Richard G.
35244         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
35245         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
35246         they might clash with inttypes.h.
35248 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35250         New module 'count-trailing-zeros'.
35251         * MODULES.html.sh: Mention it.
35252         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
35253         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
35254         * modules/count-trailing-zeros-tests:
35255         * tests/test-count-trailing-zeros.c:
35256         New files.
35258         count-leading-zeros: port to MSC; support types wider than 64 bits
35259         The ideas behind the MSC port are stolen from Emacs.
35260         * lib/count-leading-zeros.h:
35261         Don't include verify.h: it's no longer needed, as types wider than
35262         64 bits are now supported.
35263         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
35264         performance with MSC.  All uses changed.  Do not assume that TYPE
35265         has at most 64 bits.
35266         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
35267         All uses changed.  Fold the subtraction from 31 into the table.
35269         count-one-bits: port to MSC; support types wider than 64 bits
35270         The ideas behind the MSC port are stolen from Emacs.
35271         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
35272         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
35273         Don't include verify.h: it's no longer needed, as types wider than
35274         64 bits are now supported.
35275         (COUNT_ONE_BITS_GENERIC): New macro.
35276         (popcount_supported) [_MSC_VER]: New inline function.
35277         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
35278         performance with MSC.  All uses changed.  Do not assume that TYPE
35279         has at most 64 bits.
35280         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
35282 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
35284         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
35285         * lib/mountlist.c (read_file_system_list): fix leak of directory
35286         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
35288 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35290         tests: improve diagnostic when an assertion fails
35291         * tests/macros.h (ASSERT): Report the assertion that failed.
35293 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
35295         verify: new macro 'assume'
35296         This is taken from Emacs, and should be generally useful.
35297         * doc/verify.texi (assume): Document it.
35298         * lib/verify.h (assume): New macro.
35299         (__has_builtin): Expand to 0 if not defined.
35301 2013-09-26  Eric Blake  <eblake@redhat.com>
35303         dup2, dup3: work around another cygwin crasher
35304         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
35305         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
35306         * tests/test-dup2.c (main): Likewise.
35307         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
35308         * lib/dup3.c (dup3): Likewise.
35309         * doc/posix-functions/dup2.texi (dup2): Document it.
35310         * doc/glibc-functions/dup3.texi (dup3): Likewise.
35312         getdtablesize: work around cygwin issue
35313         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
35314         * modules/getdtablesize (configure.ac): Build replacement.
35315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
35316         * modules/unistd (Makefile.am): Expose the witness.
35317         * lib/unistd.in.h (getdtablesize): Declare replacement.
35318         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
35319         * tests/test-getdtablesize.c (main): Test it.
35320         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
35322 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
35324         pmccabe2html: escaping of special characters
35325         Escape all '<', '>', and '&' in HTML output.
35326         * build-aux/pmccabe2html (html_fnc): Call gsub()
35327         instead of sub() to capture all '<', '>', and '&'.
35328         Neither of '<' and '>' is special in a regexp,
35329         so first arguments to gsub() are corrected. Also,
35330         in replacement strings, ampersand must be escaped.
35331         Finally, '&' must be handled first, then '<' and '>'.
35333 2013-09-24  Eric Blake  <eblake@redhat.com>
35335         manywarnings: enable nicer gcc warning messages
35336         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
35337         some -f options for optimal warnings.
35339 2013-09-21  Jim Meyering  <meyering@fb.com>
35341         timespec: use the new TIMESPEC_RESOLUTION in a few more places
35342         * lib/timespec-add.c (timespec_add): Also replace 999999999
35343         with TIMESPEC_RESOLUTION - 1.
35344         * lib/timespec-sub.c (timespec_sub): Likewise.
35346 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
35348         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
35349         Problem reported by Dagobert Michelsen via Eric Blake in
35350         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
35351         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
35352         not AC_COMPILE_IFELSE.
35354 2013-09-23  Eric Blake  <eblake@redhat.com>
35356         configmake: support new --runstatedir option
35357         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
35358         even if autoconf was too old to provide the command line option.
35359         * modules/configmake (Makefile.am): Propagate it to .h file.
35361 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35363         ctype, string: depend on extern-inline
35364         This is needed to complete the recent OS X fixes.
35365         Also, fix related documentation as suggested by Eric Blake.
35366         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35367         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
35368         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
35369         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
35370         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
35371         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
35372         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
35373         * doc/posix-functions/toupper.texi:
35374         List the 'ctype' gnulib module.
35375         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
35376         * doc/posix-functions/strncpy.texi:
35377         List the 'string' gnulib module.
35378         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
35379         Add string.
35380         * modules/ctype, modules/string (Depends-on): Add extern-inline.
35382 2013-09-19  Pádraig Brady  <P@draigBrady.com>
35384         userspec: support optional parameters to parse_user_spec()
35385         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
35386         then avoid group processing and treat the full spec as a user.
35387         (parse_with_separator): Allow the USERNAME and GROUPNAME to
35388         be optional params (NULL), in which case they're ignored.
35390 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
35392         timespec: new function make_timespec, and new constants
35393         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
35394         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
35395         (make_timespec): New function.
35396         * lib/dtotimespec.c (dtotimespec):
35397         * lib/timespec-add.c (timespec_add):
35398         * lib/timespec-sub.c (timespec_sub):
35399         * lib/utimens.c (validate_timespec):
35400         * lib/utimensat.c (rpl_utimensat):
35401         Use these new constants and functions.
35403         stdio: OS X port of putc_unlocked + extern inline
35404         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
35405         * doc/posix-functions/putc_unlocked.texi:
35406         * doc/posix-functions/putchar_unlocked.texi:
35407         Document this portability problem.
35409         signal: OS X port of sigaddset etc. + extern inline
35410         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
35411         (sigismember): #undef on problematic Apple platforms.
35412         * doc/posix-functions/sigaddset.texi:
35413         * doc/posix-functions/sigdelset.texi:
35414         * doc/posix-functions/sigemptyset.texi:
35415         * doc/posix-functions/sigfillset.texi:
35416         * doc/posix-functions/sigismember.texi:
35417         Document this portability problem.
35419         extern-inline: do not always suppress extern inline on OS X
35420         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
35421         extern inline on Apple only if the particular compile-time
35422         configuration is known to have the problem.
35423         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
35424         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
35425         other Gnulib modules.
35427         extern-inline: document fixes for ctype and wctype macros
35428         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35429         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
35430         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
35431         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
35432         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
35433         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
35434         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
35435         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
35436         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
35437         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
35438         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
35439         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
35440         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
35441         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
35442         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
35443         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
35444         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
35445         * doc/posix-functions/strncpy.texi:
35446         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
35447         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
35448         Document that Gnulib fixes portability problems with these
35449         functions on OS X 10.8 and earlier when called from plain inline
35450         or extern inline functions.
35452 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
35454         fflush, freadahead, fseeko: Fix for Android
35455         Suggested by Bruno Haible in:
35456         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
35457         * lib/stdio-impl.h: Use local __sfileext definition.
35459 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
35461         pmccabe2html: Portability to other awk versions.
35462         The functions systime() and strftime() are available
35463         in Gawk only.  Properly close two HTML-tags 'style'
35464         and 'span'.
35465         * build-aux/pmccabe2html (BEGIN): Store timing
35466         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
35467         systime() in HTML_COMMENT.
35468         (html_header): Correctly close tag 'style'.
35469         (END): Replace strftime() by CHRONOS_TIME.  Close
35470         tag 'span' correctly, not as 'div'.
35472 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
35474         getgroups: statement without effect
35475         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
35476         Change equality conditional to expected assignment.
35478 2013-09-09  Eric Blake  <eblake@redhat.com>
35480         glob: fix compilation
35481         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
35483 2013-09-07  Eric Blake  <eblake@redhat.com>
35485         glob: fix build for platforms without __THROW
35486         * lib/glob.in.h (__THROW): Add definition again.
35488 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
35490         regex-quote: fix buffer access out of bounds
35491         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
35492         * lib/regex-quote.c (regex_quote_spec_pcre):
35493         Fix typo that resulted in an out-of-bounds read.
35495 2013-09-04  Eric Blake  <eblake@redhat.com>
35497         glob: avoid -Wattribute warnings on glibc
35498         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
35499         __THROWNL, not __THROW, on static functions.
35500         * lib/glob.in.h (__THROW): Adjust...
35501         (__THROWNL): ...accordingly.
35503 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35505         headers: check that _GL_INLINE_HEADER_BEGIN is defined
35506         Suggested by Bruce Korb in:
35507         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
35508         * doc/extern-inline.texi (extern inline):
35509         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
35510         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
35511         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
35512         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
35513         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
35514         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
35515         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
35516         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
35517         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
35518         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
35519         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
35520         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
35521         * lib/xtime.h:
35522         Check that _GL_INLINE_HEADER_BEGIN is defined.
35524 2013-08-29  Pádraig Brady  <P@draigBrady.com>
35526         bootstrap: remove the --version requirement from ancillary tools
35527         * build-aux/bootstrap (check_exists): A new refactored function to
35528         determine if a command exists.
35529         (find_tool): Use the new function which does not require the
35530         --version option to be supported.
35531         (check_versions): Use the new function.
35533 2013-08-26  Simon Josefsson  <simon@josefsson.org>
35535         gc: support HMAC-SHA256 and HMAC-SHA512.
35536         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
35537         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
35538         functions.
35539         (gc_hmac_md5): Use symbolic constant.
35540         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
35541         (gc_hmac_sha256, gc_hmac_sha512): New functions.
35542         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
35543         * m4/sha256.m4: Protect against empty expansion.
35544         * m4/sha512.m4: Likewise.
35545         * lib/hmac-sha256.c: New file.
35546         * lib/hmac-sha512.c: Likewise.
35547         * m4/gc-hmac-sha256.m4: Likewise.
35548         * m4/gc-hmac-sha512.m4: Likewise.
35549         * m4/gc-sha256.m4: Likewise.
35550         * m4/gc-sha512.m4: Likewise.
35551         * modules/crypto/gc-hmac-sha256: Likewise.
35552         * modules/crypto/gc-hmac-sha256-tests: Likewise.
35553         * modules/crypto/gc-hmac-sha512: Likewise.
35554         * modules/crypto/gc-hmac-sha512-tests: Likewise.
35555         * modules/crypto/hmac-sha256: Likewise.
35556         * modules/crypto/hmac-sha256-tests: Likewise.
35557         * modules/crypto/hmac-sha512: Likewise.
35558         * modules/crypto/hmac-sha512-tests: Likewise.
35559         * tests/test-gc-hmac-sha256.c: Likewise.
35560         * tests/test-gc-hmac-sha512.c: Likewise
35561         * tests/test-hmac-sha256.c: Likewise.
35562         * tests/test-hmac-sha512.c: Likewise
35564 2013-08-24  Daiki Ueno  <ueno@gnu.org>
35566         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
35567         of AC_CHECK_DECLS.
35569 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
35571         selinux-at: omit unnecessary include
35572         * lib/selinux-at.c: Don't include dosname.h; not needed, since
35573         this source file doesn't use its macros, and subsidiary files that
35574         use the macros already include it.
35576 2013-08-21  Eric Blake  <eblake@redhat.com>
35578         d-ino: avoid false negative on symlink
35579         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
35580         Reported by Stephane Chazelas.
35582 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
35584         bootstrap: port to OpenBSD sed
35585         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
35586         does not interpret `-' as a file argument to mean stdin.
35588 2013-08-15  Eric Blake  <eblake@redhat.com>
35590         warnings: minor optimization
35591         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
35593         warnings: check -Wfoo rather than -Wno-foo
35594         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
35595         -Wno-, test if the compiler recognizes the positive form instead.
35597 2013-08-15  Karl Berry  <karl@gnu.org>
35599         * config/srclist-update: add option "doclicense" to placate
35600         pulling *.texi files from Emacs.  Write terse usage
35601         documentation at the top.
35603 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
35605         xvasprintf-tests: port to GCC with hardening flags
35606         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
35607         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
35608         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
35610 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
35612         fpending: port to recent Cygwin change to stdio_ext.h
35613         Reported by LRN in
35614         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
35615         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
35616         just declare __fpending unless it's a macro.
35617         A duplicate decl shouldn't hurt.
35618         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
35619         call compiles and links, instead of separately checking for
35620         decl and lib function.
35621         * modules/fpending (configure-ac):
35622         Adjust to fpending.m4's renaming of shell variable.
35624 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35626         sys_time: port to OpenBSD
35627         * lib/sys_time.in.h: Simply delegate to the system's header
35628         in the BSDish cases as well.  Problem reported by Mike Miller in
35629         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
35630         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
35631         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
35632         wider than time_t.
35634 2013-08-09  Pádraig Brady  <P@draigBrady.com>
35636         bootstrap: support checksum utils having -c but not --status
35637         * build-aux/bootstrap: Only look for sha1sum if updating po files.
35638         Add sha1 to the list of supported checksum utils since it's now
35639         supported through adjustments below.
35640         (update_po_files): Remove the use of --status
35641         in a way that will suppress all error messages, but since this is
35642         only used to minimize updates, it shouldn't cause an issue.
35643         Exit early if there is a problem updating the po file checksums.
35644         (find_tool): Remove the check for --version support as this
35645         is optional as per commit 86186b17.  Don't even check for the
35646         presence of the command as if that is needed, it's supported
35647         through configuring prerequisites in bootstrap.conf.
35648         Prompt that when a tool isn't found, one can define an environment
35649         variable to add to the hardcoded search list.
35651 2013-08-05  Jim Meyering  <meyering@fb.com>
35653         regex: port to non-glibc/lock-using systems
35654         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
35655         system with GNULIB_LOCK would fail due to absence of the
35656         included "glthread/lock.h".  This would affect any package
35657         for which the "lock" module is used only by the regex module,
35658         and not explicitly used.
35659         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
35660         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
35661         Add a dependency on the "lock" module.
35663 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35665         localecharset: make locale_charset thread-safe on Mac OS X
35666         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
35667         instead of MB_CUR_MAX.
35669 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35671         gettext: update to version 0.18.3
35672         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
35673         require AC_PROG_SED to allow user to specify custom sed command when
35674         generating en@quot PO file.
35676 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
35678         bootstrap: use correct source when copying build-aux files
35679         * build-aux/bootstrap (gnulib_extra_files): This variable is
35680         relative to upstream gnulib layout, not downstream.
35682 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
35684         tmpdir: fix bug in VMS port
35685         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
35686         See Steven M. Schweda in
35687         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
35689 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35691         tmpdir: port to VMS, to // != /, and to long dirs
35692         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
35693         __secure_getenv, so that we're more like the glibc version.
35694         All uses changed.
35695         (path_search): Don't put slash after directory if __VMS.
35696         Problem reported by Steven M. Schweda in
35697         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
35698         Simplify code to add slash; no need for a loop.
35699         Do not remove trailing slash from "//".
35700         Do not assume dlen <= INT_MAX.
35702 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35704         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
35705         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
35706         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
35707         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
35709         accept4, dup3, pipe2: port to Cygwin
35710         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
35711         * lib/accept4.c (accept4) [O_BINARY]:
35712         * lib/dup3.c (dup3) [O_BINARY]:
35713         * lib/pipe2.c (pipe2) [O_BINARY]:
35714         Use set_binary_mode, not setmode.
35715         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
35716         * modules/binary-io (Depends-on): Remove module indicator.
35717         These last two bits undo the previous change to pipe2 and binary-io.
35719 2013-07-09  Pádraig Brady  <P@draigBrady.com>
35721         mountlist: add support for deallocating returned list entries
35722         * lib/mountlist.c (free_mount_entry): A new exported function
35723         to deallocate a mount list entry.
35724         (read_file_system_list): Refactor to use the new deallocation function.
35725         Suggested by Anton Ovchinnikov.
35727 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
35729         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
35730         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
35731         * lib/stdalign.in.h (_Alignas, _Alignof):
35732         Port to FreeBSD 9.1, and to C11 and C++11.
35733         (_Alignas): Also support ICC.
35734         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
35735         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
35737 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35739         fnmatch: don't goto over declaration
35740         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
35741         undefined behavior for goto over a declaration.
35742         Problem reported by Charlie Brown in
35743         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
35745         pipe2: decouple from binary-io a bit
35746         This is for Emacs, which needs pipe2 but not binary-io.
35747         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
35748         * modules/binary-io (Depends-on): Add module indicator.
35750 2013-07-03  Eric Blake  <eblake@redhat.com>
35752         mgetgroups: relax license to LGPLv2+
35753         * modules/getugroups (License): Change from GPLv3+.
35754         * modules/mgetgroups (License): Likewise.
35755         * modules/getgroups (License): Change from LGPLv3+.
35757         xalloc-oversized: relax license to LGPLv2+
35758         * modules/xalloc-oversized (License): Change from GPLv3+.
35760         nproc: relax license to LGPLv2+
35761         * modules/nproc (License): Change from LGPLv3+.
35763         bootstrap: honor --no-git
35764         * build-aux/bootstrap: Don't even try to use git when user is
35765         pointing to a static checkout.
35767 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35769         ignore-value: port to gcc -pedantic
35770         * lib/ignore-value.h (ignore_value):
35771         Port to gcc -pedantic, by using __extension__.
35772         Reindent as per usual gnulib style nowadays.
35773         Simplify GCC version check.
35775 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35777         extern-inline: port to gcc -std=c89
35778         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
35779         Do not use __gnu_inline__ if pedantic and pre-C99.
35781 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
35783         doc: document extern-inline
35784         * doc/extern-inline.texi: New file.
35785         * doc/gnulib.texi (alloca-opt): Include it.
35786         * m4/extern-inline.m4: Move some comments to documentation,
35787         and others closer to what they describe.
35789         doc: chatter less
35790         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
35791         (updated-stamp): Use it.  This causes 'make' to output just
35792         one file name rather than zillions.
35794         fflush, fseeko: port to musl cross-compiles
35795         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
35796         on some implementation that (1) is not known to be buggy,
35797         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
35798         cross-compiled to so we can't easily check for lack of
35799         conformance.  This is for cross-compiling to musl.
35800         Reported by Rich Felker in
35801         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
35802         * m4/fclose.m4 (gl_FUNC_FCLOSE):
35803         * m4/fflush.m4 (gl_FUNC_FFLUSH):
35804         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
35805         Adjust to above change.
35806         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
35807         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
35808         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
35809         known not to work, or unknown.
35811 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35813         msvc-inval: port to mingw-w64
35814         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
35815         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
35816         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
35818 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
35820         getcwd-lgpl: port to Tru64
35821         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
35822         Problem reported by Steven M. Schweda in
35823         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
35825         tests: port large-fd POSIX spawn tests to OS X
35826         Problem reported by Daiki Ueno in
35827         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
35828         * tests/test-posix_spawn_file_actions_addclose.c:
35829         * tests/test-posix_spawn_file_actions_adddup2.c:
35830         * tests/test-posix_spawn_file_actions_addopen.c:
35831         Include <limits.h>, for OPEN_MAX, if available.
35832         (big_fd): New static function.
35833         (main): Use it.
35835 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
35837         tests/nap.h: use an adaptive delay to avoid ctime update issues
35838         The recent change in nap.h (5191133e) decreased the probability of lost
35839         races to about a third, however such problems could still be observed
35840         in virtual machines and openSUSE's OBS.
35841         Before, nap() detected the needed time once empirically and then used
35842         that delay (together with a small correction multiplier) in further
35843         calls.  This problem has been reported and discussed several times,
35844         including guesses about possible kernel issues:
35845         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
35846         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
35847         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
35848         http://bugs.gnu.org/12820
35849         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
35850         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
35851         Now, nap() avoids the race alltogether by verifying on a reference
35852         file whether a timestamp difference has happened.
35853         * tests/nap.h (nap_fd): Define file descriptor variable for the
35854         witness file.
35855         (nap_works): Change return value to bool.  Change passing
35856         the old file's status by value instead of by reference as this function
35857         does no longer update that timestamp; rename the function argument from
35858         st to old_st.  Remove the local variables cdiff and mdiff because that
35859         function now returns true/false instead of the precise delay.
35860         (guess_delay): Remove function.
35861         (clear_tmp_file): Add new function to close and unlink the witness file.
35862         (nap): Instead of re-using the delay which has been calculated during
35863         the first call, avoid the race by actually verifying that a timestamp
35864         difference can be observed on the current file system.  Use an adaptive
35865         approach for the delay to minimize execution time.  Assert that the
35866         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
35867         = 2^31 - 1 = 2.1s.
35868         Use atexit to call clear_tmp_file when the process terminates.
35870 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
35872         sig2str: port to C++
35873         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
35874         Reported by Daniel J Sebald in
35875         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
35877 2013-05-30  Eric Blake  <eblake@redhat.com>
35879         docs: mention cygwin shortcoming in <sys/un.h>
35880         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
35882         vasnprintf: silence mingw compiler warning
35883         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
35885 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
35887         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
35888         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
35889         This fixes a porting bug I recently reintroduced in regex, and
35890         some other instances that I discovered while testing the fix.
35891         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
35892         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
35893         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
35894         with an empty argument if this is a pedantic pre-C99 GCC.
35895         * lib/verify.h: Do not use _Static_assert if this is a pedantic
35896         pre-C11 GCC.
35898         regex: adapt to locking regime instead of depending on pthread
35899         Instead of depending on pthread, adapt to whatever thread
35900         modules are in use.  Problem reported by Ludovic Courtès in
35901         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
35902         and by Mats Erik Andersson in
35903         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
35904         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35905         Support either the 'lock' module, or the 'pthread' module, or
35906         no module.
35907         (lock_lock, lock_unlock): New macros.
35908         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
35909         * modules/lock, modules/pthread (configure.ac): Add module indicator.
35910         * modules/regex (Depends-on): Remove pthread.
35912 2013-05-22  Eric Blake  <eblake@redhat.com>
35914         getgroups: document portability issues
35915         * doc/glibc-functions/initgroups.texi (initgroups): Mention
35916         multithread safety.
35917         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
35918         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
35919         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
35920         getugroups.
35921         * doc/posix-functions/getgroups.texi (getgroups): Mention
35922         multithread safety and mgetgroups.
35924 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
35926         test-lchown, test-chown: also skip test if chown fails with EPERM
35927         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
35928         skip this test, to handle FAT file systems.
35929         * tests/test-chown.h (test_chown): Likewise.
35931 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35933         regex: fix dfa race in multithreaded uses
35934         Problem reported by Ludovic Courtès in
35935         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
35936         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35937         New macros.  All uses of __libc_lock_define, __libc_lock_init
35938         changed to use the first two of these.
35939         (__libc_lock_lock, __libc_lock_unlock): New macros, for
35940         non-glibc platforms.
35941         (struct re_dfa_t): Define the lock unconditionally.
35942         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
35943         '#ifdef _LIBC"s.
35944         * modules/regex (Depends-on): Add pthread, if we use the
35945         included regex.
35947         * lib/regcomp.c: Do actions that are not needed for glibc,
35948         but may be needed elsewhere.
35949         (regfree, re_compile_internal): Destroy the lock.
35950         (re_compile_internal): Check for lock-initialization failure.
35952         malloca: port to compilers that reject size-zero arrays
35953         This fixes a bug introduced in my previous patch.
35954         * lib/malloca.c (struct preliminary_header): Use an int
35955         rather than a character array of size int; that's simpler.
35956         (struct header): Remove, replacing with ...
35957         (union header): New type.  This avoids the need for declaring a
35958         character array of size zero, which is not allowed on some platforms.
35959         All uses changed.
35961 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35963         parse-datetime, tests: don't use "string" + int
35964         Recent versions of 'clang' complain about C source code that
35965         uses expressions of the form '"string literal" + integer',
35966         I guess on the theory that it's confusing for readers who are
35967         used to C++.  On those grounds I suppose it's OK to make this
35968         minor style change.
35969         * lib/parse-datetime.y (parse_datetime):
35970         * tests/test-fchdir.c (main):
35971         * tests/test-snprintf-posix.h (test_function):
35972         * tests/test-snprintf.c (main):
35973         * tests/test-vasnprintf-posix.c (test_function):
35974         * tests/test-vasnprintf.c (test_function):
35975         * tests/test-vsnprintf.c (main):
35976         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
35977         Rewrite '"str" + E' to '&"str"[E]'.
35979 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35981         argmatch: port to C++
35982         * lib/argmatch.h [__cplusplus]: Add extern "C".
35984         argp: typo fix
35985         * lib/argp-help.c: Typo in comment.
35987 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
35989         manywarnings: update for GCC 4.8.0
35990         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
35991         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
35992         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
35993         -Wmissing-noreturn, as they are duplicates of other warnings.
35994         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
35995         was documented to be flaky in earlier versions of GCC.
35997         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
35998         * tests/test-spawn.c (main):
35999         * tests/test-sys_socket.c (main):
36000         * tests/test-sys_wait.c (main):
36001         Don't have a switch value that isn't covered by a case.
36003         getaddrinfo-tests: port --enable-gcc-warnings to clang
36004         * tests/test-getaddrinfo.c (simple):
36005         Avoid casts from looser to stricter-aligned pointers.
36007         thread: port --enable-gcc-warnings to clang
36008         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
36009         Include <signal.h>, to pacify a warning about pthread_sigmask.
36011         stdio: use __REDIRECT for fwrite, fwrite_unlocked
36012         * lib/stdio.in.h (fwrite):
36013         When working around bug 11959, use __REDIRECT rather than '#define
36014         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
36015         fix the -Wunused-value issue with clang, and it works with GCC too.
36016         Problem with targeting reported by Eric Blake in
36017         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
36018         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
36019         debugging the fwrite issue.
36021         stdio: port --enable-gcc-warnings to clang
36022         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
36023         since the GCC workaround for fwrite does not pacify clang.
36025         sig2str: port --enable-gcc-warnings to clang
36026         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
36028         obstack: port --enable-gcc-warnings to clang
36029         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
36030         Avoid casts from looser to stricter-aligned pointers.
36032         memchr2: port --enable-gcc-warnings to clang
36033         * lib/memchr2.c (memchr2):
36034         Avoid casts from looser to stricter-aligned pointers.
36036         mbsstr: port --enable-gcc-warnings to clang
36037         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
36038         Avoid casts from looser to stricter-aligned pointers.
36040         malloca: port --enable-gcc-warnings to clang
36041         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
36042         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
36044         inttostr: port --enable-gcc-warnings to clang
36045         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
36047         warnings: port to clang
36048         Problem reported by Daniel P. Berrange via Eric Blake in
36049         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
36050         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
36051         (gl_WARN_ADD): Use it.
36053 2013-05-11  Jim Meyering  <meyering@fb.com>
36055         quotearg: do not read beyond end of buffer
36056         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
36057         end of an ARG for which no length was specified.  With an N-byte
36058         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
36059         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
36060         via coreutils' misc/sort-debug-keys.sh test and detected by running
36061         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
36062         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
36063         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
36064         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
36065         characters correctly."
36067 2013-05-11  Daiki Ueno  <ueno@gnu.org>
36069         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
36070         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
36071         compilation target is Mac OS X 10.6.
36072         Problem reported by parafin and Andoni Morales in
36073         <http://savannah.gnu.org/bugs/?37844> and
36074         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
36076 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
36078         mkdir-p: remove assumptions about umask and mode
36079         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
36080         umask is 0, or that MODE is a subset of MODE_BITS.
36082 2013-05-10  Eric Blake  <eblake@redhat.com>
36084         maint.mk: catch more abuse of HAVE_DECL in syntax-check
36085         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
36087 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
36089         deps: require Automake >= 1.9.6 in generated Makefile fragments
36091         That is the same minimal version required in the DEPENDENCIES file.
36092         Moreover, the old code generated a requirement of Automake >= 1.5,
36093         and that is an insanely outdated version.
36095         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
36096         * tests/havelib/rpathlx/Makefile.am: Likewise.
36097         * tests/havelib/rpathly/Makefile.am: Likewise.
36098         * tests/havelib/rpathlyx/Makefile.am: Likewise.
36099         * tests/havelib/rpathlz/Makefile.am: Likewise.
36100         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
36101         * tests/havelib/rpathx/Makefile.am: Likewise.
36102         * tests/havelib/rpathy/Makefile.am: Likewise.
36103         * tests/havelib/rpathz/Makefile.am: Likewise.
36105 2013-05-08  Eric Blake  <eblake@redhat.com>
36107         bootstrap: AC_INIT may have more than four parameters
36108         * build-aux/bootstrap (extract_package_name): Correctly extract
36109         non-empty tarname field.  Avoid range in regex.
36110         Based on a report by Sami Kerola <kerolasa@iki.fi>.
36112 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
36114         qacl: port to MS-Windows port of GNU Emacs
36115         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
36116         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
36117         port of GNU Emacs.  Problem reported by Eli Zaretskii in
36118         <http://bugs.gnu.org/14295#14>.
36120 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
36122         acl: include quote.h
36123         * lib/copy-acl.c: Include quote.h.
36124         * lib/set-acl.c: Likewise.
36126 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
36128         fchownat, renameat, unlinkat: update statat dependencies
36129         These modules use statat and lstatat, not fstatat; so depend on
36130         the statat module, which was split out recently from fstatat.
36131         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
36132         * modules/renameat: Likewise.  Also delete fstat.
36133         URL: http://bugs.gentoo.org/468790
36135 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
36137         Assume gnulib is checked out from Git, not CVS
36139         In fact, access to the gnulib repository through CVS has been
36140         disabled, or more precisely, got broken and was never restored; see:
36141         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
36143         Note that support for CVS is not removed completely and unthinkingly
36144         by this change: only support for CVS checkouts of gnulib itself is
36145         removed.  For example, the 'bootstrap' script still cater to .cvsingore
36146         files and CVS directories, for the benefit of those poor gnulib clients
36147         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
36149         * gnulib-tool: Simplify accordingly.
36150         * posix-modules: Likewise.
36151         * MODULES.html.sh: Likewise.
36152         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
36153         repository.
36154         * doc/gnulib-intro.texi: Likewise.
36155         * doc/gnulib-readme.texi: Likewise.
36156         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
36157         sample '.gitignore' file rather than a sample '.cvsignore'.
36158         * NEWS: Update.
36159         * m4/extensions.m4: While at it, remove a comment mistakenly referring
36160         to "CVS Autoconf" rather than "git Autoconf".
36162 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
36164         utimensat-tests, etc.: try to fix some races
36165         Problem reported by Bernhard Voelker in
36166         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
36167         I don't know whether this patch fixes that race condition, but it
36168         fixes *some* race conditions, so it should be a win.
36169         * modules/chown-tests (Depends-on):
36170         * modules/fchownat-tests (Depends-on):
36171         * modules/fdutimensat-tests (Depends-on):
36172         * modules/futimens-tests (Depends-on):
36173         * modules/lchown-tests (Depends-on):
36174         * modules/stat-time-tests (Depends-on):
36175         * modules/utimens-tests (Depends-on):
36176         * modules/utimensat-tests (Depends-on):
36177         Depend on nanosleep, not usleep.
36178         * modules/chown-tests (test_chown_LDADD):
36179         * modules/lchown-tests (test_lchown_LDADD):
36180         * modules/stat-time-tests (test_stat_time_LDADD):
36181         New macro.
36182         * modules/fchownat-tests (test_fchownat_LDADD):
36183         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
36184         * modules/futimens-tests (test_futimens_LDADD):
36185         * modules/utimens-tests (test_utimens_LDADD):
36186         * modules/utimensat-tests (test_utimensat_LDADD):
36187         Add $(LIB_NANOSLEEP).
36188         * modules/stat-time-tests (Files): Add tests/nap.h.
36189         * tests/nap.h: Include <limits.h>, for INT_MAX.
36190         (lt_mtime): Remove.
36191         (diff_timespec): New function.
36192         (get_stat): Rename from get_mtime.  All callers changed.
36193         (nap_works): Determine the needed delay by inspecting the
36194         file system's timestamp jumps; this should be more reliable.
36195         Look at both mtime and ctime, and take the maximum of the two jumps.
36196         (nap_works, guess_delay):
36197         Return a nanosecond count, not a microsecond count.
36198         All callers changed.
36199         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
36200         failure.
36201         (nap): Multiply the guess by 1.125, to accommodate the case where
36202         the file system's clock is a bit slower than nanosleep's clock.
36203         * tests/test-stat-time.c (BASE): New macro.
36204         Include nap.h.
36205         (nap): Remove; nap.h now defines this.  This removes a duplicate
36206         implementation of 'nap'.
36208         utimens, utimensat: work around Solaris UTIME_OMIT bug
36209         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
36210         Linux kernel 2.6.32 does.  Work around it in the same way.
36211         * doc/posix-functions/futimens.texi (futimens):
36212         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
36213         * lib/utimens.c (fdutimens, lutimens):
36214         * lib/utimensat.c (rpl_utimensat): Work around the bug.
36216         gettext: now it's your responsibility to add -I$(top_builddir)/intl
36217         Formerly, it was your responsibility to do this for all Makefile.ams
36218         other than Gnulib's.  Now it's your responsibility to do it for
36219         Gnulib's Makefile.am, too.
36220         * NEWS: Document this.
36221         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
36223         acl: include errno.h to get errno
36224         Reported by Daiki Ueno in
36225         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
36226         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
36228 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
36230         tests: don't assume getdtablesize () <= 10000000
36231         * modules/cloexec-tests:
36232         * modules/dup2-tests:
36233         * modules/dup3-tests:
36234         * modules/nonblocking-tests:
36235         * modules/posix_spawn_file_actions_addclose-tests:
36236         * modules/posix_spawn_file_actions_adddup2-tests:
36237         * modules/posix_spawn_file_actions_addopen-tests:
36238         * modules/unistd-safer-tests:
36239         Depend on the getdtablesize module.
36240         * tests/test-cloexec.c:
36241         * tests/test-dup-safer.c:
36242         * tests/test-dup2.c:
36243         * tests/test-dup3.c:
36244         * tests/test-fcntl.c:
36245         * tests/test-nonblocking.c:
36246         * tests/test-posix_spawn_file_actions_addclose.c:
36247         * tests/test-posix_spawn_file_actions_adddup2.c:
36248         * tests/test-posix_spawn_file_actions_addopen.c:
36249         Don't assume getdtablesize () <= 10000000.
36251 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
36253         extern-inline: work around bug in Sun c99
36254         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36255         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
36257 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
36259         qacl: new module, broken out from the acl module
36260         This is for GNU Emacs, which wants the acl functions but does
36261         not want 'error' invoked when they fail.
36262         * lib/acl-internal.h: Do not include error.h, quote.h.
36263         (ENOSYS, ENOTSUP): Remove; no longer needed.
36264         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
36265         * lib/acl.h: Include <stdbool.h>.
36266         (acl_errno_valid): New function.
36267         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
36268         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
36269         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
36270         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
36271         (ACL_INTERNAL_INLINE): Remove; no longer needed.
36272         * lib/file-has-acl.c (file_has_acl):
36273         * lib/qcopy-acl.c (qcopy_acl):
36274         * lib/qset-acl.c (qset_acl):
36275         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
36276         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
36277         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
36278         lib/file-has-acl.c, m4/acl.m4 to qacl module.
36279         Add lib/set-acl.c.
36280         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
36281         Add qacl.
36282         (configure.ac): Move gl_FUNC_ACL to qacl module.
36283         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
36284         Rename set-mode-acl.c to set-acl.c.
36285         * lib/acl-errno-valid.c: New file.
36286         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
36287         copy_acl function remains in copy-acl.c.
36288         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
36289         (_): Remove; not needed.
36290         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
36291         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
36292         * modules/qacl: New file, moved from the old modules/acl.
36293         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
36294         Remove set-mode-acl.c, copy-acl.c.
36295         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
36297         alignof, intprops, malloca: port better to IBM's C compiler
36298         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
36299         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
36300         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
36302 2013-04-25  Daiki Ueno  <ueno@gnu.org>
36304         wctype-h: fix gettext link error on mingw
36305         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
36306         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
36307         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
36308         rpl_towupper and rpl_towupper.
36310 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
36312         regex-tests, regex: allow glibc re_search behavior
36313         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
36314         re_search input data to make the multi-character collating element
36315         in it clearly visible, and treat re_search return code 0 as valid.
36316         * m4/regex.m4 (gl_REGEX): Likewise.
36318 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36320         stdalign: doc fix
36321         * doc/posix-headers/stdalign.texi (stdalign.h):
36322         Gnulib doesn't support '_Alignof expr'.
36324 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36326         stdalign: port to stricter ISO C11
36327         ISO C11 says that _Alignof's operand must be a parenthesized type.
36328         Problem reported by Eli Zaretskii in
36329         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
36330         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
36331         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
36333 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
36335         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
36336         Problem reported by Marco Atzeri in
36337         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
36338         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
36339         Simply delegate to the system <sys/select.h> in this case too.
36340         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
36341         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
36342         be needed on Solaris either.
36343         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
36344         Simply delegate to the system <sys/time.h> in this case.
36346 2013-03-19  Karl Berry  <karl@gnu.org>
36348         * build-aux/gnupload: check for erroneous (with gnupload) use of
36349         ftp-upload.gnu.org, tweak help.
36351 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
36353         copy-file, rpmatch: fix problems found by cppcheck
36354         Reported by Arno Onken in
36355         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
36356         * lib/rpmatch.c (try): Fix memory leak.
36357         * lib/copy-file.c: Include "ignore-value.h".
36358         (qcopy_file_preserving): Ignore chown value.
36359         * modules/copy-file (Depends-on): Add ignore-value.
36361 2013-01-27  Jim Meyering  <jim@meyering.net>
36363         prefix-gnulib-mk: give better diagnostics
36364         * build-aux/prefix-gnulib-mk: Don't just "die".
36365         Give better diagnostics upon failure.
36367 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
36369         putenv: port to Solaris 10
36370         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
36371         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
36372         is not what is wanted here.
36373         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
36374         declaration, not for its existence.
36376 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
36378         mktime: fix configure typo
36379         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
36381 2013-03-12  Eric Blake  <eblake@redhat.com>
36383         regex-tests: skip UTF-8 test on mingw
36384         * modules/regex-tests (Depends-on): Add localcharset.
36385         * tests/test-regex.c (main): Use it to skip test on mingw.
36387 2013-03-11  Eric Blake  <eblake@redhat.com>
36389         tests: make it easier to bypass alarm time in debugger
36390         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
36391         * tests/test-memmem.c (main): Likewise.
36392         * tests/test-passfd.c (main): Likewise.
36393         * tests/test-ptsname.c (main): Likewise.
36394         * tests/test-ptsname_r.c (main): Likewise.
36395         * tests/test-strcasestr.c (main): Likewise.
36396         * tests/test-strstr.c (main): Likewise.
36398         regex: port to mingw's recent addition of undeclared alarm
36399         * doc/posix-functions/alarm.texi (alarm): Document that alarm
36400         exists but still doesn't work in newer mingw.
36401         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
36402         not existence.  Ensure SIGALRM is not trapped.
36403         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
36404         * m4/regex.m4 (gl_REGEX): Likewise.
36405         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
36406         * tests/test-regex.c (main): Use correct probe for alarm.
36408         putenv: avoid compilation warning on mingw
36409         * lib/putenv.c (_unsetenv): Protect variable declaration.
36410         (putenv): Fix indentation.
36412 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
36414         unistd: don't prevent Tru64 Unix from using gnulib strtod.
36415         * lib/unistd.in.h: be careful not to include un-needed system
36416         stdlib.h from here, because that prevents gnulib stdlib.h from
36417         defining rpl_strtod correctly.
36419 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
36421         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
36422         changesets, but for the 'precision 0' test.
36423         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36424         round-to-even, since POSIX says rounding is implementation-defined
36425         and OS X 10.8.2 rounds 1.51 to 1 here.
36427         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
36428         changeset.
36429         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36430         round-to-even, since POSIX says rounding is implementation-defined
36431         and OS X 10.8.2 rounds 1.5 to 1 here.
36433 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
36435         vasnprintf-posix-tests: allow rounding 1.5 to 1
36436         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
36437         round-to-even, since POSIX says rounding is implementation-defined
36438         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
36439         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
36441         bootstrap: port to FreeBSD
36442         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
36443         that treat '--' differently.  Reported by Mats Erik Andersson in
36444         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
36446 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
36448         regex: rename remaining __attribute calls to __attribute__.
36449         2012-02-25 changed definition of __attribute, but left some uses
36450         unchanged, preventing compilation of regex module on most non-gcc
36451         environments.
36452         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
36453         (lookup_collation_sequence_value, build_range_exp)
36454         (build_collating_symbol): Set attributes with newly renamed
36455         __attribute__ decorator.
36456         * lib/regex_internal.c (re_string_peek_byte_case)
36457         (re_node_set_compare, re_node_set_contains): Likewise.
36458         * lib/regexec.c (acquire_init_state_context): Likewise.
36460 2013-03-06  Bruno Haible  <bruno@clisp.org>
36462         execute: Revert last change, but use a different condition.
36463         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
36464         on Windows.
36466 2013-03-05  Eric Blake  <eblake@redhat.com>
36468         execute: drop dead code
36469         * lib/execute.c (nonintr_close, nonintr_open): Delete.
36471 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
36473         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
36474         * m4/non-recursive-gnulib-prefix-hack.m4
36475         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
36476         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
36477         <http://bugs.gnu.org/10305#237>.
36479 2013-03-04  Eric Blake  <eblake@redhat.com>
36481         test-getsockopt: avoid compiler warning
36482         * tests/test-getsockopt.c (includes): Ensure close is declared.
36484 2013-03-02  Bruno Haible  <bruno@clisp.org>
36486         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
36487         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
36489 2013-03-02  Bruno Haible  <bruno@clisp.org>
36491         gettext: Update to version 0.18.2.
36492         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
36493         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
36494                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
36496 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
36498         regex: merge patches from libc
36500         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
36501         * lib/regex_internal.h (__attribute__): Rename from __attribute.
36502         All uses changed.
36503         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
36504         (re_string_wchar_at, re_string_elem_size_at):
36505         Mark function as possibly unused.
36507         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
36508         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
36509         elements compare against the byte sequence of it, not its name.
36511 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
36513         putenv: port better to native Windows
36514         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36515         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
36516         (_unsetenv): Use _putenv if available.
36517         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
36518         a bit less likely to cause damage.
36519         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36520         Fix the wrong value with SetEnvironmentVariable.
36521         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
36522         code better.
36524 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36526         regex: ignore old-style-definition warnings
36527         * lib/regex.c: Add pragma to ignore these warnings.
36528         Problem reported for GNU tar by Pavel Raiskup.
36530 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36532         getcwd: support coreutils better
36533         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
36534         but this might not be correct in coreutils, which disables
36535         the raw decl checks.  Problem reported by Nagendra in
36536         <http://bugs.gnu.org/10305#192>.
36537         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
36538         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
36539         Test the getcwd function, not any macro, since getcwd.c wants the
36540         function.
36541         * m4/getcwd.m4 (gl_FUNC_GETCWD):
36542         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
36543         compile, as might happen if there's a macro but no function.
36545         strtod: support coreutils better
36546         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
36547         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
36548         disables the raw decl checks.  This assumes there is an underlying
36549         strtod, but that's a safe assumption these days.
36550         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
36552         mountlist: port to HP NonStop
36553         Reported by Joachim Schmitz in
36554         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
36555         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
36556         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
36558 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
36560         extern-inline: avoid compilation error with HP-UX cc
36561         Reported by Richard Lloyd in
36562         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
36563         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36564         Suppress extern inline with HP-UX cc.  This should be safe,
36565         though it may hurt performance.  Perhaps someone with some HP-UX
36566         experience can come up with a higher-performance fix.
36568 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36570         putenv: fix heap corruption with mixed putenv/_putenv
36571         Problem reported by Michael Goffioul in
36572         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
36573         * lib/putenv.c (putenv) [HAVE__PUTENV]:
36574         Rely on _putenv to allocate the new environment.
36575         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
36576         * modules/putenv (configure.ac): Use it.
36578 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
36580         unsetenv etc.: port to Solaris 11 + GNU Emacs
36581         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
36582         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
36583         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
36584         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
36585         idea but is too painful to fix right now), and without this gnulib
36586         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
36587         compiling unsetenv.c on Solaris 11.  Fix the problem for
36588         unsetenv.c, and fix other similar occurrences.
36590 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
36592         secure_getenv: fix C++ declaration typo
36593         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
36594         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
36595         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
36597 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
36599         careadlinkat: stop exporting careadlinkatcwd
36600         Only Emacs used it directly, and Emacs no longer needs it.
36601         * NEWS: Document this simplification.
36602         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
36603         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
36604         for readlink.
36605         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
36606         Don't include stdlib.h; no longer needed.
36607         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
36608         * lib/relocwrapper.c: Adjust comment to match new dependencies.
36609         * modules/areadlink (Depends-on): Add readlink.
36610         (Maintainer): Add self.
36611         * modules/careadlinkat (Depends-on): Remove readlink.
36613         extensions: port better to HP-UX
36614         This is merged from git Autoconf.
36615         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36616         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
36617         so that it's compatible with the value used when compiling.
36619         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
36620         Problem reported by Mats Erik Andersson in
36621         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
36622         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36623         openpty function exists, not merely when we intend to replace it.
36624         This corrects the 2013-01-31 patch, which mistakenly defined
36625         HAVE_OPENPTY even on hosts that lacked it.
36627 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36629         secure_getenv: fix include typo
36630         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
36632         secure_getenv: port better to FreeBSD and Solaris
36633         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
36634         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
36635         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
36636         This works better on BSDish platforms.
36637         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
36638         Test for issetugid if __secure_getenv is missing.
36640 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
36642         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
36643         Some of these changes are merged in from git Autoconf.
36644         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36645         When deciding whether to define _XOPEN_SOURCE, inspect the
36646         preprocessor macro __hpux instead of the more-heavyweight
36647         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
36648         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
36649         as the key for __EXTENSIONS__.
36651         unistd: avoid namespace pollution on non-glibc systems
36652         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
36653         This avoids namespace pollution on non-glibc systems, by causing
36654         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
36655         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
36656         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
36658 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36660         tmpdir: use secure_getenv
36661         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
36662         Define to secure_getenv, not getenv.
36663         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
36664         as that's now secure_getenv's job.
36665         * modules/tmpdir (Depends-on): Add secure_getenv.
36667         tempname: use secure_getenv
36668         * lib/tempname.c (__secure_getenv) [!_LIBC]:
36669         Define to secure_getenv, not getenv.
36670         * modules/tempname (Depends-on):
36671         Add secure_getenv.
36673         secure_getenv: new module
36674         * MODULES.html.sh (Extra functions based on ANSI C 89):
36675         Add secure_getenv.
36676         * doc/glibc-functions/secure_getenv.texi: New file.
36677         * doc/gnulib.texi: Include it.
36678         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
36679         New files.
36680         * lib/stdlib.in.h (secure_getenv): New decl.
36681         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
36682         * modules/stdlib (stdlib.h):
36683         Add secure_getenv checks.
36685 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36687         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
36688         Reported for OS X 10.8.2 by Assaf Gordon in
36689         <http://bugs.gnu.org/13516>.
36690         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
36691         !HAVE_OPENAT && !HAVE_FDOPENDIR.
36692         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
36693         so that they can be kept in sync more easily.  Avoid PATH_MAX
36694         test on the Hurd.  Sync from test-getcwd.c for errno tests after
36695         mkdir or chdir failure.
36696         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
36697         lib/getcwd.c.
36698         (test_abort_bug): Do not test for the deep directory bug unless we
36699         have openat support.  Avoid PATH_MAX test on the Hurd.
36701         regex-tests, regex: fix bug: memset undeclared
36702         * tests/test-regex.c: Don't include regex.h twice.  Include
36703         string.h, to declare memset.  Christensen's report also mentioned
36704         this issue.
36705         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
36706         test-regex.c, to avoid future problems like this.  Remove
36707         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
36708         twice.
36710         regex-tests: fix link errors on older Solaris
36711         These need to link with @LIBINTL@ to get libintl_gettext.
36712         Problem reported by Tom G. Christensen in
36713         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
36714         * modules/regex-tests (test_regex_LDADD): New macro.
36716 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36718         regex-tests: new module
36719         * modules/regex-tests, tests/test-regex.c: New files.
36721         regex: fix off-by-one error in configure test
36722         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
36724 2013-01-31  Eric Blake  <eblake@redhat.com>
36726         regex: avoid infinite configure test
36727         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
36729 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
36731         openpty: fix bug where HAVE_OPENPTY wasn't defined
36732         See the thread starting at:
36733         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
36734         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36735         openpty function exists, not merely when we intend to replace it.
36737 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
36739         sys_time: port to Solaris 2.6
36740         There is a circularity problem on Solaris 2.6, where <time.h> includes
36741         <sys/time.h> for struct timespec.  The include nesting is gnulib
36742         <time.h>, system <time.h>, gnulib <sys/time.h>, system
36743         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
36744         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
36745         <sys/siginfo.h>; the last, innermost file needs struct
36746         timestruc_t, which is defined in <sys/time.h>, which has not been
36747         fully parsed.  Problem reported by Tom G. Christensen in
36748         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
36749         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
36750         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
36751         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
36752         uses split double-inclusion guards.
36754 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36756         regex: test for buffer overrun
36757         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
36758         for the just-fixed regex bug.
36760 2013-01-29  Andreas Schwab  <schwab@suse.de>
36762         regex: fix buffer overrun in regexp matcher [BZ #15078]
36763         * lib/regexec.c (extend_buffers): Add parameter min_len.
36764         (check_matching): Pass minimum needed length.
36765         (clean_state_log_if_needed): Likewise.
36766         (get_subexp): Likewise.
36768 2013-01-28  Pádraig Brady  <P@draigBrady.com>
36770         mountlist: don't consider "devtmpfs" as dummy
36771         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
36772         as there is storage associcated with it.
36774 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
36776         futimens-tests, utimens-tests: Depend on gettext.
36777         This works around a problem introduced in my 2013-01-12 patch,
36778         which added @LIBINTL@ to these modules.
36779         * modules/futimens-tests (Depends-on):
36780         * modules/utimens-tests (Depends-on): Add gettext.
36782 2013-01-26  Eric Blake  <eblake@redhat.com>
36784         test-getpeername: fix typo
36785         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
36787 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
36789         bootstrap: remove the need for a sorted .gitignore file
36790         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
36791         rename to insert_if_absent(), so that we don't need or generate
36792         a sorted .gitignore file.  We do require a .gitignore with no
36793         existing duplicate entries and enforce that.
36794         (sort_patterns): Remove this function as we now use the simpler
36795         technigue of inserting blacklist entries at the top of the file,
36796         assuming gnulib won't be inserting !whitelist entries.
36798 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36800         readlinkat: don't depend on gl_FUNC_OPENAT
36801         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
36802         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
36803         renameat.m4, symlinkat.m4; but one thing at a time.
36805         statat: new module, split out from fstatat
36806         GNU Emacs needs the POSIX-specified fstatat, but not the
36807         gnulib-specified statat and lstat.  Split the latter two into a
36808         new module 'statat'.
36809         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
36810         * lib/openat.h, lib/statat.c (STATAT_INLINE):
36811         Rename from FSTATAT_INLINE. All uses changed.
36812         * modules/fstatat (Files): Remove lib/statat.c.
36813         (gl_MODULE_INDICATOR([fstatat])): Remove.
36814         (lib_SOURCES): Remove.
36815         (Maintainer): Add self.
36816         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
36817         * tests/test-fstatat.c (BASE): Don't define if already defined.
36818         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
36820 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36822         tests: don't assume fd 99 is closed
36823         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
36824         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
36825         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
36826         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
36827         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
36828         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
36829         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
36830         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
36831         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
36832         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
36833         * tests/test-fwrite.c, tests/test-getpeername.c:
36834         * tests/test-getsockname.c, tests/test-getsockopt.c:
36835         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
36836         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
36837         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
36838         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
36839         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
36840         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
36841         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
36842         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
36843         * tests/test-unlinkat.c, tests/test-unlockpt.c:
36844         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
36845         Close file descriptor 99, instead of assuming it's already closed.
36847 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
36849         stpncpy: port to OS X 10.8
36850         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
36851         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
36853 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
36855         unistd: port to recent mingw
36856         * lib/unistd.in.h: Remove special invocation convention for mingw,
36857         which breaks for the latest mingw version.  See John W. Eaton in
36858         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
36860         largefile: port better to Mac OS X 10.5
36861         This patch is backported from Autoconf git.
36862         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
36863         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
36864         with ino_t size being different for configuration time versus
36865         build/run time.  Problem reported by PHO in
36866         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
36868 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
36870         doc: clarify -Werror
36871         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
36872         clarify that it's intended for developers, not for ordinary builds,
36873         and mention --enable-gcc-warnings as one possible use.
36875 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
36877         stdint: fix build with Android's Bionic fox x86
36878         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
36879         was already included as _SSIZE_T_DEFINED_ might also be defined
36880         in include/machine/_types.h, which is included by stdio.h
36882 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
36884         net_if-tests: port to Solaris 7 + GCC 3.4.6
36885         Problem reported by Tom G. Christensen in
36886         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
36887         * tests/test-net_if.c (ni): Move to next the code that uses it,
36888         so that it's declared only if needed.
36890 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
36892         net_if-tests: port to older Solaris
36893         Problem reported by Tom G. Christensen in
36894         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36895         * modules/net_if-tests (NET_IF_LIB): New substitution.
36896         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
36897         (HAVE_IF_NAMEINDEX): New C macro.
36898         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
36900         system-quote-tests: port to older Solaris
36901         Problem reported by Tom G. Christensen in
36902         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36903         * tests/test-system-quote-child.c (fopen, fread): Undef.
36905         c-xvasprintf etc.: fix link errors on older Solaris
36906         These need to link with @LIBINTL@ to get libintl_gettext.
36907         Problem reported by Tom G. Christensen in
36908         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36909         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
36910         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
36911         * modules/futimens-tests (test_futimens_LDADD):
36912         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
36914 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36916         locale: port to Solaris 2.6 and 7 + GNU gettext
36917         * lib/locale.in.h: Just include_next <locale.h> when
36918         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
36919         when combining the localename module with GNU gettext 0.18.2.
36920         Problem reported by Tom G. Christensen in
36921         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
36923 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36925         stdlib: port to Solaris 2.6
36926         Also, the code worked on Solaris 7 through 9 only by accident.
36927         Problem reported by Tom G. Christensen in
36928         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
36929         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
36930         simply include the system stdlib.h.
36931         * lib/getopt.in.h (__need_system_stdlib_h):
36932         * lib/pthread.in.h (__need_system_stdlib_h):
36933         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
36934         Define when including <stdlib.h>, to avoid problems at least for
36935         the pthread case on Solaris 2.6 and 7.  These .h files can get by
36936         with the system stdlib.h.
36938 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
36940         doc: update main copyright year
36941         * doc/gnulib.texi: Update copyright date.
36943         doc: improve ISO 8601 discussion
36944         * doc/parse-datetime.texi (Combined date and time of day items):
36945         Specify more carefully what formats are supported and what is
36946         done with excess precision.
36948 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
36950         doc: avoid small caps
36951         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
36952         they're more trouble than they're worth.  Suggested by Karl Berry
36953         in <http://bugs.gnu.org/13360>.
36955         regex: conform to strict C
36956         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
36957         From Aharon Robbins.
36959         gnulib-tool: fix incompatibility with autopoint 0.18.2
36960         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
36961         Problem reported by Tom G. Christensen in
36962         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
36964 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
36966         fprintftime: bring back and reword fwrite comment
36967         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
36969         stdio: remove now-unnecessary stdio.c
36970         Since stdio.in.h no longer uses inline functions, we no longer
36971         need to compile the extern versions.
36972         * lib/stdio.c: Remove.
36973         * modules/stdio (Files): Remove lib/stdio.c.
36974         (lib_SOURCES): Remove.
36976         unicodeio: depend on stdio, not ignore-value
36977         * lib/unicodeio.c: Do not include ignore-value.h.
36978         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
36979         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
36981         fprintftime: depend on stdio, not ignore-value
36982         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
36983         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
36984         since the stdio module arranges to silence that warning now.
36985         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
36987 2012-10-04  Simon Josefsson  <simon@josefsson.org>
36989         stdint-tests: Fix expanded-before-required-warning.
36990         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
36992 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
36994         fwrite: silence __wur only for older glibc versions
36995         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
36996         This will help us remove this workaround some time in the far future.
36998 2013-01-03  Eric Blake  <eblake@redhat.com>
37000         fwrite: silence __wur without using inline
37001         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
37002         just gcc, and in a way that avoids inline issues.
37003         * modules/stdio (Depends-on): Drop extern-inline.
37005 2013-01-03  Jim Meyering  <jim@meyering.net>
37007         update-copyright: avoid copyright notice date corruption
37008         Given a sequence of copyright year numbers in which the final
37009         one was a two-digit number that happened to be a substring of
37010         a preceding four-digit year number, we would mistakenly update
37011         the substring (from two- to four-digit) rather than the two-digit
37012         number at the end, which, combined with the addition of the current
37013         4-digit year number would yield two 5-digit year numbers, e.g.,
37014         here, it would convert the first "99" to "1999, 2013" rather than
37015         the final one:
37016           1991, 99
37017           11999, 20131, 1999
37018         * build-aux/update-copyright: Tighten a regexp.
37019         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
37020         Reported by Joseph Myers in
37021         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
37023 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
37025         regex: omit needless signed-pointer casts
37026         * lib/regcomp.c (build_charclass, build_charclass_op):
37027         Use char *, not unsigned char *, for class name and extra.
37028         The char values are always nonnegative so there's no need to
37029         insist on unsigned char * here, and using char * removes the need
37030         for casts.  Reported by Aharon Robbins in
37031         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37033         regex: support Gawk, which never uses alloca
37034         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
37035         Do not include in this case.  Gawk doesn't supply a substitute
37036         alloca.h and doesn't need one.
37038         regex: port __libc_lock_define usage to C89
37039         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
37040         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
37041         does not conform to C89, as it has an empty macro argument.
37042         Reported by Aharon Robbins in
37043         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37045 2013-01-01  Eric Blake  <eblake@redhat.com>
37047         maint: update all copyright year number ranges
37048         Run "make update-copyright".
37050         version-etc: bump copyright year reported in --version
37051         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
37053 2012-12-31  Eric Blake  <eblake@redhat.com>
37055         sigprocmask-tests: skip test if pid is unexpectedly large
37056         * tests/test-sigprocmask.c (main): Add range check.
37058         git-version-gen: avoid test -z portability glitch
37059         * build-aux/git-version-gen: Prefer portable test spelling, since
37060         git-version-gen is run on more than just developer machines.
37062 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
37064         git-version-gen: add --fallback option to use if git is not present
37065         * build-aux/git-version-gen: Add support for the new option --fallback,
37066         which comes into play when there is no $tarball_version_file and
37067         git is not working.
37068         (scriptversion): Update.
37070         maint.mk: handle missing git with more grace
37071         * top/maint.mk (no-submodule-changes, public-submodule-commit):
37072         Quietly proceed if git is not present.
37074 2012-12-31  Eric Blake  <eblake@redhat.com>
37076         dup2: work around cygwin bug
37077         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
37078         * lib/dup2.c (rpl_dup2): Work around it.
37079         * doc/posix-functions/dup2.texi (dup2): Document it.
37081 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
37083         regex: remove unnecessary dependency on localcharset.h
37084         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
37085         hasn't been needed for years.
37086         * modules/regex (Depends-on): Remove localcharset.
37088         regex: revert single-byte change
37089         * lib/regexec.c (check_node_accept_bytes): Revert previous change
37090         to this function.  This was alredy fixed in a different way, at
37091         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
37092         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
37093         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
37095         regex: simplify based on Gawk version
37096         * lib/regex_internal.c (re_dfa_add_node): Simplify.
37097         Reported by Aharon Robbins in
37098         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37100 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
37102         regex: check that pattern char is single-byte
37103         Reported by Aharon Robbins in
37104         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37105         * lib/regexec.c (check_node_accept_bytes):
37106         Return 0 if the pattern string has a multibyte character here.
37108         regex: implement rational ranges
37109         Reported by Aharon Robbins in
37110         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37111         * lib/regcomp.c (build_range_exp) [!_LIBC]:
37112         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
37113         Implement rational ranges.
37115         regex: avoid redefining __wctype
37116         Reported by Aharon Robbins in
37117         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37118         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
37119         #undef before defining.
37121         regex: port to hosts where malloc (0) == NULL
37122         Reported by Aharon Robbins in
37123         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37124         * lib/regex_internal.c (re_node_set_alloc):
37125         Don't assume that malloc (0) yields nonnull.
37126         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
37127         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
37128         * modules/regex (Files): Add m4/eealloc.m4.
37130         regex: port to C89
37131         Reported by Aharon Robbins in
37132         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37133         * lib/regcomp.c (init_word_char): Declaration before statement.
37135         regex: merge glibc changes
37136         Also, copy the license wording from glibc.  This simplifies
37137         merging changes.  gnulib-tool will change the wording to GPL as
37138         appropriate, when importing it to other packages.  The only
37139         glibc change made since the last merge, which needs merging, is:
37140         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
37141         * lib/regex_internal.h (gettext): Remove use of INTUSE.
37143         * users.txt: Add Emacs.
37145         doc: omit mention of version when not needed
37146         * doc/gnulib-intro.texi (Portability and Application Code):
37147         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
37148         Don't mention particular dates or versions when not necessary, so
37149         that the documentation won't go out of date so quickly.
37151         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
37153 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
37155         bootstrap: pass --force to autoreconf.
37156         * build-aux/bootstrap (AUTORECONFFLAGS): New.
37157         Add "--force" so that Automake's ylwrap and other such tools
37158         be updated at each bootstrap invocation.
37159         Use it.
37161 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
37163         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
37164         The earlier patch forgot to update one of the #if conditions, causing
37165         a problem on Debian testing i386 reported by Mats Erik Andersson
37166         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
37167         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
37168         (__argp_fmtstream_puts, argp_fmtstream_puts)
37169         (__argp_fmtstream_write, argp_fmtstream_write)
37170         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
37172         * doc/gnulib-readme.texi: Minor fixups.
37173         (Portability guidelines): Modernize URLs.  Remove some repetition.
37174         (Indent with spaces not TABs): Reword to avoid too-long lines.
37175         Remove some '@ifset standalone' stuff that isn't used.
37177         * doc/gnulib-readme.texi (Portability guidelines):
37178         ctype.h, not ctime.h.
37180         Correct name of POSIX.1-2001.
37181         * doc/posix-functions/fgetc.texi (fgetc):
37182         * doc/posix-functions/fgets.texi (fgets):
37183         * doc/posix-functions/fread.texi (fread):
37184         * doc/posix-functions/fscanf.texi (fscanf):
37185         * doc/posix-functions/getc.texi (getc):
37186         * doc/posix-functions/getchar.texi (getchar):
37187         * doc/posix-functions/scanf.texi (scanf):
37188         POSIX.1-2001, not POSIX-2001.
37190         doc: move README into manual
37191         * README: Move contents to new file doc/gnulib-readme.texi.
37192         Replace with a one-line summary.
37193         * doc/gnulib.texi (Brief Overview): New section,
37194         with old intro preface.  Include gnulib-readme.texi for contents.
37195         (Philosophy): Rename from "Introduction", since this
37196         section no longer introduces the rest.  Write a new preface.
37197         * doc/gnulib-readme.texi: New file, with the old contents of
37198         README texinfo-ized.  This way, the README info appears
37199         in the online and printed manual.
37201 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
37203         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
37204         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
37205         c_vasprintf() prototype.
37207 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
37209         c-vasprintf: Fix "empty declaration" warning reported by GCC.
37210         * lib/c-vasprintf.h: Remove stray semicolon.
37212 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
37214         gettext: avoid obsolete macro AM_PROG_MKDIR_P
37215         It is obsolete and is planned to be removed from Automake 1.14; see
37216         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
37217         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
37218         (installdirs-data, installdirs-data-yes):
37219         Use $(MKDIR_P), not $(mkdir_p).
37220         * m4/intl.m4 (AM_INTL_SUBDIR):
37221         * m4/po.m4 (AM_PO_SUBDIRS):
37222         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
37224 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
37226         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
37227         On this platform, we are not optimizing but we are using
37228         the substitute for extern inlines, so compile as if
37229         C99-style extern inline, or a substitute, is available.
37230         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
37231         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
37232         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
37233         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
37234         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
37235         Declare as ARGP_FS_EI, not as extern.
37236         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
37237         (__option_is_short, _option_is_end, __option_is_end)
37238         [!_LIBC && __USE_EXTERN_INLINES]:
37239         Declare as ARGP_EI, not as extern.
37241 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
37243         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
37244         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
37245         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
37246         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
37247         ...), as the latter is fatal with older Autoconfs.
37248         Problem reported and fix suggested by Eric Blake in thread starting at
37249         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
37251 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
37253         AC_PROG_MKDIR_P: don't workaround if not buggy
37254         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
37255         Define only for Autoconf versions before 2.62.
37256         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
37257         undocumented m4_PACKAGE_VERSION, for consistency with the
37258         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
37259         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
37260         was introduced in 2.62.
37262 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
37264         New 'c-*printf' modules for formatted output in C locale.
37266         New module 'c-vasnprintf'.
37267         * modules/c-vasnprintf: New file.
37268         * lib/c-vasnprintf.c: New file.
37269         * lib/c-vasnprintf.h: New file.
37271         New module 'c-snprintf'.
37272         * modules/c-snprintf: New file.
37273         * modules/c-snprintf-tests: New file.
37274         * lib/c-snprintf.c: New file.
37275         * lib/c-snprintf.h: New file.
37276         * tests/test-c-snprintf.c: New file.
37277         * tests/test-c-snprintf.sh: New file.
37279         New module 'c-vsnprintf'.
37280         * modules/c-vsnprintf: New file.
37281         * modules/c-vsnprintf-tests: New file.
37282         * lib/c-vsnprintf.c: New file.
37283         * lib/c-vsnprintf.h: New file.
37284         * tests/test-c-vsnprintf.c: New file.
37285         * tests/test-c-vsnprintf.sh: New file.
37287         New module 'c-vasprintf'.
37288         * modules/c-vasprintf: New file.
37289         * modules/c-vasprintf-tests: New file.
37290         * lib/c-asprintf.c: New file.
37291         * lib/c-vasprintf.c: New file.
37292         * lib/c-vasprintf.h: New file.
37293         * tests/test-c-vasprintf.c  +: New file.
37294         * tests/test-c-vasprintf.sh: New file.
37296         New module 'c-xvasprintf'.
37297         * modules/c-xvasprintf: New file.
37298         * modules/c-xvasprintf-tests: New file.
37299         * lib/c-xasprintf.c: New file.
37300         * lib/c-xvasprintf.c: New file.
37301         * lib/c-xvasprintf.h: New file.
37302         * tests/test-c-xvasprintf.c: New file.
37303         * tests/test-c-xvasprintf.sh: New file.
37305 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37307         argp: better 'inline'
37308         Use extern-inline module to declare extern inline functions.
37309         This avoids some bogus warning diagnostics.  Problem discovered
37310         when modifying GNU tar to use the manywarnings module.
37311         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
37312         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
37313         Define based on extern-inline.
37314         * modules/argp (Depends-on): Add extern-inline.
37316 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
37318         filemode, sys_stat: Handle MPX files a la AIX.
37319         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
37320         * lib/sys_stat.in.h (S_ISMPX): New macro.
37321         * tests/test-sys_stat.c: Add tests for MPX files.
37323 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
37325         x-to-1: honor $PERL
37326         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
37327         a chance to use his preferred version of Perl.  This is typically
37328         required by Darwin users whose default /usr/bin/perl does not have all
37329         the libraries required by help2man, and who need to use their MacPorts
37330         installation of Perl instead.
37332 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
37334         gnu-web-doc-update: add all the new files, even in new directories
37335         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
37336         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
37337         Use it.
37338         (main): Don't use cvsutils to get the list of unknown files,
37339         just add all the existing files and directories.
37341 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
37343         gnu-web-doc-update: improve --help
37344         * build-aux/gnu-web-doc-update: Move comments into --help.
37346 2012-12-07  Eric Wong  <normalperson@yhbt.net>
37348         mountlist: recognize more "dummy" file systems
37349         * lib/mountlist.c (ME_DUMMY_0):
37350         Add these dummy FS names to the list:
37351         - "debugfs" virtual filesystem for kernel debugging
37352         - "devpts" PTY slave filesystem
37353         - "devtmpfs" device filesystem on top of tmpfs/ramfs
37354         - "fusectl" control filesystem for FUSE
37355         - "mqueue" enumerates POSIX message queues
37356         - "rpc_pipefs" kernel <-> userspace bridge for NFS
37357         - "sysfs" is for exporting kernel objects
37358         - "devfs" device filesystem for Linux 2.4 and FreeBSD
37360 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
37362         extern-inline: avoid incompatibility with Darwin Libc
37363         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
37364         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
37365         Problem reported by Akim Demaille in
37366         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
37368 2012-12-11  Simon Josefsson  <simon@josefsson.org>
37370         gnupload: Work with GnuPG using gpg-agent (for smartcards).
37371         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
37372         let it handle password prompting.
37374 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
37376         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
37377         * lib/canonicalize.c (canonicalize_filename_mode):
37378         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
37379         fetching the current directory.  Don't overrun the beginning of
37380         rpath if there's no slashes after the MS-Windows drive letter.
37382 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
37384         maint.mk: avoid extra forks
37385         * top/maint.mk (_cfg_mk): The GNU make manual documents that
37386         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
37387         So use that instead of "$(shell test -f FILE && echo FILE)".
37389 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37391         vasnprintf: fix ASCII_ONLY typo
37392         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37393         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37394         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37395         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
37396         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
37398 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
37400         list, oset, xlist, xoset: fix extern inline issue with C99
37401         This was introduced by my recent changes for 'inline'.
37402         Problem reported for gettext by Daiki Ueno in
37403         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
37404         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
37405         (gl_list_nx_create, gl_list_size, gl_list_node_value)
37406         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
37407         (gl_list_previous_node, gl_list_get_at)
37408         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
37409         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
37410         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
37411         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
37412         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
37413         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
37414         (gl_list_iterator_free, gl_sortedlist_search)
37415         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
37416         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
37417         (gl_sortedlist_remove):
37418         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
37419         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
37420         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
37421         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
37422         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
37423         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
37424         (gl_list_add_at, gl_sortedlist_add):
37425         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
37426         Wrap these extern decls inside "#if 0", because they are implemented
37427         as inline functions, and extern inline is not what's wanted here.
37428         It would simplify these .h files to remove the extern decls entirely,
37429         although a downside would be less-clear separation between
37430         specification and implementation.
37432 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37434         sys_stat: no 'static inline'
37435         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
37436         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
37438         extern-inline: no 'static inline'
37439         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
37440         Do not require AC_C_INLINE.
37441         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
37442         'static inline', for older compilers.
37444         snippet/warn-on-use: no 'static inline'
37445         * build-aux/snippet/warn-on-use.h:
37446         Remove unnecessary 'inline' in comment.
37448         rbtree-list, rbtreehash-list: no 'static inline'
37449         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
37450         * lib/gl_anytree_list2.h (node_at):
37451         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
37452         (gl_oset_first, add_nodes_to_buckets):
37453         Now static, not static inline.
37455         regex: no 'static inline'
37456         * lib/regex_internal.c (calc_state_hash):
37457         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
37458         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
37459         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
37460         Now static, not static inline.
37461         (inline) [__GNUC__ < 3 && _LIBC]:
37462         Remove macro; no longer needed.
37464         xvasprintf: no 'static inline'
37465         * lib/xvasprintf.c (xstrcat):
37466         Now static, not static inline.
37467         * m4/xvasprintf.m4 (gl_XVASPRINTF):
37468         Do not require AC_C_INLINE.
37470         parse-datetime, parse-duration: no 'static inline'
37471         * lib/parse-datetime.y (to_uchar):
37472         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
37473         (scale_n_add):
37474         Now static, not static inline.
37475         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
37476         * modules/parse-duration (configure.ac):
37477         Do not require AC_C_INLINE.
37479         getaddrinfo: no 'static inline'
37480         * lib/getaddrinfo.c (validate_family):
37481         Now static, not static inline.
37482         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
37483         Do not require AC_C_INLINE.
37485         ftruncate, fts, lstat, openat, raise: no 'static inline'
37486         * lib/ftruncate.c (chsize_nothrow):
37487         * lib/fts.c (opendirat, diropen):
37488         * lib/lstat.c (orig_lstat):
37489         * lib/openat.c (orig_openat):
37490         * lib/raise.c (raise_nothrow):
37491         Now static, not static inline.
37492         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
37493         * m4/fts.m4 (gl_FUNC_FTS_CORE):
37494         * m4/lstat.m4 (gl_PREREQ_LSTAT):
37495         * m4/openat.m4 (gl_PREREQ_OPENAT):
37496         * m4/raise.m4 (gl_PREREQ_RAISE):
37497         Do not require AC_C_INLINE.
37499         fflush, stat: no 'static inline'
37500         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37501         (clear_ungetc_buffer, disable_seek_optimization)
37502         (restore_seek_optimization, update_fpos_cache):
37503         * lib/stat.c (orig_stat):
37504         Now static, not static inline.
37505         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
37506         (update_fpos_cache):
37507         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
37508         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
37509         * m4/stat.m4 (gl_PREREQ_STAT):
37510         Do not require AC_C_INLINE.
37512         error, filevercmp: no 'static inline'
37513         * lib/error.c (is_open, flush_stdout):
37514         * lib/filevercmp.c (order):
37515         Now static, not static inline.
37516         * m4/error.m4 (gl_PREREQ_ERROR):
37517         * modules/filevercmp (configure.ac):
37518         Do not require AC_C_INLINE.
37520         dup, execute, fatal-signal, etc.: no 'static inline'
37521         * lib/dup.c (dup_nothrow):
37522         * lib/execute.c (nonintr_close, nonintr_open):
37523         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
37524         * lib/fopen.c (orig_fopen):
37525         * lib/freadseek.c (freadptrinc):
37526         * lib/freopen.c (orig_freopen):
37527         * lib/fstat.c (orig_fstat, fstat_nothrow):
37528         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
37529         (get_rusage_as_via_iterator):
37530         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
37531         * lib/getdtablesize.c (_setmaxstdio_nothrow):
37532         * lib/isatty.c (_isatty_nothrow):
37533         * lib/open.c (orig_open):
37534         * lib/read.c (read_nothrow):
37535         * lib/sigprocmask.c (signal_nothrow):
37536         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
37537         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
37538         * lib/wait-process.c (unregister_slave_subprocess):
37539         * lib/write.c (write_nothrow):
37540         Now static, not static inline.
37541         * lib/spawn-pipe.c (nonintr_open): Define only if
37542         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
37543         * m4/dup.m4 (gl_PREREQ_DUP):
37544         * m4/execute.m4 (gl_EXECUTE):
37545         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
37546         * m4/fopen.m4 (gl_PREREQ_FOPEN):
37547         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
37548         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
37549         * m4/fstat.m4 (gl_PREREQ_FSTAT):
37550         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
37551         * m4/isatty.m4 (gl_PREREQ_ISATTY):
37552         * m4/open.m4 (gl_PREREQ_OPEN):
37553         * m4/read.m4 (gl_PREREQ_READ):
37554         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
37555         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
37556         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
37557         * m4/wait-process.m4 (gl_WAIT_PROCESS):
37558         * m4/write.m4 (gl_PREREQ_WRITE):
37559         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
37560         Do not require AC_C_INLINE.
37562         c-strtod, memcoll, readutmp: no 'static inline'
37563         * lib/c-strtod.c (c_locale):
37564         * lib/memcoll.c (strcoll_loop):
37565         * lib/readutmp.c (desirable_utmp_entry):
37566         Now static, not static inline.
37567         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
37568         * m4/memcoll.m4 (gl_MEMCOLL):
37569         * m4/readutmp.m4 (gl_READUTMP):
37570         Do not require AC_C_INLINE.
37572         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
37573         * lib/arctwo.c (to_uchar):
37574         * lib/md4.c (set_uint32):
37575         * lib/md5.c (set_uint32):
37576         * lib/sha1.c (set_uint32):
37577         * lib/sha256.c (set_uint32):
37578         * lib/sha512.c (set_uint64):
37579         Now static, not static inline.  This is a bit simpler, and doesn't
37580         affect performance with GCC and default optimization.
37581         * m4/arctwo.m4 (gl_ARCTWO):
37582         * m4/md4.m4 (gl_MD4):
37583         * m4/md5.m4 (gl_MD5):
37584         * m4/sha1.m4 (gl_SHA1):
37585         * m4/sha256.m4 (gl_SHA256):
37586         * m4/sha512.m4 (gl_SHA512):
37587         Do not require AC_C_INLINE.
37589         cond, lock, thread: better 'inline'
37590         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
37591         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
37592         New macros.  Use them instead of static inline, for header functions.
37593         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
37594         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37595         * lib/glthread/lock.c (gl_waitqueue_init)
37596         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37597         * lib/glthread/thread.c (get_current_thread_handle):
37598         Change 'static inline' to 'inline'.
37599         * lib/glthread/cond.h, lib/glthread/thread.h:
37600         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37601         * m4/cond.m4 (gl_COND):
37602         * m4/lock.m4 (gl_PREREQ_LOCK):
37603         * m4/thread.m4 (gl_THREAD):
37604         Do not require AC_C_INLINE.
37605         * modules/cond, modules/thread (Depends-on): Add extern-inline.
37607         chdir-long, cycle-check, savewd: better 'inline'
37608         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
37609         (find_non_slash):
37610         * lib/cycle-check.c (is_zero_or_power_of_two):
37611         * lib/savewd.c (savewd_delegating):
37612         Change 'static inline' to 'inline'.
37613         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
37614         Replace all remaining uses of 'static inline' with it.
37615         * lib/savewd.h:
37616         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37617         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
37618         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
37619         * m4/savewd.m4 (gl_SAVEWD):
37620         Do not require AC_C_INLINE.
37621         * modules/savewd (Depends-on): Add extern-inline.
37623         base32, base64: no need for 'inline'
37624         * lib/base32.c (to_uchar, get_8, decode_8):
37625         * lib/base64.c (to_uchar, get_4, decode_4):
37626         Change 'static inline' to 'inline'.
37627         * m4/base32.m4 (gl_PREREQ_BASE32):
37628         * m4/base64.m4 (gl_PREREQ_BASE64):
37629         Do not require AC_C_INLINE.
37631         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
37632         * lib/gl_array_oset.c (gl_array_nx_add_at):
37633         (gl_array_remove_at):
37634         * lib/gl_linkedhash_list.c (hash_resize_after_add)
37635         (add_to_bucket, remove_from_bucket):
37636         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
37637         Change 'static inline' to 'static', as it's simpler to omit
37638         'inline' unless there's a significant performance advantage.
37640         list, oset, xlist, xoset, xsublist: simplify via extern inline
37641         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
37642         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
37643         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
37644         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
37645         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
37646         New macro.  Replace all uses of 'static inline' with it.
37647         [HAVE_INLINE]: Implement functions as *_INLINE functions,
37648         instead of as macros FOO that are defined to static inline
37649         functions FOO_inline.
37650         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
37651         * lib/gl_xsublist.c:
37652         Reimplement from scratch, by defining the corresponding *_INLINE
37653         macro and including the corresponding .h file.  This is simpler.
37654         * modules/list, modules/oset, modules/xlist, modules/xoset:
37655         (Files): Remove m4/gl_list.m4.
37656         (configure.ac): Remove gl_LIST.
37657         * m4/gl_list.m4: Remove.
37658         * modules/list, modules/oset, modules/xlist, modules/xoset:
37659         * modules/xsublist:
37660         (Depends-on): Depend on extern-inline, not inline.
37662         xalloc: better 'inline'
37663         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
37664         New macro.  Replace all uses of 'static inline' with it.
37665         (static_inline): Remove.
37666         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
37667         Let 'extern inline' do the work automatically, instead of doing
37668         it by hand.
37669         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
37670         Remove.  All uses removed.
37671         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
37673         gethrxtime: better 'inline'
37674         * lib/xtime.c: New file.
37675         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
37676         * lib/xtime.h (XTIME_INCLUDE):
37677         New macros.  Replace all uses of 'static inline' with them.
37678         * lib/gethrxtime.c (gethrxtime): Define only if
37679         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
37680         this source file is now always compiled, because of the extern inline.
37681         * lib/gethrxtime.h, lib/xtime.h:
37682         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37683         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
37684         if gethrtime works, as they're not needed in that case.
37685         (gl_XTIME): Do not require AC_C_INLINE.
37686         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
37687         compiled now.  Move the check into gl_GETHRXTIME.
37688         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
37689         (Depends-on): Add extern-inline.
37690         (configure.ac): gethrxtime is always compiled now.
37691         (lib_SOURCES): Add gethrxtime.c.
37693         wctype-h: better 'inline'
37694         * lib/wctype-h.c: New file.
37695         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
37696         New macro.  Replace all uses of 'static inline' with it.
37697         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37698         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
37699         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
37700         (Depends-on): Add extern-inline.
37702         unistd: better 'inline'
37703         * lib/unistd.c: New file.
37704         * lib/unistd.in.h (_GL_UNISTD_INLINE):
37705         New macro.  Replace all uses of 'static inline' with it.
37706         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37707         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
37708         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
37709         (Depends-on): Add extern-inline.
37711         sys_socket: better 'inline'
37712         * lib/sys_socket.c: New file.
37713         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
37714         New macro.  Replace all uses of 'static inline' with it.
37715         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37716         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
37717         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
37718         (Depends-on): Add extern-inline.
37720         stdio: better 'inline'
37721         * lib/stdio.c: New file.
37722         * lib/stdio.in.h (_GL_STDIO_INLINE):
37723         New macro.  Replace all uses of 'static inline' with it.
37724         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37725         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
37726         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
37727         (Depends-on): Add extern-inline.
37729         sigaction: better 'inline'
37730         * lib/sig-handler.c: New file.
37731         * lib/sig-handler.h (SIG_HANDLER_INLINE):
37732         New macro.  Replace all uses of 'static inline' with it.
37733         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37734         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
37735         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
37736         (Depends-on): Add extern-inline.
37738         selinux-h: better 'inline'
37739         * lib/se-context.c, lib/se-selinux.c: New files.
37740         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
37741         * lib/se-context.in.h (SE_CONTEXT_INLINE):
37742         New macro.  Replace all uses of 'static inline' with it.
37743         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37744         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
37745         New macro.  Replace all uses of 'static inline' with it.
37746         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37747         * modules/selinux-h (Files, lib_SOURCES):
37748         Add lib/se-context.c, lib/se-selinux.c.
37749         (Depends-on): Add extern-inline.
37750         (configure.ac): Do not require AC_C_INLINE.
37752         pthread: better 'inline'
37753         * lib/pthread.c: New file.
37754         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
37755         New macro.  Replace all uses of 'static inline' with it.
37756         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37757         * m4/pthread.m4 (gl_PTHREAD_CHECK):
37758         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
37759         * modules/pthread (Files): Add lib/pthread.c.
37760         (Depends-on): Add extern-inline.
37762         math: better 'inline'
37763         * lib/math.c: New file.
37764         * lib/math.in.h (_GL_MATH_INLINE):
37765         New macro.  Replace all uses of 'static inline' with it.
37766         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37767         * m4/math_h.m4 (gl_MATH_H):
37768         Do not require AC_C_INLINE.
37769         * modules/math (Files, lib_SOURCES):
37770         Add lib/math.c.
37771         (Depends-on): Add extern-inline.
37773         count-one-bits: better 'inline'
37774         * lib/count-one-bits.c: New file.
37775         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
37776         New macro.  Replace all uses of 'static inline' with it.
37777         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37778         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
37779         Do not require AC_C_INLINE.
37780         * modules/count-one-bits (Files, lib_SOURCES):
37781         Add lib/count-one-bits.c.
37782         (Depends-on): Add extern-inline.
37784         count-leading-zeros: better 'inline'
37785         * lib/count-leading-zeros.c: New file.
37786         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
37787         New macro.  Replace all uses of 'static inline' with it.
37788         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37789         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
37790         Do not require AC_C_INLINE.
37791         * modules/count-leading-zeros (Files, lib_SOURCES):
37792         Add lib/count-leading-zeros.c.
37793         (Depends-on): Add extern-inline.
37795         bitrotate: better 'inline'
37796         * lib/bitrotate.c: New file.
37797         * lib/bitrotate.h (BITROTATE_INLINE):
37798         New macros.
37799         Replace all uses of 'static inline' with them.
37800         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37801         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
37802         (Depends-on): Add extern-inline.
37803         (configure.ac): Do not require AC_C_INLINE.
37805 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
37807         maint.mk: avoid gratuitous failure
37808         Reported by Stefano Lattarini in
37809         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
37810         * top/maint.mk (public-submodule-commit): Quote more safely.
37812 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
37814         canonicalize, canonicalize-lgpl: support MS-Windows file names
37815         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
37816         for test cases, which it'd be nice to add at some point.
37817         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
37818         * lib/canonicalize.c (canonicalize_filename_mode):
37819         * lib/canonicalize-lgpl.c (__realpath):
37820         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
37821         slash is at the beginning of the file name.  Use ISSLASH, instead
37822         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
37823         the first character with '/'.  Test for
37824         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
37825         with a drive letter.
37826         * lib/canonicalize.c (SLASHES): New macro.
37827         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
37829 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
37831         fts: introduce FTS_VERBATIM
37832         * lib/fts_.h (FTS_VERBATIM): New bit flag.
37833         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
37834         * lib/fts.c (fts_open): Honor it.
37836 2012-11-09  Pádraig Brady  <P@draigBrady.com>
37838         getlogin-tests: allow errno == ENXIO
37839         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37840         with errno == ENXIO (No controlling tty).
37841         getlogin_r-tests: Likewise. Also allow errno == ENOENT
37842         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
37843         with errno == ENOENT.  This was reported to happen in various
37844         situations on GNU/Linux.
37846 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37848         getlogin-tests: allow errno == ENOENT
37849         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37850         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
37851         when running a test in an Emacs shell buffer.
37853 2012-11-08  Jim Meyering  <jim@meyering.net>
37855         tests/nap.h: avoid warning about unused variable
37856         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
37858         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
37859         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
37860         white space before each of the special-cased file names, to avoid
37861         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
37862         in http://bugs.gnu.org/12830.
37864 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37866         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
37867         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
37868         fails with errno == EBADF when fd is opened with O_PATH.
37869         Reported by Jim Meyering in
37870         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
37871         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37872         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
37874 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37876         test-utimens: speed up by taking shorter naps
37877         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
37878         New functions.
37879         (nap): Use them, to do a better job of guessing the delay.
37880         On Fedora 17 with ext4 atop md atop hard disks, this made
37881         test-utimens run 10x faster, because the test napped for
37882         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
37883         <http://bugs.gnu.org/12820#11>.
37885 2012-11-07  Jim Meyering  <jim@meyering.net>
37887         mountlist.c: fix a compilation failure
37888         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
37889         I introduced while transforming commit v0.0-7683-g613bcb6
37891 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37893         errno: port to LynxOS 178 2.2.2
37894         Problem reported by Joel Brobecker in
37895         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
37896         * doc/posix-headers/errno.texi (errno.h): Document this.
37897         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
37898         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
37899         Supply a string for EILSEQ.
37900         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
37902 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37904         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
37905         Linux kernel 2.6.39 introduced O_PATH (see
37906         <http://lwn.net/Articles/433854/>) and this is a better fallback
37907         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
37908         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37909         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
37910         * lib/fcntl.in.h (O_ACCMODE):
37911         * tests/test-fcntl-h.c (main):
37912         Do not reject O_ACCMODE merely because it has more than the
37913         minimal number of bits, as POSIX allows extensions here.
37915 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
37917         mountlist: do not classify a bind-mounted dir entry as "dummy"
37918         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
37919         the "none"-testing clause.
37920         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
37921         exception for bind-mounted directories.
37923 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
37925         quote: provide a means to escape strings with nul characters
37926         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
37927         (quote, quote_n): Rename formal arguments for consistency with
37928         quotearg.
37930 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
37932         test-raise: don't assume 199 is an invalid signal
37933         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
37935         sh-quote-tests: port to Solaris 9
37936         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
37937         Problem reported by Dagobert Michelsen in
37938         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
37940 2012-10-28  Jim Meyering  <jim@meyering.net>
37942         maint.mk: rename a new configurable variable
37943         * top/maint.mk (_gl_translatable_string_re): Rename from
37944         translation-markers: _gl_ prefix to insulate from user Makefile code,
37945         and the _re suffix to inform that it's a regular expression.
37947 2012-10-26  Eric Blake  <eblake@redhat.com>
37949         maint.mk: let packages tweak sc_po_check pattern
37950         * top/maint.mk (sc_po_check): Add translation-markers, to allow
37951         finding files with other translation markers.
37953 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37955         euidaccess: speed up 'configure' on GNU hosts
37956         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
37957         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
37958         it's needed only in this case.  Use AC_CHECK_DECLS, not
37959         AC_CHECK_DECLS_ONCE.
37960         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
37961         or AC_REQUIRE for AC_FUNC_GETGROUPS.
37963         * lib/regexec.c (re_search_internal): Fix grammar in comment.
37965 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37967         fchmodat, fchownat, fstatat: port to non-inlining compilers
37968         Problem reported for FreeBSD 9 by Jim Meyering in
37969         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
37970         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
37971         New files, which define FCHMODAT_INLINE etc.
37972         * lib/fchmodat.c (FCHMODAT_INLINE):
37973         * lib/fchownat.c (FCHOWNAT_INLINE):
37974         * lib/fstatat.c (FSTATAT_INLINE):
37975         Remove, as chmodat.c etc. now do this.
37976         * modules/fchmodat (Files): Add lib/chmodat.c.
37977         * modules/fchownat (Files): Add lib/chownat.c.
37978         * modules/fstatat (Files): Add lib/statat.c.
37980 2012-10-15  Jim Meyering  <jim@meyering.net>
37982         fchmodat.c, fchownat.c: compile-impeding typos
37983         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
37984         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
37985         Introduced in commit v0.0-7636-gd202279.
37987 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37989         fcntl-h: support GNU flags like O_IGNORE_CTTY
37990         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
37991         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
37992         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
37993         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
37994         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
37995         Define to 0 if not already defined.
37996         * tests/test-fcntl-h.c: Test these new flags.
37998 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
38000         faccessat, etc.: support AT_FDCWD-only use
38001         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
38002         this function only if its first argument is AT_FDCWD.
38003         Emacs wants faccessat for AT_EACCESS but not for any first-arg
38004         values other than AT_FDCWD, so it doesn't want all the openat
38005         machinery with fchdir etc.
38006         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
38007         * modules/fstatat, modules/mkdirat, modules/openat (Files):
38008         * modules/unlinkat (Files):
38009         Remove lib/openat-priv.h, as at-internal supplies this file.
38010         Removing this file here allows us to support programs like Emacs
38011         that avoid at-internal.
38013         faccessat: speed up 'configure' on mainstream hosts
38014         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
38015         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
38016         since it's only on unusual platforms that we need to check for
38017         'access', and it's better not to slow 'configure' down on all
38018         platforms.
38020         faccessat: port to Solaris 10
38021         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
38022         Needed on Solaris 10, which doesn't have AT_EACCESS,
38023         so we need the Gnulib fcntl.h, which defines it.
38025 2012-10-14  Pádraig Brady  <P@draigBrady.com>
38026         canonicalize: fix C89 compilation
38027         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
38028         declarations so C89 is supported.  Also remove the comment
38029         referencing memorty allocation as the suggested feature could
38030         not be implemented as suggested.
38031         Reported by Michael Goffioul.
38033 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
38035         group-member: omit unnecessary dependencies
38036         This is for Emacs, which has its own allocator and where we
38037         don't want to use xalloc.
38038         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
38039         since we no longer use xmalloc.  Do not include stdbool.h, since
38040         the changes below happen to remove the only use of bool.
38041         (GROUPBUF_SIZE): New constant.
38042         (struct group_info): Remove n_groups member.  Add groupbuf member.
38043         This lets us get the groups without using malloc, usually.
38044         (free_group_info, get_group_info): Adjust to this.
38045         (get_group_info): Return the number of groups found, or -1 on error.
38046         Use plain malloc not xmalloc, and treat its failure as if there
38047         are no groups, as the user already loses in case of error.
38048         (group_member): Simplify, based on changes to get_group_info.
38049         * modules/group-member (Depends-on): Remove dependencies on
38050         xalloc and stdbool.  Add dependency on xalloc-oversized.
38052 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
38054         gethrxtime: port to C++
38055         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
38057 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
38059         ptsname: fix macro-name typo
38060         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
38062 2012-10-03  Simon Josefsson  <simon@josefsson.org>
38064         inttostr: Relax license.
38065         * modules/inttostr (License): Change from LGPL to LGPLv2+.
38067 2012-10-03  Eric Blake  <eblake@redhat.com>
38069         ptsname_r: support ptys returned by FreeBSD posix_openpt
38070         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
38071         lives in /dev/pts/.
38073 2012-10-02  Eric Blake  <eblake@redhat.com>
38075         pselect: reject invalid file descriptors
38076         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
38077         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
38078         * modules/pselect (Depends-on): Add dup2.
38079         * doc/posix-functions/pselect.texi (pselect): Document this.
38081         select: reject invalid file descriptors
38082         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
38083         * lib/select.c (rpl_select) [!win32]: Work around it.
38084         * modules/select (Depends-on): Add dup2.
38085         * doc/posix-functions/select.texi (select): Document this.
38087         select: enhance test
38088         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
38089         New functions.
38090         (test_function): Enhance test.
38091         (do_select_bad_fd): Avoid any stale errno values.
38093         ptsname: reject invalid file descriptors
38094         http://www.austingroupbugs.net/view.php?id=503
38095         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
38096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
38097         * modules/stdlib (Makefile.am): Replace witness.
38098         * lib/stdlib.in.h (ptsname): Allow for replacement.
38099         * modules/ptsname (configure.ac): Trigger replacement.
38100         * doc/posix-functions/ptsname.texi (ptsname): Document this.
38102 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
38104         hash-pjw-bare: new module
38105         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
38106         * lib/hash-pjw-bare.h: Likewise.
38107         * modules/hash-pjw-bare: New file.
38108         * MODULES.html.sh (Misc): Add it.
38110 2012-10-02  Eric Blake  <eblake@redhat.com>
38112         manywarnings: cater to more gcc infelicities
38113         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
38114         -Wuninitialized without -O.
38116 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
38118         select, poll tests: Make setsockopt invocation effective.
38119         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
38120         the bind() call.
38121         * tests/test-select.h (open_server_socket): Likewise.
38123 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
38125         sockets, sys_stat: restore AC_C_INLINE
38126         This undoes the 2012-09-22 patch.
38127         * m4/sockets.m4 (gl_SOCKETS):
38128         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
38129         Restore AC_C_INLINE, since MSVC requires __inline or _inline
38130         and does not support plain 'inline'.  Reported by Bruno Haible in
38131         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
38133 2012-09-30  Bruno Haible  <bruno@clisp.org>
38135         localeconv tests: Avoid test failure on OpenIndiana.
38136         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
38137         skip the 'grouping' and 'mon_grouping' tests.
38138         Reported by Jim Meyering.
38140 2012-09-30  Bruno Haible  <bruno@clisp.org>
38142         havelib: Follow libtool developments.
38143         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
38144         Suggested by Simon Josefsson.
38146 2012-09-29  Jim Meyering  <meyering@redhat.com>
38148         fstatat.c: fix a compile-impeding typo
38149         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
38150         Introduced in commit v0.0-7636-gd202279.
38151         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
38153 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
38155         extern-inline: provide a -Wundef safe config.h
38156         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
38157         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
38158         to produce a -Wundef warning free config.h.
38160 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
38162         hash-pjw: relax license to LGPLv2+
38163         * modules/hash-pjw (License): Relax, with consent of author.
38165 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
38167         maint.mk: fix strict vs. lazy variable issues with RELEASE
38168         * top/maint.mk (_equal): New function.
38169         (member_check): Strip the result to avoid spurious spaces.
38170         (url_dir_list): Do not use ifeq, which is strict, as it will
38171         require RELEASE_TYPE to be defined.
38172         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
38173         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
38174         (announcement_Cc_alpha,announcement_mail_headers_alpha)
38175         (announcement_Cc_beta,announcement_mail_headers_beta)
38176         (announcement_Cc_stable,announcement_mail_headers_stable): these.
38177         (release): Do not depend on $(release-type), as it forces its
38178         evaluation.  Bounce to it.
38180 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
38182         maint.mk: formatting changes
38183         * top/maint.mk: Indent bodies of if's.
38185 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
38187         maint.mk: factor the validation of RELEASE_TYPE
38188         With help from Jim Meyering.
38189         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
38190         * top/maint.mk (_empty, _sp): Move their definition earlier.
38191         (member-check, release-type): New.
38192         Use the latter instead of $(RELEASE_TYPE).
38193         Remove now useless local checks.
38195 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
38197         maint.mk: provide "make upload" to ease uploading
38198         See
38199         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
38200         Do not depend simply on the current $(VERSION), as there may have been
38201         new commits since the tarball generation.  Rather, rely on $(RELEASE),
38202         as "make release-commit" already does.
38204         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
38205         "make TYPE".
38207         * top/maint.mk (upload_command, upload, release): New.
38208         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
38209         (VERSION): first word of $(RELEASE) is always right.
38210         (emit_upload_commands): Adjust.
38211         * top/README-release: Update.
38213 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
38215         maint.mk: silent rules
38216         With help from Stefano Lattarini.
38217         * top/maint.mk (writable-files): Use $(AM_V_GEN).
38218         (announcement): Use $(AM_V_at).
38220 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
38222         localename: port gl_locale_name_thread_unsafe to FreeBSD
38223         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
38224         and use the simpler FreeBSD implementation on Mac OS X as well.
38225         Original idea suggested by Ed Maste in
38226         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
38228 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
38230         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
38231         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
38232         * lib/mbuiter.c, lib/xsize.c: New files.
38233         * lib/binary-io.h (BINARY_IO_INLINE):
38234         * lib/eealloc.h (EEALLOC_INLINE):
38235         * lib/mbfile.h (MBFILE_INLINE):
38236         * lib/mbiter.h (MBITER_INLINE):
38237         * lib/mbuiter.h (MBUITER_INLINE):
38238         * lib/xsize.h (XSIZE_INLINE):
38239         New macros.
38240         Replace all uses of 'static inline' with them.
38241         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38242         * m4/eealloc.m4 (gl_EEALLOC):
38243         * m4/mbfile.m4 (gl_MBFILE):
38244         * m4/mbiter.m4 (gl_MBITER):
38245         * m4/xsize.m4 (gl_XSIZE):
38246         Do not require AC_C_INLINE.
38247         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
38248         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
38249         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
38250         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
38251         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
38252         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
38253         * modules/binary-io, modules/eealloc, modules/mbfile:
38254         * modules/mbiter, modules/mbuiter:
38255         (Depends-on): Add extern-inline.
38257         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
38258         * lib/pipe-filter-aux.c: New file.
38259         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
38260         Replace all uses of 'static inline' with it.
38261         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38262         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
38263         (filter_retcode): No real need for inline here.
38264         * modules/pipe-filter-gi, modules/pipe-filter-ii:
38265         (Files): Add lib/pipe-filter-aux.c.
38266         (Depends-on): Add extern-inline.
38267         (configure.ac): Do not require AC_C_INLINE.
38268         (lib_SOURCES): Add pipe-filter-aux.c.
38270         fdutimensat: omit unnecessary AC_C_INLINE
38271         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
38273         fchmodat, fchownat, fstatat: use extern-inline
38274         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
38275         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
38276         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
38277         New macros.
38278         * lib/openat.h:
38279         Replace all uses of 'static inline' with them.
38280         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38281         * modules/fchmodat, modules/fchownat, modules/fstatat:
38282         * modules/openat-h:
38283         (Depends-on):
38284         Add extern-inline.
38285         (configure.ac): Remove AC_C_INLINE.
38287         acl, mbchar, priv-set: use extern-inline
38288         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
38289         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
38290         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
38291         New macros.
38292         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
38293         Replace all uses of 'static inline' with it.
38294         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38295         * m4/acl.m4 (gl_FUNC_ACL):
38296         * m4/mbchar.m4 (gl_MBCHAR):
38297         * m4/priv-set.m4 (gl_PRIV_SET):
38298         Remove AC_C_INLINE, since 'inline' is no longer used directly.
38299         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
38300         Add extern-inline.
38302         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
38303         * m4/sockets.m4 (gl_SOCKETS):
38304         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
38305         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
38306         environments where it's already guaranteed to work, so we needn't
38307         check for it at 'configure'-time.
38309         tls-tests: omit unnecessary 'inline'
38310         * tests/test-tls.c (perhaps_yield): No longer inline.
38311         Simplicity and portability trump efficiency in test cases.
38313         utimens-tests: avoid unnecessary 'inline'
38314         * modules/fdutimensat-tests (configure.ac):
38315         * modules/futimens-tests (configure.ac):
38316         * modules/utimens-tests (configure.ac):
38317         * modules/utimensat-tests (configure.ac):
38318         Remove AC_C_INLINE.
38319         * tests/test-utimens-common.h (ctime_compare):
38320         No longer inline.  Simplicity and portability trump efficiency here.
38322         misc: don't limit commentary to inline functions
38323         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
38324         * lib/xalloc-oversized.h, lib/xsize.h:
38325         Contrast macros to functions in general, not just to inline functions,
38326         when the commentary does not apply only to inline functions.
38328 2012-09-20  Jim Meyering  <meyering@redhat.com>
38330         non-recursive-gnulib-prefix-hack: new module
38331         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
38332         the file that originated in Bison.
38333         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
38334         largely copied from a snippet that resided in bison's configure.ac.
38335         * modules/non-recursive-gnulib-prefix-hack: New file.
38336         * MODULES.html.sh (Support for maintaining and releasing projects):
38337         Add it.
38339 2012-09-18  Jim Meyering  <meyering@redhat.com>
38341         maint.mk: generalize _gl_tight_scope for non-recursive make
38342         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
38343         that *.h would describe additional .h files in the directory
38344         specified by $(_gl_TS_dir).  I.e., add this...
38345         (_gl_TS_other_headers): New variable.
38347         maint.mk: exempt trailing blanks found in "binary" files
38348         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
38349         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
38350         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38352 2012-09-17  Jim Meyering  <meyering@redhat.com>
38354         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
38355         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
38356         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
38357         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38359 2012-09-17  Jim Meyering  <meyering@redhat.com>
38361         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
38362         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
38363         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
38364         It is not in the same category as "exit (0)" or "exit (1)", and
38365         besides, I know of no symbolic name for that 77.  Reported by
38366         Richard W.M. Jones in
38367         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38369 2012-09-17  Jim Meyering  <meyering@redhat.com>
38371         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
38372         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
38373         all uses of #define, not just those that start in column 1.
38374         Richard W.M. Jones reported a false positive in
38375         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38377 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
38379         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
38380         * lib/localcharset.c (locale_charset) [DARWIN7]:
38381         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
38382         as these two values are incompatible.  Problem reported by Max Horn.
38383         For more discussion, please see
38384         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
38386         doc: document sticky-EOF issue
38387         * doc/posix-functions/fgetc.texi (fgetc):
38388         * doc/posix-functions/fgets.texi (fgets):
38389         * doc/posix-functions/fread.texi (fread):
38390         * doc/posix-functions/fscanf.texi (fscanf):
38391         * doc/posix-functions/getc.texi (getc):
38392         * doc/posix-functions/getchar.texi (getchar):
38393         * doc/posix-functions/scanf.texi (scanf):
38394         Mention that glibc and default Solaris do not conform to
38395         C99 and POSIX-2001 or later, with respect to how getchar
38396         etc. behave when feof reports nonzero.
38398 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
38400         poll: fix poll(0, NULL, msec)
38401         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
38402         but nfd is 0.  In that case poll should behave like select.
38404 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
38405             Paolo Bonzini  <bonzini@gnu.org>
38407         poll: fix for systems that can't recv() on a non-socket
38408         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
38409         is readable.  In this case POLLHUP will not be supported.
38410         * doc/posix-functions/poll.texi: Document this.
38412 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
38414         poll/select: document portability problems not fixed by Gnulib.
38415         * doc/posix-functions/poll.texi: poll does not work well on
38416         pipes under Windows.  It has the same limitations as select on
38417         BeOS.
38418         * doc/posix-functions/select.texi: select does not work well
38419         on pipes under Windows.
38421 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38423         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
38424         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
38425         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
38426         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
38428 2012-09-06  Eric Blake  <eblake@redhat.com>
38430         net_if: give more details about the bug being fixed
38431         * doc/posix-headers/net_if.texi: Add clarification.
38433 2012-09-05  Eric Blake  <eblake@redhat.com>
38435         net_if: new module
38436         * modules/net_if: New module, borrowing ideas from netinet_in.
38437         * m4/net_if_h.m4: New file.
38438         * lib/net_if.in.h: Likewise.
38439         * doc/posix-headers/net_if.texi (net/if.h): Document it.
38440         * MODULES.html.sh (lacking POSIX:2008): Likewise.
38441         * tests/test-net_if.c: Make function checks conditional.
38442         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
38444 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
38446         readutmp: fix non-portable UT_PID use
38447         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
38448         Use `UT_PID (u) > 0' as absolute condition.
38450 2012-09-04  Jim Meyering  <meyering@redhat.com>
38452         fts: reduce two or more trailing spaces to just one, usually
38453         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
38454         or more slashes, trim all but the final one.  But if a name consists
38455         solely of two slashes, don't modify it.  If it consists solely of
38456         three or more slashes, strip all but one.
38458         This is part of the solution to a minor problem with rm:
38459         it would print a bogus ELOOP diagnostic when failing to remove
38460         the slash-decorated name of a symlink-to-directory:
38462             $ mkdir d && ln -s d s && env rm -r s/
38463             rm: cannot remove 's': Too many levels of symbolic links
38465         With the change below and a trivial don't-trim-trailing-slashes
38466         adjustment to remove.c, it does this:
38468             $ env rm -r s/
38469             rm: cannot remove 's/': Not a directory
38471         Improved by: Eric Blake
38473         fts: when there is no risk of overlap, use memcpy, not memmove
38474         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
38476 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38478         stdbool: be more compatible with mixed C/C++ compiles
38479         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
38480         Define to bool, true, false, respectively, as GCC's builtin
38481         stdbool.h does.  Problem reported by Michael Goffioul in
38482         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
38484 2012-08-28  Jim Meyering  <meyering@redhat.com>
38486         revert last change: it was not needed
38487         * tests/test-vc-list-files-git.sh: There's already a test for
38488         a working git, just below.
38490 2012-08-28  Jim Meyering  <meyering@redhat.com>
38492         tests: test-vc-list-files-git.sh: skip if git is not available
38493         * tests/test-vc-list-files-git.sh: Skip this test when git is
38494         not available.
38496 2012-08-26  Bruno Haible  <bruno@clisp.org>
38498         gnulib-tool: Remove no-op option --no-changelog.
38499         * gnulib-tool (func_usage): Don't mention --no-changelog.
38500         (do_changelog): Remove variable.
38501         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38503 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38505         doc: remove fdl-1.2.texi
38506         It is no longer used or maintained, and its use of @acronym
38507         is problematic.  See the thread containing
38508         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
38509         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
38510         * doc/old-licenses/fdl-1.2.texi: Remove.
38512         execinfo: port to FreeBSD
38513         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
38514         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
38515         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
38516         * modules/execinfo (Link): Add $(LIB_EXECINFO).
38518 2012-08-23  Jim Meyering  <meyering@redhat.com>
38520         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
38521         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
38522         to placate gcc's -Wold-style-declaration.
38524 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38526         doc: do not use @acronym
38527         * doc/inet_ntoa.texi (inet_ntoa):
38528         * doc/parse-datetime.texi (Seconds since the Epoch)
38529         (Specifying time zone rules):
38530         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
38531         Don't use @acronym.  Problem reported by John Darlington in
38532         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
38534 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38536         stdnoreturn: port to newer GCCs
38537         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
38538         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
38539         Problem reported by Jim Meyering in
38540         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
38541         Also, rename the 'test' function to a void a clash with the
38542         already-supplied 'main' function; this fixes a bug that incorrectly
38543         rejected GCC 4.7.1's <stdnoreturn.h>.
38544         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
38545         Document GCC problem.
38547 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
38549         pipe-filter: fix comment typo
38550         * lib/pipe-filter.h: Mention correct function.
38552 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
38554         execinfo: new module
38555         This is for Emacs.  Currently, it provides a no-effect stub
38556         on all platforms where it does not already work.
38557         It already works on glibc-based systems, and on Solaris 11.
38558         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
38559         New files.
38560         * doc/glibc-headers/execinfo.texi (execinfo.h):
38561         * MODULES.html.sh (Misc): Document it.
38563 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
38565         extern-inline: support old GCC 'inline'
38566         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
38567         if available.  This applies to GCC versions 2.7 through 4.2, or
38568         when newer GCC is using -fgnu89-inline.  The goal is to address
38569         some of the performance issues mentioned by Bruno Haible in
38570         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
38572 2012-08-20  Eric Blake  <eblake@redhat.com>
38574         maint.mk: avoid redundant file name in message
38575         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
38576         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
38577         (sc_makefile_path_separator_check): Remove bogus $(ME).
38579 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
38581         timer-time: fix link order when static linking on glibc
38582         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
38583         _after_ -lrt so that it's significant.
38585 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38587         timespec: omit unnecessary AC_C_INLINE
38588         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
38590         stat-time: omit unnecessary AC_C_INLINE
38591         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
38592         Do not require AC_C_INLINE.
38594         ignore-value: omit unnecessary AC_C_INLINE
38595         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
38597         sys_select: avoid 'static inline'
38598         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
38600         mktime: avoid 'static inline'
38601         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
38602         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
38604 2012-08-19  Bruno Haible  <bruno@clisp.org>
38606         gnulib-tool: Improve coding style.
38607         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
38608         func_emit_lib_Makefile_am.
38609         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38611 2012-08-19  Bruno Haible  <bruno@clisp.org>
38613         gnulib-tool: Fix indentation.
38614         * gnulib-tool (func_import): Fix indentation.
38616 2012-08-19  Bruno Haible  <bruno@clisp.org>
38618         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
38619         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
38620         on the list of removed files.
38622 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
38624         test-parse-datetime: avoid glibc leap-second glitch
38625         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
38626         with the 2012 rules.  Problem reported by Bruce Dubbs in
38627         <http://bugs.gnu.org/12206>.
38629 2012-08-14  Bruno Haible  <bruno@clisp.org>
38631         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
38632         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
38633         from argument.
38634         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38636 2012-08-14  Eric Blake  <eblake@redhat.com>
38638         ldexp: relax license
38639         * modules/ldexp (License): Trivial relax, since the module only
38640         provides a permissively licensed m4 file.
38642 2012-08-13  Bruno Haible  <bruno@clisp.org>
38644         gnulib-tool: Fix persistence of --witness-c-macro option.
38645         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
38646         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38648 2012-08-11  Eric Blake  <eblake@redhat.com>
38650         count-leading-zeros: use a lookup table on non-gcc compilers
38651         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
38652         alternate implementation, suggested by Jim Meyering.
38654 2012-08-10  Eric Blake  <eblake@redhat.com>
38656         count-leading-zeros: new module
38657         * modules/count-leading-zeros: New module.
38658         * m4/count-leading-zeros.m4: New file.
38659         * lib/count-leading-zeros.h: Likewise.
38660         * modules/count-leading-zeros-tests: New test.
38661         * tests/test-count-leading-zeros.c: New file.
38662         * MODULES.html.sh (Integer arithmetic functions): Document it.
38664 2012-08-07  Simon Josefsson  <simon@josefsson.org>
38665             Jim Meyering  <meyering@redhat.com>
38667         maintainer-makefile: Fix syntax error with dash.
38668         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
38669         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
38671 2012-08-05  Jim Meyering  <meyering@redhat.com>
38673         extern-inline: also ignore -Wmissing-declarations
38674         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
38675         required with gcc-4.8.0-to-be.
38677         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
38678         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
38679         for /error ?([^,]*)/.  This avoids false-positives for strings like
38680         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
38682 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
38684         gnumakefile: better interaction with Automake-NG
38685         * modules/gnumakefile [Makefile.am]: The makefiles generated by
38686         Automake-NG always contain a definition of VPATH, even in non-VPATH
38687         builds (its value being simply '.' in that case).  So, in the
38688         'clean-GNUmakefile' rule, to determine whether running under a
38689         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
38690         '$(VPATH)' expands to the empty string.
38692 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
38694         base64: Use extern C scope in header file, for C++.
38695         * lib/base64.h: Add C++ namespace protection.
38697 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
38699         stat-time, timespec, u64: support naive out-of-dir builds
38700         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
38701         Use '#include "foo.h"', not '#include <foo.h>', when including
38702         one's own interface.  This works better when configuring with
38703         out-of-directory builds, since packages need not add an
38704         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
38706 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
38708         utimens: use extern-inline
38709         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
38710         * lib/utimens.h: Add copyright notice, since this is now large enough
38711         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38712         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
38713         * modules/utimens (Depends-on): Add extern-inline.
38715         u64: use extern-inline
38716         * lib/u64.c: New file.
38717         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38718         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
38719         * modules/u64 (Files): Add lib/u64.c.
38720         (Depends-on): Add extern-inline.
38721         (configure.ac): No need to require AC_C_INLINE, since extern-inline
38722         does that now.
38723         (lib_SOURCES): Add u64.c.
38725         timespec: use extern-inline
38726         * lib/timespec.c: New file.
38727         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38728         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
38729         * modules/timespec (Files): Add lib/timespec.c.
38730         (Depends-on): Add extern-inline.
38731         (lib_SOURCES): Add timespec.c.
38733         stat-time: use extern-inline
38734         * lib/stat-time.c: New file.
38735         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38736         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
38737         * modules/stat-time (Files): Add lib/stat-time.c.
38738         (Depends-on): Add extern-inline.
38739         (lib_SOURCES): Add stat-time.c.
38741         extern-inline: new module
38742         * modules/extern-inline, m4/extern-inline.m4: New files.
38743         This is for better support of 'extern inline' a la ISO C99,
38744         with a portable alternative on compilers that do not support
38745         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
38746         of the Emacs executable, when compiled with debugging disabled,
38747         which is a typical way that Emacs is built while developing.
38749 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
38751         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
38752         * build-aux/do-release-commit-and-tag: Move variable definitions
38753         together.
38754         ($branch): Instead of defaulting to "master", default to the current
38755         branch (as gnu-web-doc-update does).
38756         (help): Display the current values of the option arguments.
38757         * top/maint.mk (release-commit): New.
38758         * top/README-release: Simplify the corresponding step.
38760 2012-07-30  Eric Blake  <eblake@redhat.com>
38762         passfd: fix comment on recvfd
38763         * lib/passfd.c (recvfd): Fix comment.
38764         Reported by Jann Horn <jannhorn@googlemail.com>.
38766 2012-07-30  Jim Meyering  <meyering@redhat.com>
38768         maint.mk: avoid a sub-shell
38769         * top/maint.mk (release-prep): Remove unneeded sub-shell.
38771 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38773         maint.mk: use silent-rules support from Automake
38774         * top/maint.mk (news-check, vc-diff-check, announcement)
38775         (no-submodule-changes, alpha beta stable, release-prep)
38776         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
38778 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38780         maint.mk: provide a web-manual-update target
38781         * top/maint.mk: here.
38782         * top/README-release: Use it to simplify the web manual update step.
38784 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38786         README-release: shorten the circuit to post a news
38787         * top/README-release: Point directly to the news submission form.
38789 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38791         gnu-web-doc-update: fix --help
38792         * build-aux/gnu-web-doc-update: The information "top level" was written
38793         twice.
38795 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38797         maint.mk: absolute VPATH issue
38798         * top/maint.mk (release-prep): Help Git find .git/.
38799         From Jim Meyering.
38801 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38803         gitlog-to-changelog: fix previous change
38804         * build-aux/gitlog-to-changelog: Fix condition.
38805         Add missing ";".
38807 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38809         gitlog-to-changelog: don't expect .git to be in $srcdir
38810         Reported by Bruno Haible.
38811         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
38812         * build-aux/gitlog-to-changelog (&git_dir_option): New.
38813         Use it.
38815 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38817         maint.mk: absolute VPATH build fix
38818         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
38819         $(srcdir) is not a parent of $(builddir).
38821 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
38823         clean-temp: Fix memory leak.
38824         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
38825         'files' members of tmpdir.
38827 2012-07-27  Jim Meyering  <meyering@redhat.com>
38829         maint.mk: new rule: refresh-gnulib-patches
38830         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
38831         Use this rule to refresh them.
38832         * top/maint.mk (refresh-gnulib-patches): New rule.
38834 2012-07-24  Bruno Haible  <bruno@clisp.org>
38836         gnulib-tool: Fix handling of inctests variable.
38837         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
38838         Reported by Nick Bowler <nbowler@elliptictech.com>.
38840 2012-07-22  Bruno Haible  <bruno@clisp.org>
38842         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
38843         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
38844         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38845         Remove exemption for getpass.h.
38846         Suggested by Eric Blake.
38848 2012-07-20  Eric Blake  <eblake@redhat.com>
38850         verify: document conflict with -Wnested-externs
38851         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
38853         maint.mk: forbid exit(-1)
38854         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
38856 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38858         fsusage: port back to Solaris
38859         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
38860         error (fsd not declared) on Solaris 10.  Reported privately by
38861         Andrew Borodin.
38863 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
38865         gnu-web-doc-update: fix error messages
38866         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
38868         gnu-web-doc-update: check the requirements.
38869         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
38870         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
38871         * build-aux/bootstrap (find_tool): Comment change.
38873 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
38875         maint.mk: minor simplication.
38876         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
38877         for default values.
38879 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
38881         gitlog-to-changelog: VPATH build issues
38882         If builddir is not a subdirectory of srcdir, running git from it will
38883         fail.
38884         * build-aux/gitlog-to-changelog (--srcdir): New option.
38886 2012-07-15  Bruno Haible  <bruno@clisp.org>
38888         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
38889         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
38890         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
38891         Remove exemption for fpending.h.
38892         Suggested by Eric Blake.
38894 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
38896         pthread_sigmask: fix bug on FreeBSD 9
38897         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
38898         Include string.h.
38899         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
38900         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
38901         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
38902         but pthread_sigmask (1729, NULL, NULL) returns zero.
38903         See <http://bugs.gnu.org/11884>.
38904         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
38905         by inspecting whether the main call changed the old mask.
38907 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
38909         README-release: make it more legible
38910         * top/README-release: Improve typography slightly.
38912 2012-07-15  Jim Meyering  <meyering@redhat.com>
38914         maint: require that each sc_... command start with "@"
38915         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
38916         "make sc_maint" helps us avoid this nit.
38918 2012-07-15  Jim Meyering  <meyering@redhat.com>
38920         maint.mk: add leading "@" to quiet new "make syntax-check" rule
38921         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
38923 2012-07-13  Eric Blake  <eblake@redhat.com>
38925         maint.mk: new syntax check for HAVE_DECL checks
38926         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
38927         * cfg.mk
38928         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38929         Exempt some false positives.
38930         Based on a report by Karel Zak.
38932         argp: make HAVE_DECL usage consistent
38933         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
38934         macros, not whether they are defined.
38935         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
38936         convention with other declaration checks.
38937         Reported by Karel Zak, with suggestions from Paul Eggert.
38939         stat-time: relax license to LGPLv2+
38940         * modules/stat-time (License): Relax, with consent of all authors.
38942         strndup: fix m4 usage error
38943         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
38944         defined, to either 0 or 1.
38945         Reported by Karel Zak.
38947 2012-07-11  Jim Meyering  <meyering@redhat.com>
38949         maint: enable the sc_avoid_if_before_free syntax-check rule
38950         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
38951         (if_before_free_offenders_): Define.
38952         (if_before_free_basename_re_): Define.
38953         Exempt current files with useless if-before-free.
38955 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
38957         gettext: do not assume '#define ... defined ...' behavior
38958         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
38959         Do not use '#define FOO ... defined BAR ...', as the C standard says
38960         it's not portable to expect that this works after macro expansion.
38961         Problem reported for gzip by Steven M. Schweda in
38962         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
38964 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38966         getloadavg: clean out old Emacs and Autoconf cruft
38967         See Glenn Morris in <http://bugs.gnu.org/11905>.
38968         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
38969         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
38970         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
38971         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
38973 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
38975         bootstrap: let warn be like tests/init.sh's warn_
38976         Reported by Jim Meyering.
38977         * build-aux/bootstrap (warn): Remove, replaced by...
38978         (warnf_, warn_): these.
38979         Adjust callers.
38980         Shorten messages that no longer fit in 80 columns.
38982 2012-07-09  Bruno Haible  <bruno@clisp.org>
38984         getopt: Simplify after Emacs changed.
38985         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
38986         (gl_GETOPT_IFELSE): Remove macro.
38988 2012-07-09  Jim Meyering  <meyering@redhat.com>
38990         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
38991         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
38993         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
38994         Bugs in both of those conspired to make the
38995         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
38996         _sc_search_regexp's handling of non-empty $in_files would filter
38997         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
38998         choice of in_files value meant there would be no match in most
38999         projects, due to the presence of two or more Makefile.in files.
39000         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
39001         Fix a bug in how a non-empty $$in_files was processed:
39002         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
39003         in spite of the name, it's a regexp, not a list of file names.
39005 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
39007         getloadavg, getopt: fix commentary re configure.in
39008         Autoconf is deprecating the name 'configure.in', so change it to
39009         to the new name 'configure.ac' in a couple of places.
39010         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
39011         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
39012         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
39013         Emacs has renamed it to configure.ac, and it no longer refers
39014         to these macros anyway.
39016         timespec: mark functions with const attributes
39017         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
39018         Mark with _GL_ATTRIBUTE_CONST.
39020 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
39022         canonicalize[-lgpl]: handle "guessing" values when cross-building
39023         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39024         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
39025         matches "*yes" instead of just "yes".  Regression introduced in commit
39026         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
39028 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
39029             Bruno Haible  <bruno@clisp.org>
39031         canonicalize: make the right guess when cross-compiling to GNU
39032         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
39033         determine whether cross-compiling to glibc systems, so as to
39034         include GNU/Hurd.
39036 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
39038         timespec-sub: avoid duplicate include
39039         * lib/timespec-sub.c: Do not include <config.h> twice.
39040         Reported by Juanma Barranquero.
39042 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
39044         bootstrap: use a more consistent error reporting scheme
39045         * build-aux/bootstrap (warn, die): New.
39046         Use them.
39048 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
39050         sys_time: allow too-wide tv_sec
39051         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
39052         timeval even if tv_sec is wider than time_t.  This allows
39053         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
39054         as without this patch gnulib replaces struct timeval
39055         and OpenBSD futimes therefore has a type mismatch.
39056         * doc/posix-headers/sys_time.texi: Mention this.
39058         pthread: check for both pthread_create and pthread_join
39059         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
39060         alter the check so that it tests for both pthread_create and
39061         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
39062         Suggested by Bruno Haible and Richard Yao in
39063         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
39065         parse-datetime: doc tuneup
39066         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
39067         spacing issues.
39069 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
39071         do-release-commit-and-tag: fix the previous commit
39072         * build-aux/do-release-commit-and-tag: Actually the test was right,
39073         but the comment and the error message were misleading.
39074         Fix comment, and improve error message.
39075         Perform check first, so that NEWS is not modified uselessly.
39077         do-release-commit-and-tag: fix typo
39078         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
39079         _not_ start with a stub.
39081 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
39083         pthread: check for pthread_create, not pthread_join
39084         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
39085         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
39086         pthread_join in libc.  I hope this removes the need for all the
39087         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
39088         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
39090 2012-07-04  Jim Meyering  <meyering@redhat.com>
39092         parse-datetime: fix failure to diagnose invalid input
39093         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
39094         rather than diagnosing the invalid input.  Now it reports this:
39095         date: invalid date '\260'
39096         * lib/parse-datetime.y (to_uchar): Define.
39097         (yylex): Don't sign-extend "other" bytes.
39098         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
39099         Thanks to Bruno Haible for the patch to this file.
39100         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
39101         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
39103 2012-07-03  Jim Meyering  <meyering@redhat.com>
39105         bootstrap: do not require now-removed build-aux/missing
39106         Now that build-aux/missing is, er, missing, bootstrap would
39107         silently fail.
39108         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
39109         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
39110         no longer part of gnulib.
39111         Diagnose the failure.
39113 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
39115         alloca: add support for HP NonStop TNS/E native
39116         * lib/alloca.in.h (alloca): Support the new host.
39117         From a suggestion by Joachim Schmitz in
39118         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
39120 2012-07-02  Pádraig Brady  <P@draigBrady.com>
39122         fsusage: remove code not needed on non GNU/Linux systems.
39124         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
39125         Don't include headers no longer needed in this case.
39126         * lib/fsusage.c [STAT_STATVFS &&
39127         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
39128         STAT_STATFS2_FRSIZE to exclude code not used in this case.
39130 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
39132         fsusage: include files needed for glibc 2.6 fallback
39133         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
39134         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
39135         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
39136         Problem reported by Ludovic Courtès in
39137         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
39139         fsusage: avoid needless check on GNU/Linux
39140         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
39141         on GNU/Linux systems, since it can't possibly work.
39143 2012-07-01  Bruno Haible  <bruno@clisp.org>
39145         log: Fix an autoconf >= 2.64 warning.
39146         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
39147         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39149 2012-06-28  Bruno Haible  <bruno@clisp.org>
39151         log10f: Fix possible configuration problem.
39152         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
39153         $LOGF_LIBM.
39154         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39156 2012-06-28  Bruno Haible  <bruno@clisp.org>
39158         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
39159         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
39160         not gl_cv_func_unlink_works.
39161         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39163 2012-06-27  Eric Blake  <eblake@redhat.com>
39165         config: drop scripts that automake says are not independent
39166         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
39167         * build-aux/elisp-comp: Delete.
39168         * build-aux/missing: Likewise.
39169         * build-aux/ylwrap: Likewise.
39170         * modules/elisp-comp: Likewise.
39171         * MODULES.html.sh: Drop mention of elisp-comp.
39172         * NEWS: Mention this.
39174 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
39176         root-uid: new module
39177         This is for portability to Tandem's NonStop Kernel.
39178         * lib/root-uid.h, modules/root-uid: New files.
39179         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
39180         * lib/write-any-file.c, tests/test-sethostname2.c:
39181         Include "root-uid.h".
39182         * lib/euidaccess.c (euidaccess):
39183         * lib/pt_chown.c (main):
39184         * lib/unlinkdir.c (cannot_unlink_dir):
39185         * lib/write-any-file.c (can_write_any_file):
39186         * m4/mknod.m4 (gl_FUNC_MKNOD):
39187         * tests/test-sethostname2.c (geteuid, main):
39188         Don't assume ROOT_UID == 0.
39189         * modules/euidaccess (Depends-on):
39190         * modules/pt_chown (Depends-on):
39191         * modules/sethostname-tests (Depends-on):
39192         * modules/unlinkdir (Depends-on):
39193         * modules/write-any-file (Depends-on):
39194         Add root-uid.
39196         regex: use locale-independent comparison for codeset name
39197         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
39198         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
39199         for codeset name.
39200         * lib/regex_internal.h: Do not include <strings.h>, since we
39201         no longer use strcasecmp.
39202         * modules/regex (Depends-on): Remove strcase.
39204 2012-06-23  Bruno Haible  <bruno@clisp.org>
39206         getopt-posix: No longer guarantee that option processing is resettable.
39207         * doc/posix-functions/getopt.texi: Drop description of problem with
39208         internal state. Fix info about mingw and msvc9.
39209         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
39210         option processing by getopt(). Run three test programs instead of one.
39211         Simplify cross-compilation guess.
39212         * NEWS: Mention the change.
39213         Reported by Rich Felker <dalias@aerifal.cx>.
39215 2012-06-26  Bruno Haible  <bruno@clisp.org>
39217         argp, regex: Ensure strcasecmp gets declared.
39218         * lib/argp-help.c: Include <strings.h>.
39219         * lib/regex_internal.h: Likewise.
39220         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
39222 2012-06-24  Bruno Haible  <bruno@clisp.org>
39224         ptsname_r: Make it consistent with ptsname on AIX.
39225         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
39226         implementation as for OSF/1.
39227         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
39228         a pty master.
39230         ptsname_r: Make it consistent with ptsname on OSF/1.
39231         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
39232         OSF/1.
39234 2012-06-24  Bruno Haible  <bruno@clisp.org>
39236         ttyname_r: Fix result on OSF/1, Solaris.
39237         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
39239 2012-06-24  Bruno Haible  <bruno@clisp.org>
39241         ptsname_r: Add support for Solaris.
39242         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
39243         Solaris.
39245         ptsname_r: Fix test failure on native Windows.
39246         * modules/ptsname_r (Depends-on): Add isatty.
39248         ptsname_r: Fix test failures on IRIX, Solaris.
39249         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
39250         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
39251         accordingly.
39252         * lib/ptsname_r.c: Include <fcntl.h>.
39253         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
39254         set errno if fd is invalid.
39255         * tests/test-isatty.c (main): Update comments.
39257 2012-06-24  Bruno Haible  <bruno@clisp.org>
39259         ptsname test: Extend test.
39260         * tests/test-ptsname.c: Include <errno.h>.
39261         (main): Test behaviour with invalid file descriptor.
39263 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39265         time: fix obsolete comment
39266         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
39267         reference to HAVE_STRUCT_TIMESPEC in comment.
39269 2012-06-23  Bruno Haible  <bruno@clisp.org>
39271         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
39272         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
39273         does not handle abbreviated long options with equivalent
39274         disambiguations, set gl_replace_getopt to yes.
39275         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
39277 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
39279         time_r: fix typo that always overrode localtime_r decl
39280         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
39281         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
39282         not in a standard include.
39284 2012-06-22  Bruno Haible  <bruno@clisp.org>
39286         Write "Mac OS X" instead of "MacOS X".
39287         * README: Write "Mac OS X" instead of "MacOS X".
39288         * build-aux/bootstrap: Likewise.
39289         * build-aux/install-reloc: Likewise.
39290         * lib/acl-internal.h: Likewise.
39291         * lib/acl_entries.c: Likewise.
39292         * lib/argp-ba.c: Likewise.
39293         * lib/argp-pv.c: Likewise.
39294         * lib/config.charset: Likewise.
39295         * lib/copy-acl.c: Likewise.
39296         * lib/csharpexec.c: Likewise.
39297         * lib/euidaccess.c: Likewise.
39298         * lib/fbufmode.c: Likewise.
39299         * lib/fflush.c: Likewise.
39300         * lib/file-has-acl.c: Likewise.
39301         * lib/filemode.h: Likewise.
39302         * lib/fpurge.c: Likewise.
39303         * lib/freadable.c: Likewise.
39304         * lib/freadahead.c: Likewise.
39305         * lib/freading.c: Likewise.
39306         * lib/freadptr.c: Likewise.
39307         * lib/freadseek.c: Likewise.
39308         * lib/fseeko.c: Likewise.
39309         * lib/fseterr.c: Likewise.
39310         * lib/fsusage.c: Likewise.
39311         * lib/fwritable.c: Likewise.
39312         * lib/fwriting.c: Likewise.
39313         * lib/get-rusage-as.c: Likewise.
39314         * lib/get-rusage-data.c: Likewise.
39315         * lib/getdomainname.c: Likewise.
39316         * lib/idpriv-drop.c: Likewise.
39317         * lib/idpriv-droptemp.c: Likewise.
39318         * lib/localcharset.c: Likewise.
39319         * lib/locale.in.h: Likewise.
39320         * lib/localename.c: Likewise.
39321         * lib/mbsrtowcs-state.c: Likewise.
39322         * lib/nproc.c: Likewise.
39323         * lib/passfd.c: Likewise.
39324         * lib/posix_openpt.c: Likewise.
39325         * lib/printf-parse.c: Likewise.
39326         * lib/progreloc.c: Likewise.
39327         * lib/safe-read.h: Likewise.
39328         * lib/safe-write.h: Likewise.
39329         * lib/sched.in.h: Likewise.
39330         * lib/set-mode-acl.c: Likewise.
39331         * lib/signal.in.h: Likewise.
39332         * lib/stdint.in.h: Likewise.
39333         * lib/stdio-impl.h: Likewise.
39334         * lib/stdlib.in.h: Likewise.
39335         * lib/strtod.c: Likewise.
39336         * lib/sys_select.in.h: Likewise.
39337         * lib/tcgetsid.c: Likewise.
39338         * lib/unistd.in.h: Likewise.
39339         * lib/unlockpt.c: Likewise.
39340         * lib/vasnprintf.c: Likewise.
39341         * lib/vma-iter.c: Likewise.
39342         * lib/wcsrtombs-state.c: Likewise.
39343         * m4/acl.m4: Likewise.
39344         * m4/acosl.m4: Likewise.
39345         * m4/asinl.m4: Likewise.
39346         * m4/atanl.m4: Likewise.
39347         * m4/c-stack.m4: Likewise.
39348         * m4/cosl.m4: Likewise.
39349         * m4/expl.m4: Likewise.
39350         * m4/extensions.m4: Likewise.
39351         * m4/fdatasync.m4: Likewise.
39352         * m4/fmal.m4: Likewise.
39353         * m4/frexp.m4: Likewise.
39354         * m4/frexpf.m4: Likewise.
39355         * m4/frexpl.m4: Likewise.
39356         * m4/fsusage.m4: Likewise.
39357         * m4/getdomainname.m4: Likewise.
39358         * m4/getloadavg.m4: Likewise.
39359         * m4/getopt.m4: Likewise.
39360         * m4/gettext.m4: Likewise.
39361         * m4/gnulib-common.m4: Likewise.
39362         * m4/intdiv0.m4: Likewise.
39363         * m4/intlmacosx.m4: Likewise.
39364         * m4/largefile.m4: Likewise.
39365         * m4/ldexpl.m4: Likewise.
39366         * m4/link-follow.m4: Likewise.
39367         * m4/locale-ar.m4: Likewise.
39368         * m4/locale-fr.m4: Likewise.
39369         * m4/locale-ja.m4: Likewise.
39370         * m4/locale-tr.m4: Likewise.
39371         * m4/locale-zh.m4: Likewise.
39372         * m4/locale_h.m4: Likewise.
39373         * m4/lock.m4: Likewise.
39374         * m4/logl.m4: Likewise.
39375         * m4/mathfunc.m4: Likewise.
39376         * m4/minus-zero.m4: Likewise.
39377         * m4/mktime.m4: Likewise.
39378         * m4/mmap-anon.m4: Likewise.
39379         * m4/multiarch.m4: Likewise.
39380         * m4/nanosleep.m4: Likewise.
39381         * m4/nocrash.m4: Likewise.
39382         * m4/poll.m4: Likewise.
39383         * m4/printf-frexpl.m4: Likewise.
39384         * m4/printf.m4: Likewise.
39385         * m4/signbit.m4: Likewise.
39386         * m4/sinl.m4: Likewise.
39387         * m4/sqrtl.m4: Likewise.
39388         * m4/strerror_r.m4: Likewise.
39389         * m4/tanl.m4: Likewise.
39390         * m4/threadlib.m4: Likewise.
39391         * m4/ttyname_r.m4: Likewise.
39392         * m4/unlink.m4: Likewise.
39393         * m4/visibility.m4: Likewise.
39394         * m4/wcwidth.m4: Likewise.
39395         * tests/minus-zero.h: Likewise.
39396         * tests/test-alloca-opt.c: Likewise.
39397         * tests/test-copy-acl.sh: Likewise.
39398         * tests/test-copy-file.sh: Likewise.
39399         * tests/test-fdatasync.c: Likewise.
39400         * tests/test-file-has-acl.sh: Likewise.
39401         * tests/test-flock.c: Likewise.
39402         * tests/test-fsync.c: Likewise.
39403         * tests/test-localename.c: Likewise.
39404         * tests/test-malloca.c: Likewise.
39405         * tests/test-nonblocking-pipe.h: Likewise.
39406         * tests/test-nonblocking-socket.h: Likewise.
39407         * tests/test-openpty.c: Likewise.
39408         * tests/test-posix_openpt.c: Likewise.
39409         * tests/test-ptsname.c: Likewise.
39410         * tests/test-ptsname_r.c: Likewise.
39411         * tests/test-sameacls.c: Likewise.
39412         * tests/test-select.h: Likewise.
39413         * tests/test-set-mode-acl.sh: Likewise.
39414         * tests/test-snprintf-posix.h: Likewise.
39415         * tests/test-sprintf-posix.h: Likewise.
39416         * tests/test-strtod.c: Likewise.
39417         * tests/test-time.c: Likewise.
39418         * tests/test-vasnprintf-posix.c: Likewise.
39419         * tests/test-vasprintf-posix.c: Likewise.
39420         * doc/acl-resources.txt: Likewise.
39421         * doc/**/*.texi: Likewise.
39422         Reported by Max Horn <max@quendi.de>.
39424 2012-06-22  Bruno Haible  <bruno@clisp.org>
39426         grantpt: Relax requirement regarding invalid file descriptors.
39427         * lib/grantpt.c: Don't include <fcntl.h>.
39428         (grantpt): Don't verify the validity of the file descriptor.
39429         * modules/grantpt (Depends-on): Remove fcntl-h.
39430         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
39431         file descriptors.
39432         * doc/posix-functions/grantpt.texi: Document more platforms on which
39433         grantpt succeeds for invalid file descriptors.
39434         Reported by Rich Felker <dalias@aerifal.cx>.
39436 2012-06-22  Bruno Haible  <bruno@clisp.org>
39438         fbufmode test: Don't test unportable behaviour.
39439         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
39440         (main): Invoke it three times.
39441         Reported by Szabolcs Nagy <nsz@port70.net>
39442         and Rich Felker <dalias@aerifal.cx>.
39444 2012-06-21  Bruno Haible  <bruno@clisp.org>
39446         gnulib-tool: Refactor inctests variable.
39447         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
39448         (func_modules_transitive_closure,
39449         func_modules_transitive_closure_separately,
39450         func_import, func_create_testdir): Update.
39452         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
39453         * gnulib-tool: Accept option --without-tests.
39454         (func_usage): Document --without-tests option. Rearrange.
39455         (inctests): Normalize according to the mode.
39456         * NEWS: Mention the change.
39457         Suggested by Simon Josefsson.
39459 2012-06-21  Bruce Korb  <bkorb@gnu.org>
39461         parse-duration test: Avoid spurious output.
39462         * tests/test-parse-duration.sh: Reindent with leading tabs.
39464 2012-06-21  Jim Meyering  <meyering@redhat.com>
39466         maint: disable the strncpy prohibition
39467         * cfg.mk: Do not prohibit strncpy here.
39469 2012-06-21  Bruno Haible  <bruno@clisp.org>
39471         nonblocking: Avoid compilation error on mingw64.
39472         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
39473         fscanf.
39474         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
39475         * modules/vfscanf (configure.ac): Likewise.
39476         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
39477         definition only if stdio.h has prepared it.
39478         Reported by Daniel P. Berrange <berrange@redhat.com>.
39480 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
39482         gnulib-tool: Use readlink if it is available.
39483         * gnulib-tool (func_readlink): Choose function more appropriately.
39485 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39487         posixtm-tests: port to buggy compiler
39488         Problem reported by Simon Josefsson in
39489         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
39490         * modules/posixtm-tests (Depends-on): Add stdint.
39491         * tests/test-posixtm.c (struct posixtm_test.t_expected):
39492         Now of type int_least64_t, not int64_t, both because that's
39493         what INT64_C returns and because int_least64_t works even
39494         on 72-bit hosts.
39495         (T): Use INT64_C on constants outside the traditional int range,
39496         to work around compiler bug noted by Simon.
39498         mktime: fix integer overflow in 'configure'-time test
39499         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
39500         after integer overflow.  Problem reported by Rich Felker in
39501         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
39502         Also, don't look for further instances of a bug if we've already
39503         found one instance; this helps 'configure' run faster.
39505 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
39507         tmpfile, clean-temp: Fix invocation of GetVersionEx.
39508         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
39509         GetVersionEx correctly.
39510         * lib/clean-temp.c (supports_delete_on_close): Likewise.
39512 2012-06-20  Bruno Haible  <bruno@clisp.org>
39514         fdopen: Allow implementations that don't reject invalid fd arguments.
39515         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
39516         succeeds.
39517         Reported by Rich Felker <dalias@aerifal.cx>.
39519 2012-06-20  Simon Josefsson  <simon@josefsson.org>
39521         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
39522         bring in LIBINTL.
39524 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39526         init.sh: do not rely on autoupated PWD
39527         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
39528         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
39529         Although Nelson's bug was not necessarily fixed by this patch,
39530         it seems wise to make the change for safety.
39531         * tests/init.sh (path_prepend_): Do not rely on PWD updating
39532         automagically after 'cd'; this is not reliable on older shells.
39533         (setup_): Fail if we cannot cd to temporary directory.
39535 2012-06-19  Bruno Haible  <bruno@clisp.org>
39537         stat, fstat: Avoid warnings on mingw64.
39538         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
39539         redefining.
39540         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
39541         Reported by Daniel P. Berrange <berrange@redhat.com>.
39543 2012-06-19  Bruno Haible  <bruno@clisp.org>
39545         stdioext: Add support for musl libc.
39547         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
39548         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
39550         * m4/fseterr.m4: New file.
39551         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
39552         function exists.
39553         * modules/fseterr (Files): Add m4/fseterr.m4.
39554         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
39555         __fseterr does not exist.
39556         (Makefile.am): Remove fseterr.c from lib_SOURCES.
39558         * lib/freadable.h: Update comment.
39560         * lib/fwritable.h: Update comment.
39562         * lib/freading.h: Update comment.
39564         * lib/fwriting.h: Update comment.
39566         * m4/freadahead.m4: New file.
39567         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
39568         that function exists.
39569         * modules/freadahead (Files): Add m4/freadahead.m4.
39570         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
39571         __freadahead does not exist.
39572         (Makefile.am): Remove freadahead.c from lib_SOURCES.
39574         * m4/freadptr.m4: New file.
39575         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
39576         function exists.
39577         * modules/freadptr (Files): Add m4/freadptr.m4.
39578         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
39579         __freadptr does not exist.
39580         (Makefile.am): Remove freadptr.c from lib_SOURCES.
39582         * m4/freadseek.m4: New file.
39583         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
39584         exists.
39585         * modules/freadseek (Files): Add m4/freadseek.m4.
39586         (configure.ac): Invoke gl_FUNC_FREADSEEK.
39588         * lib/fpurge.c (fpurge): Update comment.
39590         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
39592 2012-06-19  Bruno Haible  <bruno@clisp.org>
39594         *printf-posix: Put more info into config.log.
39595         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
39596         exit code into config.log.
39598 2012-06-19  Bruno Haible  <bruno@clisp.org>
39600         getopt-gnu: Fix exit code overflow in autoconf test.
39601         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
39602         to keep them below < 128.
39604 2012-06-17  Jim Meyering  <meyering@redhat.com>
39606         maint.mk: fix typo in code to derive GPG key at release time
39607         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
39609 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
39611         regex: avoid warning when pointers are not long
39612         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
39613         and uintptr_t, not long, for portability to hosts where pointers and
39614         long have different sizes.  Issue noted by Daniel P. Berrange in
39615         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
39616         and fix suggested by Bruno Haible in
39617         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
39619 2012-06-17  Bruno Haible  <bruno@clisp.org>
39621         dummy: Relicense into the public domain.
39622         * modules/dummy (License): Set to "public domain".
39623         Suggested by Reuben Thomas.
39625 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39627         announce-gen: VPATH issues
39628         * build-aux/announce-gen (--srcdir): New option, used to trim the
39629         $srcdir part of the path from $builddir to NEWS.
39630         * top/maint.mk (announcement): Adjust.
39632 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39634         gnu-web-doc-update: VPATH builds
39635         * build-aux/gnu-web-doc-update (--builddir): New option.
39636         Revamp the handling of options.
39637         Prefer $(...) to `...`.
39638         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
39639         the template, and it is GNU mktemp specific.
39640         Prefer set -e to long series of &&.
39641         Restore the initial git branch, not "master".
39642         Properly initialize submodules (don't rely only on bootstrap).
39643         Do not reconfigure blindly, use config.status.
39644         * top/README-release: Update instructions for gnu-web-doc-update.
39646 2012-06-11  Jim Meyering  <meyering@redhat.com>
39648         maint.mk: revert most of the previous change re "all these"
39649         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
39650         For rationale, see the discussion at
39651         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
39653 2012-06-10  Karl Berry  <karl@gnu.org>
39655         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
39657         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
39659 2012-06-10  Bruce Korb  <bkorb@gnu.org>
39661         parse-duration: Relicense under LGPLv2+.
39662         * modules/parse-duration (License): Change to LGPLv2+.
39664 2012-06-10  Jim Meyering  <meyering@redhat.com>
39666         maint.mk: prohibit common grammar error: "all these"
39667         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
39668         the list of prohibited word sequences.  It should be "all of these".
39669         * lib/tempname.c (__gen_tempname): Fix one of them.
39671 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39673         do-release-commit-and-tag: support VPATH builds
39674         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
39675         (noteworthy): Defined earlier to factor its value.
39676         (noteworthy_stub): New.
39677         Use it to factor.
39678         (help_version): Split into...
39679         (help, version): these.
39680         Adjust the option processing part.
39681         Support "--option=value" in addition to "--option value".
39682         (builddir): New.
39683         (--builddir): New option.
39684         * top/README-release: Document this.
39685         Reword slightly so that the reader cannot understand that he
39686         has to do these steps before calling do-release-commit-and-tag.
39688 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39690         readme-release: also require announce-gen and maintainer-makefile
39691         * modules/readme-release (Depends-on): here.
39692         * modules/announce-gen, modules/do-release-commit-and-tag,
39693         modules/gnu-web-doc-update, modules/maintainer-makefile
39694         (Description): Point to readme-release.
39696 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39698         maint.mk: fix VPATH issues.
39699         * top/maint.mk (news-check): GNU Make understand $< very well.
39700         (release-prep): NEWS is in $(srcdir).
39702 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
39704         readme-release: require the promoted modules.
39705         * modules/readme-release (Depends-on): Add
39706         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
39707         in this text.
39709 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39710             Bruno Haible  <bruno@clisp.org>
39712         error, strerror-override: Support mingw64 from Fedora 17.
39713         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
39714         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
39715         EINPROGRESS.
39716         * lib/strerror-override.h (strerror_override): Test it.
39717         * lib/strerror-override.c (strerror_override): Likewise.
39718         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
39720 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39721             Bruno Haible  <bruno@clisp.org>
39723         error, strerror-override: Support mingw64 from Fedora 17.
39724         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
39725         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
39726         * lib/strerror-override.h (strerror_override): Test it.
39727         * lib/strerror-override.c (strerror_override): Likewise.
39729 2012-06-03  Bruno Haible  <bruno@clisp.org>
39731         error, strerror-override: Support new errno values from POSIX:2008.
39732         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
39733         ENOTRECOVERABLE.
39734         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
39735         platforms.
39736         * lib/strerror-override.c (strerror_override): Conditionalize the
39737         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
39738         * lib/strerror-override.h (strerror_override): Declare also if
39739         GNULIB_defined_EOWNERDEAD is defined.
39740         * tests/test-errno.c (e130, e131): New variables.
39741         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
39742         ENOTRECOVERABLE.
39743         Reported by Paolo Bonzini.
39745 2012-05-31  Jim Meyering  <meyering@redhat.com>
39747         savewd: add missing dependency on sys_wait module
39748         * modules/savewd (Depends-on): Add sys_wait, needed at least
39749         for MSVC.  Report and suggested change by Michael Goffioul.
39751 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
39753         system-quote-tests: port to CentOS 5
39754         Problem reported by Tom G. Christensen in
39755         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
39756         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
39758 2012-05-29  Jim Meyering  <meyering@redhat.com>
39760         maint: fix typos in comments and ChangeLog
39761         Culprits identified and fixed mostly automatically using these commands:
39762         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
39763         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
39764         using http://github.com/lyda/misspell-check
39765         * ChangeLog: Fix typos.
39766         * doc/solaris-versions: Likewise.
39767         * lib/regexec.c (re_search_stub): Likewise.
39768         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
39770 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39772         manywarnings: remove duplicate -Wmultichar entry
39773         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
39774         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
39775         so keep the entry marked as documented.
39777 2012-05-27  Karl Berry  <karl@gnu.org>
39779         * config/srclist.txt (mktime.c): remove last libc sync,
39780         perhaps just temporarily.
39782 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39784         regex: don't assume uint64_t or uint32_t
39785         * lib/regcomp.c (init_word_char): Don't assume that the types
39786         uint64_t and uint32_t exist.  The C standard doesn't guarantee
39787         them, and on some 32-bit compilers there is no uint64_t.
39788         Problem reported by Gianluigi Tiesi in
39789         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
39791 2012-05-25  Jim Meyering  <meyering@redhat.com>
39793         maint.mk: add strncpy-prohibiting syntax-check rule
39794         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
39796 2012-05-24  Jim Meyering  <meyering@redhat.com>
39798         maint.mk: compute $(gpg_key_ID) more portably
39799         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
39800         That use of sed is not portable to some fringe systems.
39801         Reported by Paul Eggert in
39802         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
39804 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39806         mktime: sync from glibc
39807         * config/srclist.txt: Uncomment mktime.c.
39808         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
39809         First, indent with tabs, since glibc uses tabs and doesn't want to
39810         change and we'd rather be identical to glibc.  Also, two small
39811         coding changes:
39812         (isdst_differ): Use &&, not &, as && is the usual style.
39813         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
39814         for clarity.
39816 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39818         announce-gen: du -h is more portable than du --human
39819         * build-aux/announce-gen (sizes): Invoke du with -h instead
39820         of --human.  Accept leading white space in its output.
39822 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39824         announce-gen: Improve diagnostics.
39825         * build-aux/announce-gen: When parsing command line options,
39826         prefer "announce-gen: option --release-type requires an argument"
39827         to "Option release-type requires an argument".
39829 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39831         maint.mk: gpg_key_ID: use sed more portably
39832         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
39833         the closing brace.
39834         (refresh-po): Fuse two sed invocations into one.
39836 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
39838         gitlog-to-changelog: support the log message format used in Bison.
39839         * build-aux/gitlog-to-changelog: Support --strip-tab and
39840         --strip-cherry-picked.
39842 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39844         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
39845         the rest of the current time slice to another thread in the current
39846         process. So if the thread that feeds the file decscriptor we're
39847         polling is not in the current process, we get busy-waiting.
39848         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
39849         Patch from Theodore Leblond.
39850         * lib/select.c: Split polling out of the loop that sets the output
39851         fd_sets.  Check for zero result and loop if the wait timeout is
39852         infinite.
39854 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39856         select: Fix build error on IRIX 6.5.
39857         * lib/select.c: Include stddef.h for NULL.
39859 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39861         gc: fix libgcrypt detection on older machines.
39862         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
39863         copyright years because the file has been distributed every year
39864         since it was created.
39866 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39868         crypto: fix bug in large buffer handling
39869         Problem reported by Serge Belyshev for glibc in
39870         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
39871         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
39872         * lib/md4.c (md4_process_block):
39873         * lib/md5.c (md5_process_block):
39874         * lib/sha1.c (sha1_process_block):
39875         * lib/sha256.c (sha256_process_block):
39876         Don't assume the buffer length is less than 2**32.
39877         * lib/sha512.c (sha512_process_block): Likewise.
39878         Here, the bug is present only in the rare case where the host does
39879         not support uint64_t or where size_t is wider than 64 bits.
39880         Use u64size to work around the problems.
39881         * lib/u64.h (u64size): New macro.
39883 2012-05-15  Pádraig Brady  <P@draigBrady.com>
39885         fsusage: fix block size returned on older Linux 2.6
39887         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
39888         which is available since Linux 2.6.
39889         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
39890         when the member is available so it can be used as a fallback.
39891         * doc/posix-functions/statvfs.texi: Mention the hang issue
39892         on Linux < 2.6.36.
39894 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39896         bootstrap: suppress stderr chatter
39897         * build-aux/bootstrap (insert_sorted_if_absent, main program):
39898         Omit unnecessary chatter to stderr.  The main program chatter
39899         was there only inadvertantly.
39901         bootstrap: .gitignore files created by autopoint, libtool
39902         I ran into this problem when bootstrapping the latest diffutils.
39903         After './bootstrap', 'git status' reported lots of untracked files
39904         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
39905         autopoint and do not need to be version-controlled.
39906         * build-aux/bootstrap: Put into .gitignore the files that
39907         autopoint and libtool create, by keeping track of files that exist
39908         after but not before these programs are run.
39909         (version_controlled_file): Move up.  2nd arg is now full file
39910         name, not base name; this is more convenient.  Put CVS at the end,
39911         as it's now somewhat deprecated.
39913 2012-05-14  Jim Meyering  <meyering@redhat.com>
39915         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
39916         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
39917         definition.  Reported by Bruno Haible.
39919 2012-05-13  Bruno Haible  <bruno@clisp.org>
39920             Paul Eggert  <eggert@cs.ucla.edu>
39922         binary-io: Define set_binary_mode function.
39923         * lib/binary-io.h (set_binary_mode): New function.
39924         (SET_BINARY): Define in terms of set_binary_mode.
39925         * modules/binary-io (configure.ac): Require AC_C_INLINE.
39926         * tests/test-binary-io.c (main): Accept an argument, and test either
39927         set_binary_mode or SET_BINARY depending on the argument.
39928         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
39929         argument. Clean up also t-bin-out0.tmp.
39931 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
39933         bootstrap: take advantage of POSIX shell features
39935         The 'bootstrap' script offered by Gnulib script already uses POSIX
39936         shell features (like $((...)) arithmetic expansions) that are not
39937         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
39938         means that bootstrap must already be run using a proper POSIX shell,
39939         which will thus provide more features, like ${var#pattern} parameter
39940         expansion or inversion of a command exit status with '!'.  We can
39941         thus use these features to improve the clarity and the performances
39942         of the bootstrap script.
39944         Suggested by Eric Blake.
39946         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
39947         of sed/expr plus command substitutions, to save some forks.  While
39948         we are at it, prefer the POSIX $(...) form of command substitution,
39949         rather than the legacy form `...` (since the former is visually
39950         clearer and interacts better with quoting), and prefer the idiom:
39951           "if ! CMD; then ACTION ..."
39952         over the idiom:
39953           "if CMD; then :; else ACTION ..."
39954         which was required by legacy Bourne shells not supporting '!'.
39956 2012-05-12  Bruno Haible  <bruno@clisp.org>
39958         system-quote: Add more comments.
39959         * lib/system-quote.h: Add more comments about wilcards and limitations.
39960         Suggested by Eli Zaretskii <eliz@gnu.org>.
39962         sh-quote, system-quote: Add comments about wildcards.
39963         * lib/sh-quote.h: Clarify what happens with wildcard characters.
39964         * lib/system-quote.h: Likewise.
39965         Reported by Eli Zaretskii <eliz@gnu.org>.
39967 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
39969         fsusage: check for GNU/Linux statvfs problem dynamically
39970         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
39971         Define STAT_STATFS2_BSIZE too, since in this case the code now
39972         checks dynamically whether statvfs is reliable, falling back on
39973         Linux-style statfs otherwise.
39974         (statvfs_works): New function, for dynamically testing statvfs.
39975         (get_fs_usage) [STAT_STATVFS]: Use it.
39976         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
39977         statvfs on GNU/Linux hosts, since it's now done dynamically.
39979 2012-05-10  Bruno Haible  <bruno@clisp.org>
39981         system-quote, execute, spawn-pipe: Escape '?' on Windows.
39982         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
39983         '?' character.
39984         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
39985         * tests/test-system-quote-main.c (check_all): Check also strings like
39986         "??????????".
39987         Reported by Eli Zaretskii <eliz@gnu.org>.
39989 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39991         _Noreturn: port config.h to gcc -Wundef
39992         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
39993         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
39994         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
39996 2012-05-10  Bruno Haible  <bruno@clisp.org>
39998         system-quote: Refactor.
39999         * lib/system-quote.h (system_quote_copy): Fix comment.
40000         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
40001         New functions, extracted from system_quote_copy.
40002         (system_quote_length, system_quote_copy): Use these functions.
40003         Reported by Paul Eggert.
40005 2012-05-08  Bruno Haible  <bruno@clisp.org>
40007         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
40008         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
40010 2012-05-08  Bruno Haible  <bruno@clisp.org>
40012         Tests for module 'system-quote'.
40013         * modules/system-quote-tests: New file.
40014         * tests/test-system-quote.sh: New file.
40015         * tests/test-system-quote-main.c: New file.
40016         * tests/test-system-quote-child.c: New file.
40018         New module 'system-quote'.
40019         * lib/system-quote.h: New file.
40020         * lib/system-quote.c: New file.
40021         * modules/system-quote: New file.
40023 2012-05-08  Bruno Haible  <bruno@clisp.org>
40025         sh-quote: Make C++ safe and allow multiple inclusion.
40026         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
40027         declarations in extern "C".
40029 2012-05-08  Bruno Haible  <bruno@clisp.org>
40031         sh-quote tests: Make tests stricter.
40032         * tests/test-sh-quote.c (check_one): Check the return value of
40033         shell_quote_copy.
40034         (main): Check a string with a CR character. Check a string that
40035         contains UCHAR_MAX.
40037 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
40039         warnings.m4: provide a means to specify the program to compile.
40040         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
40041         (gl_WARN_ADD): here.
40042         Use gl_AS_VAR_APPEND.
40043         Support an argument to specify the program to compile.
40044         (gl_WARN_ADD): Accept an argument to specify the program to compile.
40045         AC_SUBST the WARN_CFLAGS when they are used.
40046         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
40047         leave this to gl_WARN_ADD.
40049 2012-05-08  Eric Blake  <eblake@redhat.com>
40051         doc: recommendations on gettext version
40052         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
40053         choice between versions.
40054         * DEPENDENCIES (gettext): Cover both approaches.
40056 2012-05-08  Jim Meyering  <meyering@redhat.com>
40058         init.sh: explain why EXEEXT support uses aliases rather than functions
40059         * tests/init.sh: Add a comment.
40061         init.sh: don't let bash aliases interfere with tests
40062         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
40063         is bash.  This avoids problems for those who alias standard commands to
40064         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
40065         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
40067 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
40069         stdint: be more consistent with glibc, SunOS libc
40070         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
40071         (gl_int_fast16_t, gl_uint_fast16_t)
40072         (gl_int_fast32_t, gl_uint_fast32_t)
40073         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
40074         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
40075         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
40076         Be consistent with glibc by default, and with SunOS 5.10 and later
40077         if __sun is defined.  This lessens the likelihood of clashes if
40078         code compiled for older hosts is combined with code compiled for
40079         newer ones.  Problem reported by Niels Möller in
40080         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
40082 2012-05-07  Eric Blake  <eblake@redhat.com>
40084         isatty: relax license to LGPLv2+
40085         * modules/isatty (License): Relax license.
40087 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40089         stat-size: comment fix
40090         * lib/stat-size.h: Remove obsolete comment about indenting.
40092 2012-05-06  Bruno Haible  <bruno@clisp.org>
40094         Tests for module 'sh-quote'.
40095         * modules/sh-quote-tests: New file.
40096         * tests/test-sh-quote.c: New file.
40098 2012-05-06  Bruno Haible  <bruno@clisp.org>
40100         sh-quote: Improve shell_quote_argv's signature.
40101         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
40102         * lib/sh-quote.c (shell_quote_argv): Likewise.
40104 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40106         stdint: document issues with int_fast8_t etc.
40107         * doc/posix-headers/stdint.texi (stdint.h): Say that other
40108         stdint.h substitutes may define these types differently.  See
40109         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
40111 2012-05-05  Bruno Haible  <bruno@clisp.org>
40113         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
40114         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
40115         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
40116         or 'guessing no (mishandles large arguments)'.
40118 2012-05-05  Bruno Haible  <bruno@clisp.org>
40120         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
40121         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
40122         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
40123         set gl_cv_func_link_follows_symlink to "guessing no".
40125 2012-05-05  Bruno Haible  <bruno@clisp.org>
40127         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
40128         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
40129         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
40130         "guessing no".
40131         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
40133 2012-05-05  Bruno Haible  <bruno@clisp.org>
40135         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
40136         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
40137         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
40138         set gl_cv_struct_dirent_d_ino to "guessing yes".
40140 2012-05-05  Bruno Haible  <bruno@clisp.org>
40142         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
40143         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
40144         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
40145         "guessing yes".
40147 2012-05-05  Bruno Haible  <bruno@clisp.org>
40149         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
40150         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
40151         compiling to a glibc system, set gl_cv_func_signbit and
40152         gl_cv_func_signbit_gcc to "guessing yes".
40154 2012-05-05  Bruno Haible  <bruno@clisp.org>
40156         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
40157         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
40158         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
40159         to "guessing yes".
40160         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
40161         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
40163 2012-05-05  Bruno Haible  <bruno@clisp.org>
40165         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
40166         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
40167         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
40168         gl_cv_func_realpath_works to "guessing yes".
40170 2012-05-05  Bruno Haible  <bruno@clisp.org>
40172         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
40173         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
40174         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
40176 2012-05-04  Bruno Haible  <bruno@clisp.org>
40178         Tweak last commit.
40179         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
40180         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
40182 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
40184         unistd_h: make it easier to avoid sys_types_h
40185         This is useful for Emacs, which has its own method of porting to
40186         Windows, and which therefore does not need the sys_types_h module.
40187         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
40188         code moved here from gl_SYS_TYPES_H.
40189         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
40190         using the code directly.
40191         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
40192         gl_SYS_TYPES_H.
40193         * modules/sys_types (Files):
40194         * modules/unistd (Files): Add m4/off_t.m4.
40196 2012-05-03  Bruno Haible  <bruno@clisp.org>
40198         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
40199         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
40200         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
40201         "guessing yes" or "guessing no".
40202         (gl_FUNC_LSTAT): Update.
40203         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
40204         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
40205         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
40207 2012-05-03  Bruno Haible  <bruno@clisp.org>
40209         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
40210         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
40211         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
40212         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
40213         cross-compiling, choose the first alternative on glibc systems.
40214         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
40216 2012-05-03  Bruno Haible  <bruno@clisp.org>
40218         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
40219         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
40220         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
40222 2012-05-03  Bruno Haible  <bruno@clisp.org>
40224         chown: Avoid "guessing no" when cross-compiling to glibc systems.
40225         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
40227 2012-05-03  Bruno Haible  <bruno@clisp.org>
40229         Avoid "guessing no" guesses when cross-compiling to glibc systems.
40230         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
40231         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
40232         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
40233         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
40234         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
40235         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
40236         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
40237         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
40238         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
40239         compiling to glibc systems, set gl_cv_func_chown_slash_works,
40240         gl_cv_func_chown_ctime_works to "guessing yes".
40241         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
40242         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
40243         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
40244         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
40245         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
40246         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
40247         compiling to glibc systems, set gl_cv_func_open_directory_works to
40248         "guessing yes".
40249         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
40250         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
40251         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
40252         "guessing yes".
40253         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
40254         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
40255         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
40256         compiling to glibc systems, set gl_cv_func_floorf_ieee to
40257         "guessing yes".
40258         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
40259         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
40260         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
40261         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
40262         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
40263         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
40264         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
40265         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
40266         "guessing yes".
40267         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
40268         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
40269         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
40270         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
40271         "guessing yes".
40272         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
40273         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
40274         "guessing yes".
40275         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
40276         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
40277         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
40278         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
40279         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
40280         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
40281         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
40282         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
40283         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
40284         compiling to glibc systems, set gl_cv_func_log10f_ieee to
40285         "guessing yes".
40286         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
40287         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
40288         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
40289         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
40290         "guessing yes".
40291         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
40292         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
40293         "guessing yes".
40294         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
40295         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
40296         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
40297         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
40298         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
40299         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
40300         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
40301         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
40302         compiling to glibc systems, set gl_cv_func_mkfifo_works to
40303         "guessing yes".
40304         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
40305         compiling to glibc systems, set gl_cv_func_mknod_works to
40306         "guessing yes".
40307         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
40308         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
40309         "guessing yes".
40310         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
40311         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
40312         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
40313         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
40314         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
40315         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
40316         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
40317         compiling to glibc systems, set gl_cv_func_svid_putenv to
40318         "guessing yes".
40319         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
40320         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
40321         "guessing yes".
40322         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
40323         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
40324         "guessing yes".
40325         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
40326         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
40327         to "guessing yes".
40328         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
40329         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
40330         to "guessing yes".
40331         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
40332         compiling to glibc systems, set gl_cv_func_rmdir_works to
40333         "guessing yes".
40334         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
40335         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
40336         gl_cv_func_unlink_parent_fails to "guessing yes".
40337         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
40338         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
40339         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
40340         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
40341         gl_cv_func_rename_dest_works to "guessing yes".
40342         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
40343         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
40344         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
40345         compiling to glibc systems, set gl_cv_func_roundf_ieee to
40346         "guessing yes".
40347         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
40348         compiling to glibc systems, set gl_cv_func_roundl_ieee to
40349         "guessing yes".
40350         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
40351         compiling to glibc systems, set gl_cv_func_setenv_works to
40352         "guessing yes".
40353         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
40354         compiling to glibc systems, set gl_cv_func_unsetenv_works to
40355         "guessing yes".
40356         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
40357         compiling to glibc systems, set gl_cv_func_sleep_works to
40358         "guessing yes".
40359         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
40360         compiling to glibc systems, set gl_cv_func_stat_file_slash to
40361         "guessing yes".
40362         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
40363         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
40364         "guessing yes".
40365         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
40366         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
40367         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
40368         compiling to glibc systems, set gl_cv_func_truncf_ieee to
40369         "guessing yes".
40370         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
40371         compiling to glibc systems, set gl_cv_func_truncl_ieee to
40372         "guessing yes".
40373         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
40374         compiling to glibc systems, set gl_cv_func_usleep_works to
40375         "guessing yes".
40376         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
40377         compiling to glibc systems, set gl_cv_func_futimesat_works to
40378         "guessing yes".
40380 2012-05-03  Bruno Haible  <bruno@clisp.org>
40382         Say "guessing yes" or "guessing no" when cross-compiling.
40383         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
40384         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
40385         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
40386         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
40387         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
40388         am_cv_func_working_getline to "guessing yes" or "guessing no".
40389         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
40390         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
40391         (gl_FUNC_MEMMEM): When cross-compiling, set
40392         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
40393         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
40394         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
40395         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
40396         set gl_cv_func_strcasestr_works_always to "guessing yes" or
40397         "guessing no".
40398         (gl_FUNC_STRCASESTR): When cross-compiling, set
40399         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
40400         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
40401         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
40402         (gl_FUNC_STRSTR): When cross-compiling, set
40403         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
40404         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
40405         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
40406         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
40407         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
40409 2012-05-01  Bruno Haible  <bruno@clisp.org>
40411         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
40412         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
40413         * build-aux/reloc-ldflags: Likewise.
40414         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
40416 2012-05-01  Bruno Haible  <bruno@clisp.org>
40418         gnulib-tool: Remove transitional code.
40419         * gnulib-tool: Don't warn about --import with 0 arguments any more.
40420         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
40422 2012-05-01  Bruno Haible  <bruno@clisp.org>
40424         getcwd: Fix misindentation.
40425         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
40427 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
40429         exclude: process exclude and include directives in order
40430         This restores the pre-2009 behavior, and is part of a fix of a
40431         grep bug reported by Quentin Arce in
40432         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
40433         * lib/exclude.c (struct exclude): Remove 'tail' member.
40434         (new_exclude_segment): Prepend the new segment instead of appending.
40435         Return void, since that's now more convenient.
40436         (file_pattern_matches): Renamed from excluded_file_pattern_p.
40437         (file_name_matches): Renamed from excluded_file_name_p.
40438         (file_pattern_matches, file_name_matches):
40439         Return true if the pattern matches, not if it excludes.
40440         All callers changed.
40441         (excluded_file_name): Process the list in reverse order;
40442         since the list is now reversed this restores the pre-2009 behavior.
40443         (add_exclude): Adjust to new reversed-order list.  Use local var
40444         rather than macro, for clarity.
40445         * tests/test-exclude7.sh: Adjust to corrected behavior.
40447         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
40448         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
40449         it's not possible here.  Handle the case of \ at end of pattern
40450         without dumping core.
40451         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
40453         _Noreturn: future-proof non-GNU and non-MSVC compilers
40454         * build-aux/snippet/_Noreturn.h (_Noreturn):
40455         * m4/gnulib-common.m4 (gl_COMMON_BODY):
40456         Do not define _Noreturn if __STDC_VERSION__ indicates this is
40457         C11 or later.  This is more likely to work with random future C
40458         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
40459         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
40461         exclude: handle wildcards with FNM_EXTMATCH
40462         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
40463         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
40464         comment that "has wildcards" really means "has or may have
40465         wildcards".  Simplify by avoiding the need to call strcspn.
40467 2012-04-29  Bruno Haible  <bruno@clisp.org>
40469         gnulib-tool: Fix list of authors.
40470         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
40472 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
40474         bootstrap: support Automake-NG in $buildreq
40475         * bootstrap (check_versions): Handle automake and aclocal from
40476         Automake-NG specially.  They can be specified as respectively
40477         the "automake-ng" and "aclocal-ng" requirements.
40479 2012-04-25  Eric Blake  <eblake@redhat.com>
40481         bootstrap: only force latest Makefile.in.in for gettext module
40482         * build-aux/bootstrap (with_gettext): Only install latest
40483         Makefile.in.in for projects requesting bleeding edge gettext.
40485 2012-04-22  Bruno Haible  <bruno@clisp.org>
40487         doc: Mention reason for replacement on glibc/Linux systems.
40488         * doc/posix-functions/dprintf.texi: Mention the problem with special
40489         'long double' values.
40490         * doc/posix-functions/fprintf.texi: Likewise.
40491         * doc/posix-functions/printf.texi: Likewise.
40492         * doc/posix-functions/snprintf.texi: Likewise.
40493         * doc/posix-functions/sprintf.texi: Likewise.
40494         * doc/posix-functions/vdprintf.texi: Likewise.
40495         * doc/posix-functions/vfprintf.texi: Likewise.
40496         * doc/posix-functions/vprintf.texi: Likewise.
40497         * doc/posix-functions/vsnprintf.texi: Likewise.
40498         * doc/posix-functions/vsprintf.texi: Likewise.
40499         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
40500         platforms with F_DUPFD_CLOEXEC problems.
40501         * doc/posix-functions/glob.texi: Mention which platforms are affected
40502         by the problem with symbolic links.
40503         * doc/posix-functions/linkat.texi: Mention the problem with
40504         AT_SYMLINK_FOLLOW on Linux.
40506 2012-04-22  Bruno Haible  <bruno@clisp.org>
40508         pwrite: Don't replace on all platforms.
40509         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
40511 2012-04-22  Bruno Haible  <bruno@clisp.org>
40513         rint* tests: Avoid gcc warnings.
40514         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
40515         * tests/test-rintf.c (INFINITY, NAN): Likewise.
40516         * tests/test-rintl.c (INFINITY, NAN): Likewise.
40518 2012-04-21  Bruno Haible  <bruno@clisp.org>
40520         users.txt: Update.
40521         * users.txt: Add freedink, wdiff. Update URLs for projects that have
40522         switched from CVS to git, bzr, or svn.
40524 2012-04-21  Bruno Haible  <bruno@clisp.org>
40526         Large File Support for native Windows platforms.
40528         * m4/largefile.m4 (gl_LARGEFILE): New macro.
40529         * modules/largefile (configure.ac): Require gl_LARGEFILE.
40531         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
40532         type.
40533         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
40534         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
40535         * doc/posix-headers/sys_types.texi: Mention the effect of the
40536         'largefile' module.
40538         * lib/fcntl.in.h: Add comments about off_t.
40539         * modules/fcntl-h (Depends-on): Add sys_types.
40541         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
40542         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
40543         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
40544         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
40545         * modules/unistd (Depends-on): Add sys_types.
40546         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
40548         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
40549         instead of lseek.
40550         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
40551         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
40552         * modules/lseek (Depends-on): Add sys_types.
40554         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
40555         msvc-nothrow.h.
40556         (SetFileSize): New function.
40557         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
40558         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
40559         if Large File Support is requested.
40560         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
40561         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
40563         * lib/stdio.in.h: Add comments about off_t.
40564         * modules/stdio (Depends-on): Add sys_types.
40566         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
40567         instead of ftello.
40568         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
40569         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
40570         (gl_PREREQ_FTELLO): New macro.
40571         * modules/ftello (Depends-on): Add sys_types.
40572         (configure.ac): Incoke gl_PREREQ_FTELLO.
40574         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
40575         instead of fseeko.
40576         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
40577         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
40578         (gl_PREREQ_FSEEKO): New macro.
40579         * modules/fseeko (Depends-on): Add sys_types.
40580         (configure.ac): Invoke gl_PREREQ_FSEEKO.
40582         * lib/sys_stat.in.h: Add comments about off_t.
40583         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
40584         64-bit integer for st_size in 'struct stat'.
40585         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
40586         Define _GL_WINDOWS_64_BIT_ST_SIZE.
40587         * modules/sys_stat (Depends-on): Add sys_types.
40588         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
40590         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
40591         instead of stat or _stat.
40593         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
40594         'struct _stati64' instead of fstat and 'struct stat'.
40595         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
40596         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
40598         Reported by Ray Satiro <raysatiro@yahoo.com>.
40600 2012-04-19  Eric Blake  <eblake@redhat.com>
40602         bootstrap: accommodate older libtool
40603         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
40604         Reported by Daniel P. Berrange.
40606 2012-04-19  Jim Meyering  <meyering@redhat.com>
40608         announce-gen: avoid failure due to lack of Digest::SHA1
40609         Even with the preferred Digest::SHA available, this script
40610         would fail when the backup module, Digest::SHA1, was not installed.
40611         * build-aux/announce-gen: Quote the conditional use of "use".
40612         Reported by Reuben Thomas in:
40613         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
40615         bootstrap: don't let a user's CDPATH setting affect this script
40616         When CDPATH is set, cd will sometimes generate output.
40617         When "cd" is run in a subshell whose output matters, that
40618         surprising-to-some output can cause malfunction.
40619         Unsetting CDPATH turns off this shell "feature."
40620         * build-aux/bootstrap (CDPATH): Unset.
40621         Reported by Reuben Thomas in:
40622         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
40623         and inspired by his patch here:
40624         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
40626 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
40627         and Jim Meyering  <meyering@redhat.com>
40629         maint.mk: catch "see @xref{}" and similar
40630         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
40631         prohibit "See also @xref{", "Also see @pxref{", and similar.
40633 2012-04-16  Jim Meyering  <meyering@redhat.com>
40635         bootstrap: really use gnulib's po/Makefile.in.in
40636         * build-aux/bootstrap: Correct the source file name in previous change.
40637         Reported by Akim Demaille.
40639         configmake: correct minor inconsistency in Makefile rule
40640         * modules/configmake (Makefile.am): All other rules like this one
40641         run the final "mv -f ..." in the same backslash-continued command
40642         as the one that does everything else.  This one put the mv -f ...
40643         command on a separate, non-backslash-continued line.
40644         Make it like the others.
40646         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
40647         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
40648         the one from gettext.  Reported by Akim Demaille.
40650 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
40652         Fix recursion of install-* into po directories.
40653         Bison's install-pdf bug reported by Hans Aberg at
40654         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
40655         * build-aux/po/Makefile.in.in (install-dvi, install-html)
40656         (install-info, install-pdf, install-ps): New targets.
40658 2012-04-16  Jim Meyering  <meyering@redhat.com>
40660         maint: avoid spurious "make sc_maint" failure
40661         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
40662         exempt all *.class file names, for lib/javaversion.class.
40664 2012-04-15  Bruno Haible  <bruno@clisp.org>
40666         lseek: Make configure test independent of environment.
40667         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
40668         Windows, we know that lseek() on pipes is broken; skip the runtime
40669         test.
40671 2012-04-14  Bruno Haible  <bruno@clisp.org>
40673         stat: Bypass buggy override in mingw64.
40674         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
40675         * lib/stat.c (stat) [mingw64]: Define to _stat.
40676         * doc/posix-functions/stat.texi: Mention mingw64 bug.
40678 2012-04-14  Bruno Haible  <bruno@clisp.org>
40680         pathmax: Fix compilation error on MSVC 9.
40681         * modules/pathmax (Depends-on): Add unistd.
40683 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
40685         README: document pointer comparison assumption
40686         * README (Portability guidelines): Document assumption about
40687         pointer comparisons, in response to a recent bug-gnulib comment by
40688         Jeffrey Kegler.
40690 2012-04-12  Bruno Haible  <bruno@clisp.org>
40692         Tests for module 'getrusage'.
40693         * modules/getrusage-tests: New file.
40694         * tests/test-getrusage.c: New file.
40696         New module 'getrusage'.
40697         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
40698         warn-on-use.h.
40699         (getrusage): New declaration.
40700         * lib/getrusage.c: New file.
40701         * m4/getrusage.m4: New file.
40702         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
40703         is declared.
40704         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
40705         HAVE_GETRUSAGE.
40706         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
40707         snippet/c++defs, snippet/warn-on-use.
40708         (Makefile.am): Update generation of sys/resource.h. Substitute
40709         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
40710         * modules/getrusage: New file.
40711         * doc/posix-functions/getrusage.texi: Mention the new module.
40713 2012-04-12  Bruno Haible  <bruno@clisp.org>
40715         Tests for module 'sys_resource'.
40716         * modules/sys_resource-tests: New file.
40717         * tests/test-sys_resource.c: New file.
40719         New module 'sys_resource'.
40720         * lib/sys_resource.in.h: New file.
40721         * m4/sys_resource_h.m4: New file.
40722         * modules/sys_resource: New file.
40723         * doc/posix-headers/sys_resource.texi: Mention the new module.
40725 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
40727         ioctl: Fix compilation error on mingw.
40728         * lib/ioctl.c: Include <windows.h>.
40729         Also reported by Ray Satiro <raysatiro@yahoo.com>.
40731 2012-04-04  Jim Meyering  <meyering@redhat.com>
40733         regex: correct #pragma guard expression
40734         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
40735         not 4.3.  Correct its cpp guard expression.
40737 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
40739         regex: remove unnecessary type punning
40740         Problem reported by Vladimir Serbinenko in
40741         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
40742         * lib/regex.h (struct re_pattern_buffer): Change the type of
40743         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
40744         Fix comment to match code.
40745         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
40746         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
40747         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
40748         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
40749         (set_regs):
40750         Omit no-longer-necessary casts.
40752 2012-04-03  Bruno Haible  <bruno@clisp.org>
40754         Tests for module 'ilogbl'.
40755         * modules/ilogbl-tests: New file.
40756         * tests/test-ilogbl.c: New file.
40758         New module 'ilogbl'.
40759         * lib/math.in.h (ilogbl): New declaration.
40760         * lib/ilogbl.c: New file.
40761         * m4/ilogbl.m4: New file.
40762         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
40763         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
40764         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
40765         Split sed invocation, to avoid the limit of 100 substitutions of
40766         HP-UX 'sed'.
40767         * modules/ilogbl: New file.
40768         * tests/test-math-c++.cc: Check the declaration of ilogbl.
40769         * doc/posix-functions/ilogbl.texi: Mention the new module.
40771 2012-04-03  Bruno Haible  <bruno@clisp.org>
40773         Tests for module 'ilogbf'.
40774         * modules/ilogbf-tests: New file.
40775         * tests/test-ilogbf.c: New file.
40777         New module 'ilogbf'.
40778         * lib/math.in.h (ilogbf): New declaration.
40779         * lib/ilogbf.c: New file.
40780         * m4/ilogbf.m4: New file.
40781         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
40782         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
40783         REPLACE_ILOGBF.
40784         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
40785         REPLACE_ILOGBF.
40786         * modules/ilogbf: New file.
40787         * tests/test-math-c++.cc: Check the declaration of ilogbf.
40788         * doc/posix-functions/ilogbf.texi: Mention the new module.
40790 2012-04-03  Bruno Haible  <bruno@clisp.org>
40792         Tests for module 'ilogb'.
40793         * modules/ilogb-tests: New file.
40794         * tests/test-ilogb.c: New file.
40795         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
40796         tests/test-logb-ieee.h.
40798         New module 'ilogb'.
40799         * lib/math.in.h (ilogb): New declaration.
40800         * lib/ilogb.c: New file.
40801         * m4/ilogb.m4: New file.
40802         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
40803         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
40804         REPLACE_ILOGB.
40805         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
40806         REPLACE_ILOGB.
40807         * modules/ilogb: New file.
40808         * tests/test-math-c++.cc: Check the declaration of ilogb.
40809         * doc/posix-functions/ilogb.texi: Mention the new module.
40811 2012-04-03  Bruno Haible  <bruno@clisp.org>
40813         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
40814         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
40815         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
40816         (main): Check their values.
40817         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
40818         problem.
40820 2012-04-03  Bruno Haible  <bruno@clisp.org>
40822         Tests for module 'logbl-ieee'.
40823         * modules/logbl-ieee-tests: New file.
40824         * tests/test-logbl-ieee.c: New file.
40826         New module 'logbl-ieee'.
40827         * modules/logbl-ieee: New file.
40829         Tests for module 'logb-ieee'.
40830         * modules/logb-ieee-tests: New file.
40831         * tests/test-logb-ieee.c: New file.
40833         New module 'logb-ieee'.
40834         * modules/logb-ieee: New file.
40836         Tests for module 'logbf-ieee'.
40837         * modules/logbf-ieee-tests: New file.
40838         * tests/test-logbf-ieee.c: New file.
40839         * tests/test-logb-ieee.h: New file.
40841         New module 'logbf-ieee'.
40842         * modules/logbf-ieee: New file.
40844 2012-04-03  Bruno Haible  <bruno@clisp.org>
40846         Tests for module 'logbl'.
40847         * modules/logbl-tests: New file.
40848         * tests/test-logbl.c: New file.
40850         New module 'logbl'.
40851         * lib/math.in.h (logbl): New declaration.
40852         * lib/logbl.c: New file.
40853         * m4/logbl.m4: New file.
40854         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
40855         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
40856         REPLACE_LOGBL.
40857         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
40858         REPLACE_LOGBL.
40859         * modules/logbl: New file.
40860         * tests/test-math-c++.cc: Check the declaration of logbl.
40861         * doc/posix-functions/logbl.texi: Mention the new module.
40863 2012-04-02  Bruno Haible  <bruno@clisp.org>
40865         Tests for module 'logbf'.
40866         * modules/logbf-tests: New file.
40867         * tests/test-logbf.c: New file.
40869         New module 'logbf'.
40870         * lib/math.in.h (logbf): New declaration.
40871         * lib/logbf.c: New file.
40872         * m4/logbf.m4: New file.
40873         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
40874         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
40875         REPLACE_LOGBF.
40876         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
40877         REPLACE_LOGBF.
40878         * modules/logbf: New file.
40879         * tests/test-math-c++.cc: Check the declaration of logbf.
40880         * doc/posix-functions/logbf.texi: Mention the new module.
40882 2012-04-02  Bruno Haible  <bruno@clisp.org>
40884         logb tests: More tests.
40885         * tests/test-logb.h: New file, based on tests/test-logb.c and
40886         tests/test-frexp.h.
40887         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
40888         (main): Just invoke test_function.
40889         * modules/logb-tests (Files): Add tests/test-logb.h,
40890         tests/minus-zero.h, tests/randomd.c.
40891         (Makefile.am): Add randomd.c to test_logb_SOURCES.
40893         logb: Provide replacement and workarounds.
40894         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
40895         is 1.
40896         * lib/logb.c: New file.
40897         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
40898         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
40899         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
40900         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
40901         * modules/logb (Files): Add lib/logb.c.
40902         (Depends-on): Add isfinite, frexp, isnand.
40903         (configure.ac): Compile the replacement code logb.c if needed.
40904         * tests/test-math-c++.cc: Check the declaration of logb.
40905         * doc/posix-functions/logb.texi: Mention the replacement and the bug
40906         with subnormal numbers.
40908 2012-04-02  Bruno Haible  <bruno@clisp.org>
40910         log10* tests: Speed up.
40911         * tests/test-log10.h (test_function): Reduce amount of random numbers
40912         to test.
40914 2012-04-01  Bruno Haible  <bruno@clisp.org>
40916         logf-ieee: Fix test whether logf works.
40917         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
40919 2012-04-01  Bruno Haible  <bruno@clisp.org>
40921         log10l: Work around log10l-ieee test failure on IRIX 6.5.
40922         * lib/log10l.c: Include <float.h>
40923         (log10l): On IRIX, normalize the +Infinity value.
40924         * modules/log10l (Depends-on): Add 'float'.
40925         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
40926         +Infinity.
40928         log10f-ieee: Work around test failure on NetBSD 5.1.
40929         * m4/log10f-ieee.m4: New file.
40930         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
40931         test whether log10f works with a negative argument. Replace it if not.
40932         * lib/log10f.c (log10f): For negative arguments, return NaN.
40933         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
40934         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
40935         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
40937         log10f-ieee: Work around test failure on Solaris 9.
40938         * modules/log10f-ieee (Depends-on): Add log10-ieee.
40939         (configure.ac): Require gl_FUNC_LOG10F.
40941         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40942         * m4/log10-ieee.m4: New file.
40943         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
40944         whether log10 works with a negative argument. Replace it if not.
40945         * lib/log10.c (log10): For negative arguments, return NaN.
40946         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
40947         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
40948         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
40950         Tests for module 'log10l-ieee'.
40951         * modules/log10l-ieee-tests: New file.
40952         * tests/test-log10l-ieee.c: New file.
40954         New module 'log10l-ieee'.
40955         * modules/log10l-ieee: New file.
40957         Tests for module 'log10-ieee'.
40958         * modules/log10-ieee-tests: New file.
40959         * tests/test-log10-ieee.c: New file.
40961         New module 'log10-ieee'.
40962         * modules/log10-ieee: New file.
40964         Tests for module 'log10f-ieee'.
40965         * modules/log10f-ieee-tests: New file.
40966         * tests/test-log10f-ieee.c: New file.
40967         * tests/test-log10-ieee.h: New file.
40969         New module 'log10f-ieee'.
40970         * modules/log10f-ieee: New file.
40972 2012-04-01  Bruno Haible  <bruno@clisp.org>
40974         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
40975         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
40976         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
40977         workaround.
40978         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
40979         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
40980         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
40981         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
40982         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
40983         (Depends-on): Update conditions.
40984         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
40985         IRIX 6.5, OSF/1 5.1 problems.
40987 2012-04-01  Bruno Haible  <bruno@clisp.org>
40989         log10f: Work around OSF/1 5.1 bug.
40990         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
40991         * lib/log10f.c (log10f): If logf exists, use it and provide just the
40992         workaround.
40993         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
40994         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
40995         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
40996         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
40997         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
40998         (Depends-on): Update conditions.
40999         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
41001 2012-04-01  Bruno Haible  <bruno@clisp.org>
41003         log10: Work around OSF/1 5.1 bug.
41004         * lib/math.in.h (log10): New declaration.
41005         * lib/log10.c: New file.
41006         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
41007         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
41008         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
41009         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
41010         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
41011         * modules/log10 (Files): Add lib/log10.c.
41012         (Depends-on): Add math.
41013         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
41014         * tests/test-math-c++.cc: Check the declaration of log10.
41015         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
41017 2012-03-31  Bruno Haible  <bruno@clisp.org>
41019         log10l tests: More tests.
41020         * modules/log10l-tests (Files): Add tests/test-log10l.h,
41021         tests/minus-zero.h, tests/randoml.c.
41022         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
41023         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
41024         (main): Invoke test_function.
41026         log10f tests: More tests.
41027         * modules/log10f-tests (Files): Add tests/test-log10.h,
41028         tests/minus-zero.h, tests/randomf.c.
41029         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
41030         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
41031         (main): Invoke test_function.
41033         log10 tests: More tests.
41034         * tests/test-log10.h: New file.
41035         * modules/log10-tests (Files): Add tests/test-log10.h,
41036         tests/minus-zero.h, tests/randomd.c.
41037         (Makefile.am): Add randomd.c to test_log10_SOURCES.
41038         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
41039         (main): Invoke test_function.
41041 2012-03-31  Simon Josefsson  <simon@josefsson.org>
41043         fflush: Fix syntax error.
41044         * lib/fflush.c: Include unused-parameter.h, needed for
41045         _GL_UNUSED_PARAMETER.
41046         * modules/fflush (Depends-on): Add snippet/unused-parameter.
41048 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41050         regex: pacify GCC when compiling GRUB
41051         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
41052         a diagnostic.  Reported by Vladimir Serbinenko in
41053         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
41055 2012-03-29  Eric Blake  <eblake@redhat.com>
41057         stdio: don't assume gets any more
41058         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
41059         support.
41060         * modules/stdio (Makefile.am): Likewise.
41061         * lib/stdio-read.c (gets): Likewise.
41062         * tests/test-stdio-c++.cc: Likewise.
41063         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
41064         * lib/stdio.in.h (gets): Make warning occur in more places.
41065         * doc/posix-functions/gets.texi (gets): Update documentation.
41066         Reported by Christer Solskogen.
41068         maint.mk: fix syntax checks without exclusions
41069         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
41070         Reported by Daniel P. Berrange.
41072         strerror_r: avoid compiler warning
41073         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
41074         level.
41076         fflush: avoid compiler warning
41077         * lib/fflush.c (update_fpos_cache): Mark variables that are
41078         potentially unused.
41080 2012-03-25  Bruno Haible  <bruno@clisp.org>
41082         Tests for module 'localeconv'.
41083         * modules/localeconv-tests: New file.
41084         * tests/test-localeconv.c: New file.
41086         New module 'localeconv'.
41087         * lib/locale.in.h (localeconv): New declaration.
41088         * lib/localeconv.c: New file.
41089         * m4/localeconv.m4: New file.
41090         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
41091         REPLACE_LOCALECONV.
41092         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
41093         REPLACE_LOCALECONV.
41094         * modules/localeconv: New file.
41095         * modules/nl_langinfo (Depends-on): Add localeconv.
41096         * modules/human (Depends-on): Likewise.
41097         * doc/posix-functions/localeconv.texi: Mention the new module.
41099 2012-03-25  Bruno Haible  <bruno@clisp.org>
41101         locale: Provide a complete 'struct lconv'.
41102         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
41103         'struct lconv' does not contain int_p_cs_precedes.
41104         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
41105         * doc/posix-headers/locale.texi: Update.
41107         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
41108         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
41109         * doc/posix-headers/locale.texi: Update.
41111         locale: Provide a working 'struct lconv'.
41112         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
41113         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
41114         'struct lconv' does not even contain decimal_point.
41115         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
41116         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
41117         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
41118         * doc/posix-headers/locale.texi: Mention the problems with
41119         'struct lconv'.
41120         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
41122 2012-03-24  Bruno Haible  <bruno@clisp.org>
41124         Enable common subexpression optimization in GCC.
41125         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
41126         macros.
41127         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
41128         GCC attribute 'const'.
41129         (uc_locale_language): Declare with GCC attribute 'pure'.
41130         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
41131         with GCC attribute 'const'.
41132         * lib/unictype.in.h (uc_is_general_category_withtable,
41133         uc_combining_class, uc_combining_class_name,
41134         uc_combining_class_long_name, uc_bidi_class_name,
41135         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
41136         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
41137         uc_decimal_value, uc_digit_value, uc_numeric_value,
41138         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
41139         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
41140         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
41141         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
41142         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
41143         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
41144         Declare with GCC attribute 'const'.
41145         (uc_general_category_name, uc_general_category_long_name,
41146         uc_general_category_byname, uc_general_category,
41147         uc_is_general_category, uc_combining_class_byname,
41148         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
41149         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
41150         Declare with GCC attribute 'pure'.
41151         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
41152         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
41153         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
41154         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
41155         with GCC attribute 'pure'.
41156         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
41157         'const'.
41158         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
41159         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
41160         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
41161         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
41162         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
41163         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
41164         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
41165         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
41166         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
41167         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
41168         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
41169         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
41170         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
41171         GCC attribute 'pure'.
41172         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
41173         'const'.
41174         * lib/uniwidth.in.h (uc_width): Simplify declaration.
41175         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
41176         u32_strwidth): Declare with GCC attribute 'pure'.
41178         Enable common subexpression optimization in GCC.
41179         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41180         (alphasort): Declare with GCC attribute 'pure'.
41181         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41182         (atoll): Declare with GCC attribute 'pure'.
41183         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41184         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41185         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
41186         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41187         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
41188         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
41189         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
41191 2012-03-24  Bruno Haible  <bruno@clisp.org>
41193         gnulib-tool: Avoid unintended error output from 'cmp'.
41194         * gnulib-tool (func_add_file, func_update_file, func_import): Use
41195         "cmp -s", not "cmp > /dev/null".
41197 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
41199         gnulib-tool: fix imprecise comments w.r.t. an automake bug
41201         It's not just Automake versions < 1.9b that creates an empty
41202         pkgdatadir at installation time if pkgdata_DATA is specified
41203         to empty; modern automake versions do this as well, at least
41204         until automake 1.11.4 (not yet released at the moment of writing,
41205         but soon to appear).  That behaviour was generally considered a
41206         feature rather than a bug, at least until this discussion:
41207         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
41209         See also automake bugs #10997 and #11030.
41211         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
41212         reference to relevant automake bug numbers.
41213         (func_emit_tests_Makefile_am): Likewise.
41215 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
41217         announce-gen: use Digest::SHA when possible
41218         * build-aux/announce-gen: Use Digest::SHA when possible, falling
41219         back to Digest::SHA1 if necessary.
41221 2012-03-20  Jim Meyering  <meyering@redhat.com>
41223         tests: avoid gcc warnings about argv vs. const initializers
41224         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
41225         warnings about discarding 'const' qualifier from pointer target type.
41226         * tests/test-posix_spawn2.c (main): Likewise.
41228 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
41230         README-release: simplify slightly
41231         * top/README-release: Run "git checkout master" only once.
41233 2012-03-15  Mark Wielaard  <mark@klomp.org>
41235         git-merge-changelog: add specific example on how to use with hg.
41236         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
41238 2012-03-18  Mark Wielaard  <mark@klomp.org>
41240         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
41242 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
41244         git-version-gen: don't let "prefix" envvar cause trouble
41245         * build-aux/git-version-gen (prefix): Initialize properly,
41246         so as not to use a value specified via the environment.
41247         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
41249 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
41251         regex: diagnose too-large repeat counts in EREs
41252         Previously, the code did not diagnose the too-large repeat count
41253         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
41254         as if it were 'b\{1000000000}', which is unexpected.
41255         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
41256         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
41257         is a reasonable one for this problem.  Another option would be to
41258         create a new REG_OVERFLOW error for repeat counts that are too large.
41259         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
41260         count is too large, so that the caller can distinguish the two cases.
41261         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
41262         "Too large" return code, and that repeat counts are one example of this.
41264 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
41266         doc: some glibc x32 integer width issues
41267         * doc/posix-headers/sys_types.texi (sys/types.h):
41268         * doc/posix-headers/time.texi (time.h):
41269         Mention that glibc x32 does not conform to POSIX in a couple of
41270         areas related to integer widths.
41272 2012-03-15  Bruno Haible  <bruno@clisp.org>
41274         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
41275         * lib/fma.c (VOLATILE): New macro.
41276         (FUNC): Use it to work around a GCC compiler bug.
41278 2012-03-13  Bruno Haible  <bruno@clisp.org>
41280         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41281         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
41282         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
41283         REPLACE_HYPOTL to 1.
41284         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
41286 2012-03-13  Bruno Haible  <bruno@clisp.org>
41288         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41289         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
41290         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
41291         REPLACE_REMAINDERL to 1.
41292         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
41293         bug.
41295 2012-03-13  Bruno Haible  <bruno@clisp.org>
41297         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41298         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
41299         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
41300         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
41301         too big rounding errors.
41302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
41303         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
41304         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
41305         (Depends-on): Update conditions.
41306         * tests/test-sqrtl.c (my_ldexpl): New function.
41307         (main): Add test of a particular value.
41308         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
41310 2012-03-13  Pádraig Brady  <P@draigBrady.com>
41312         doc: Update timer_* platform portability notes.
41313         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
41314         that always return ENOSYS.
41315         * doc/posix-functions/timer_delete.texi: Likewise.
41316         * doc/posix-functions/timer_gettime.texi: Likewise.
41317         * doc/posix-functions/timer_settime.texi: Likewise.
41319 2012-03-13  Bruno Haible  <bruno@clisp.org>
41321         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41322         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
41323         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
41324         REPLACE_CBRTL to 1.
41325         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
41327 2012-03-13  Bruno Haible  <bruno@clisp.org>
41329         remainderl: Avoid compilation error on AIX >= 5.2.
41330         * lib/math.in.h (remainderl): Undefine macro from the system header.
41332 2012-03-13  Bruno Haible  <bruno@clisp.org>
41334         Avoid compilation errors with MSVC option -fp:strict.
41335         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
41336         * lib/cbrtf.c: Likewise.
41337         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
41339 2012-03-12  Bruno Haible  <bruno@clisp.org>
41341         uninorm: Don't crash in out-of-memory conditions.
41342         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
41343         gracefully.
41344         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
41345         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
41347 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
41349         quote: fix syntax-check
41350         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
41351         also exports quote_quoting_options.
41353 2012-03-12  Simon Josefsson  <simon@josefsson.org>
41355         Collapse list of copyright years to ranges.  See
41356         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
41357         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
41358         build-aux/csharpexec.sh.in, build-aux/gnupload,
41359         build-aux/install-reloc, build-aux/javacomp.sh.in,
41360         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
41361         build-aux/move-if-change, build-aux/reloc-ldflags,
41362         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
41364 2012-03-11  Bruno Haible  <bruno@clisp.org>
41366         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41367         * m4/log2f-ieee.m4: New file.
41368         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
41369         whether log2f works with a minus zero argument. Replace it if not.
41370         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
41371         (Depends-on): Add log2-ieee.
41372         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
41373         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
41375         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41376         * m4/log2-ieee.m4: New file.
41377         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
41378         whether log2 works with a minus zero argument. Replace it if not.
41379         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
41380         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
41381         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
41383         Tests for module 'log2l-ieee'.
41384         * modules/log2l-ieee-tests: New file.
41385         * tests/test-log2l-ieee.c: New file.
41387         New module 'log2l-ieee'.
41388         * modules/log2l-ieee: New file.
41390         Tests for module 'log2-ieee'.
41391         * modules/log2-ieee-tests: New file.
41392         * tests/test-log2-ieee.c: New file.
41394         New module 'log2-ieee'.
41395         * modules/log2-ieee: New file.
41397         Tests for module 'log2f-ieee'.
41398         * modules/log2f-ieee-tests: New file.
41399         * tests/test-log2f-ieee.c: New file.
41400         * tests/test-log2-ieee.h: New file.
41402         New module 'log2f-ieee'.
41403         * modules/log2f-ieee: New file.
41405 2012-03-11  Bruno Haible  <bruno@clisp.org>
41407         Tests for module 'log2l'.
41408         * modules/log2l-tests: New file.
41409         * tests/test-log2l.c: New file.
41411         New module 'log2l'.
41412         * lib/math.in.h (log2l): New declaration.
41413         * lib/log2l.c: New file.
41414         * m4/log2l.m4: New file.
41415         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
41416         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
41417         REPLACE_LOG2L.
41418         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
41419         REPLACE_LOG2L.
41420         * modules/log2l: New file.
41421         * tests/test-math-c++.cc: Check the declaration of log2l.
41422         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
41423         and OSF/1 problems.
41425 2012-03-11  Bruno Haible  <bruno@clisp.org>
41427         Tests for module 'log2f'.
41428         * modules/log2f-tests: New file.
41429         * tests/test-log2f.c: New file.
41431         New module 'log2f'.
41432         * lib/math.in.h (log2f): New declaration.
41433         * lib/log2f.c: New file.
41434         * m4/log2f.m4: New file.
41435         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
41436         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
41437         REPLACE_LOG2F.
41438         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
41439         REPLACE_LOG2F.
41440         * modules/log2f: New file.
41441         * tests/test-math-c++.cc: Check the declaration of log2f.
41442         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
41443         and OSF/1 and Cygwin problems.
41445 2012-03-11  Bruno Haible  <bruno@clisp.org>
41447         Tests for module 'log2'.
41448         * modules/log2-tests: New file.
41449         * tests/test-log2.c: New file.
41450         * tests/test-log2.h: New file.
41452         New module 'log2'.
41453         * lib/math.in.h (log2): New declaration.
41454         * lib/log2.c: New file.
41455         * m4/log2.m4: New file.
41456         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
41457         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
41458         REPLACE_LOG2.
41459         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
41460         REPLACE_LOG2.
41461         * modules/log2: New file.
41462         * tests/test-math-c++.cc: Check the declaration of log2.
41463         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
41464         and OSF/1 and Cygwin problems.
41466 2012-03-11  Bruno Haible  <bruno@clisp.org>
41468         exp2* tests: More tests.
41469         * tests/test-exp2.h (test_function): Test all integral arguments that
41470         don't need to overflow or denormalized numbers.
41471         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
41472         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
41473         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
41475 2012-03-10  Bruno Haible  <bruno@clisp.org>
41477         log1pl-ieee: Work around test failure on AIX 7.1.
41478         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
41480         log1pl-ieee: Work around test failure on IRIX 6.5.
41481         * m4/log1pl-ieee.m4: New file.
41482         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
41483         test whether log1pl works with a minus zero argument. Replace it if
41484         not.
41485         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
41486         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
41487         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
41488         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
41489         (Depends-on): Update conditions.
41490         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41491         m4/signbit.m4.
41492         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
41493         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
41495         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
41496         * m4/log1pf-ieee.m4: New file.
41497         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
41498         test whether log1pf works with a minus zero argument. Replace it if
41499         not.
41500         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
41501         m4/signbit.m4.
41502         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
41503         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
41505         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
41506         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
41507         (configure.ac): Require gl_FUNC_LOG1PF.
41509         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
41510         * m4/log1p-ieee.m4: New file.
41511         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
41512         whether log1p works with a minus zero argument. Replace it if not.
41513         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
41514         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
41515         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
41516         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
41517         (Depends-on): Update conditions.
41518         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41519         m4/signbit.m4.
41520         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
41521         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
41523         Tests for module 'log1pl-ieee'.
41524         * modules/log1pl-ieee-tests: New file.
41525         * tests/test-log1pl-ieee.c: New file.
41527         New module 'log1pl-ieee'.
41528         * modules/log1pl-ieee: New file.
41530         Tests for module 'log1p-ieee'.
41531         * modules/log1p-ieee-tests: New file.
41532         * tests/test-log1p-ieee.c: New file.
41534         New module 'log1p-ieee'.
41535         * modules/log1p-ieee: New file.
41537         Tests for module 'log1pf-ieee'.
41538         * modules/log1pf-ieee-tests: New file.
41539         * tests/test-log1pf-ieee.c: New file.
41540         * tests/test-log1p-ieee.h: New file.
41542         New module 'log1pf-ieee'.
41543         * modules/log1pf-ieee: New file.
41545 2012-03-10  Bruno Haible  <bruno@clisp.org>
41547         Tests for module 'log1pl'.
41548         * modules/log1pl-tests: New file.
41549         * tests/test-log1pl.c: New file.
41551         New module 'log1pl'.
41552         * lib/math.in.h (log1pl): New declaration.
41553         * lib/log1pl.c: New file.
41554         * m4/log1pl.m4: New file.
41555         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
41556         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
41557         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
41558         * modules/log1pl: New file.
41559         * tests/test-math-c++.cc: Check the declaration of log1pl.
41560         * doc/posix-functions/log1pl.texi: Mention the new module.
41562 2012-03-10  Bruno Haible  <bruno@clisp.org>
41564         Tests for module 'log1pf'.
41565         * modules/log1pf-tests: New file.
41566         * tests/test-log1pf.c: New file.
41568         New module 'log1pf'.
41569         * lib/math.in.h (log1pf): New declaration.
41570         * lib/log1pf.c: New file.
41571         * m4/log1pf.m4: New file.
41572         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
41573         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
41574         REPLACE_LOG1PF.
41575         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
41576         REPLACE_LOG1PF.
41577         * modules/log1pf: New file.
41578         * tests/test-math-c++.cc: Check the declaration of log1pf.
41579         * doc/posix-functions/log1pf.texi: Mention the new module.
41581 2012-03-10  Bruno Haible  <bruno@clisp.org>
41583         log1p tests: More tests.
41584         * tests/test-log1p.h: New file.
41585         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
41586         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
41587         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
41588         (main): Invoke test_function.
41590         log1p: Provide replacement for Minix and MSVC.
41591         * lib/math.in.h (log1p): New declaration.
41592         * lib/log1p.c: New file.
41593         * m4/log1p.m4: New file.
41594         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
41595         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
41596         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
41597         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
41598         (Depends-on): Add math, isnand, log, round.
41599         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
41600         HAVE_LOG1P is 0.
41601         * tests/test-math-c++.cc: Check the declaration of log1p.
41602         * doc/posix-functions/log1p.texi: Mention the replacement.
41604 2012-03-10  Bruno Haible  <bruno@clisp.org>
41606         math tests: Small simplification.
41607         * tests/test-exp.h (test_function): Use the same err_bound for
41608         'double' on platforms with sizeof (long double) == sizeof (double)
41609         than on platforms with sizeof (long double) > sizeof (double).
41610         * tests/test-exp2.h (test_function): Likewise.
41611         * tests/test-expm1.h (test_function): Likewise.
41612         * tests/test-log.h (test_function): Likewise.
41614 2012-03-10  Bruno Haible  <bruno@clisp.org>
41616         Fix some comments.
41617         * lib/expl.c: Fix an ambiguous comment.
41618         * lib/expm1.c: Likewise.
41619         * lib/expm1l.c: Likewise.
41620         * lib/exp2.c: Likewise.
41621         * lib/exp2l.c: Likewise.
41623 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
41625         regex: allow inclusion of <regex.h> before <limits.h>
41626         Without this patch, portable programs had to include <limits.h> before
41627         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
41628         I ran into this problem with a test version of GNU grep on Solaris 8.
41629         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
41630         This is done conditionally so that this change can be merged
41631         back to glibc.
41632         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
41633         using the included regex.
41635         fts: depend on fdopendir
41636         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
41637         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
41638         problem was introduced when fdopendir was split out.
41640 2012-03-10  Bruno Haible  <bruno@clisp.org>
41642         Remove unused variables.
41643         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
41644         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41646 2012-03-10  Bruno Haible  <bruno@clisp.org>
41648         isnanf-nolibm: Fix last commit.
41649         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
41651         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
41652         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
41654 2012-03-10  Bruno Haible  <bruno@clisp.org>
41656         logf-ieee: Work around test failure on NetBSD 5.1.
41657         * m4/logf-ieee.m4: New file.
41658         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
41659         whether logf works with a negative argument. Replace it if not.
41660         * lib/logf.c (logf): For negative arguments, return NaN.
41661         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
41662         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
41663         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
41665         logf-ieee: Work around test failure on Solaris 9.
41666         * modules/logf-ieee (Depends-on): Add log-ieee.
41667         (configure.ac): Require gl_FUNC_LOGF.
41669         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
41670         * m4/log-ieee.m4: New file.
41671         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
41672         log works with a negative argument. Replace it if not.
41673         * lib/log.c (log): For negative arguments, return NaN.
41674         * modules/log-ieee (Files): Add m4/log-ieee.m4.
41675         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
41676         * doc/posix-functions/log.texi: Mention the log-ieee module.
41678         Tests for module 'logl-ieee'.
41679         * modules/logl-ieee-tests: New file.
41680         * tests/test-logl-ieee.c: New file.
41682         New module 'logl-ieee'.
41683         * modules/logl-ieee: New file.
41685         Tests for module 'log-ieee'.
41686         * modules/log-ieee-tests: New file.
41687         * tests/test-log-ieee.c: New file.
41689         New module 'log-ieee'.
41690         * modules/log-ieee: New file.
41692         Tests for module 'logf-ieee'.
41693         * modules/logf-ieee-tests: New file.
41694         * tests/test-logf-ieee.c: New file.
41695         * tests/test-log-ieee.h: New file.
41697         New module 'logf-ieee'.
41698         * modules/logf-ieee: New file.
41700 2012-03-10  Bruno Haible  <bruno@clisp.org>
41702         log: Fix bug introduced on 2012-03-09.
41703         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
41705 2012-03-10  Pádraig Brady  <P@draigBrady.com>
41707         timer-time: link explicitly with pthreads on glibc
41708         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
41709         to support static linking, when newer glibc is
41710         detected, as that contains pthread emulation of
41711         POSIX timer functions where required.
41712         * modules/timer-time: Depend on threadlib to
41713         pull in the appropriate library to link.
41715 2012-03-10  Bruno Haible  <bruno@clisp.org>
41717         log* tests: More tests.
41718         * tests/test-log.h: New file.
41719         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
41720         (main): Invoke test_function.
41721         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
41722         (main): Invoke test_function.
41723         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
41724         (main): Invoke test_function.
41725         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41726         tests/randomd.c.
41727         (Makefile.am): Add randomd.c to test_log_SOURCES.
41728         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41729         tests/randomf.c.
41730         (Makefile.am): Add randomf.c to test_logf_SOURCES.
41731         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41732         tests/randoml.c.
41733         (Depends-on): Add 'float'.
41734         (Makefile.am): Add randoml.c to test_logl_SOURCES.
41736 2012-03-09  Bruno Haible  <bruno@clisp.org>
41738         logl: Work around OSF/1 5.1 bug.
41739         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
41740         * lib/logl.c (logl): If logl exists, use it and provide just the
41741         workaround.
41742         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
41743         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
41744         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
41745         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
41746         * modules/logl (configure.ac): Consider REPLACE_LOGL.
41747         (Depends-on): Update conditions.
41748         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
41750 2012-03-09  Bruno Haible  <bruno@clisp.org>
41752         logf: Work around OSF/1 5.1 bug.
41753         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
41754         * lib/logf.c (logf): If logf exists, use it and provide just the
41755         workaround.
41756         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
41757         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
41758         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
41759         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
41760         * modules/logf (configure.ac): Consider REPLACE_LOGF.
41761         (Depends-on): Update conditions.
41762         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
41764 2012-03-09  Bruno Haible  <bruno@clisp.org>
41766         log: Work around OSF/1 5.1 bug.
41767         * lib/math.in.h (log): New declaration.
41768         * lib/log.c: New file.
41769         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
41770         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
41771         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
41772         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
41773         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
41774         * modules/log (Files): Add lib/log.c.
41775         (Depends-on): Add math.
41776         (configure.ac): If REPLACE_LOG is 1, compile an override.
41777         * tests/test-math-c++.cc: Check the declaration of log.
41778         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
41780 2012-03-09  Jim Meyering  <meyering@redhat.com>
41782         readtokens.c: adjust wording in a comment
41783         * lib/readtokens.c: Insert omitted "that" in a comment.
41785 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41787         modechange: add notations +40, 00440, etc.
41788         * lib/modechange.c (mode_compile): Support new notations
41789         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
41791 2012-03-08  Bruno Haible  <bruno@clisp.org>
41793         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
41794         * m4/exp2l-ieee.m4: New file.
41795         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
41796         test whether exp2l works with a NaN argument and with a negative
41797         infinity argument. Replace it if not.
41798         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
41799         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
41800         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
41801         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
41802         (Depends-on): Update conditions.
41803         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
41804         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
41805         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
41807         Tests for module 'exp2l-ieee'.
41808         * modules/exp2l-ieee-tests: New file.
41809         * tests/test-exp2l-ieee.c: New file.
41811         New module 'exp2l-ieee'.
41812         * modules/exp2l-ieee: New file.
41814         Tests for module 'exp2-ieee'.
41815         * modules/exp2-ieee-tests: New file.
41816         * tests/test-exp2-ieee.c: New file.
41818         New module 'exp2-ieee'.
41819         * modules/exp2-ieee: New file.
41821         Tests for module 'exp2f-ieee'.
41822         * modules/exp2f-ieee-tests: New file.
41823         * tests/test-exp2f-ieee.c: New file.
41824         * tests/test-exp2-ieee.h: New file.
41826         New module 'exp2f-ieee'.
41827         * modules/exp2f-ieee: New file.
41829 2012-03-08  Bruno Haible  <bruno@clisp.org>
41831         Tests for module 'exp2l'.
41832         * modules/exp2l-tests: New file.
41833         * tests/test-exp2l.c: New file.
41835         New module 'exp2l'.
41836         * lib/math.in.h (exp2l): New declaration.
41837         * lib/exp2l.c: New file.
41838         * lib/expl-table.c: New file, extracted from lib/expl.c.
41839         * lib/expl.c (gl_expl_table): New declaration.
41840         (expl): Remove expl_table. Update reference.
41841         * m4/exp2l.m4: New file.
41842         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
41843         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
41844         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
41845         * modules/exp2l: New file.
41846         * modules/expl (Files): Add lib/expl-table.c.
41847         (configure.ac): Compile also expl-table.c.
41848         * tests/test-math-c++.cc: Check the declaration of exp2l.
41849         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
41850         problem.
41852 2012-03-08  Bruno Haible  <bruno@clisp.org>
41854         Tests for module 'exp2f'.
41855         * modules/exp2f-tests: New file.
41856         * tests/test-exp2f.c: New file.
41858         New module 'exp2f'.
41859         * lib/math.in.h (exp2f): New declaration.
41860         * lib/exp2f.c: New file.
41861         * m4/exp2f.m4: New file.
41862         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
41863         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
41864         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
41865         * modules/exp2f: New file.
41866         * tests/test-math-c++.cc: Check the declaration of exp2f.
41867         * doc/posix-functions/exp2f.texi: Mention the new module and the
41868         IRIX problem.
41870 2012-03-08  Bruno Haible  <bruno@clisp.org>
41872         Tests for module 'exp2'.
41873         * modules/exp2-tests: New file.
41874         * tests/test-exp2.c: New file.
41875         * tests/test-exp2.h: New file.
41877         New module 'exp2'.
41878         * lib/math.in.h (exp2): New declaration.
41879         * lib/exp2.c: New file.
41880         * m4/exp2.m4: New file.
41881         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
41882         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
41883         REPLACE_EXP2.
41884         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
41885         REPLACE_EXP2.
41886         * modules/exp2: New file.
41887         * tests/test-math-c++.cc: Check the declaration of exp2.
41888         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
41889         and OpenBSD problems.
41891 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41893         savedir: fix comment typo
41894         * lib/savedir.c (savedirstream): Fix typo in comment.
41896 2012-03-08  Bruno Haible  <bruno@clisp.org>
41898         test-readtokens.c: use const; remove unwarranted cast
41899         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
41901 2012-03-08  Bruno Haible  <bruno@clisp.org>
41903         fmal: Avoid compilation error on AIX.
41904         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
41905         AIX 5.2..7.1.
41907 2012-03-08  Bruno Haible  <bruno@clisp.org>
41909         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
41910         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
41911         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
41912         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
41913         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
41914         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
41915         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
41917 2012-03-08  Bruno Haible  <bruno@clisp.org>
41919         remainderf: Override buggy system function on IRIX 6.5.
41920         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
41921         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
41922         when it exists.
41923         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
41925 2012-03-08  Jim Meyering  <meyering@redhat.com>
41927         test-readtokens.c: avoid const-related compilation warnings
41928         * tests/test-readtokens.c: Avoid const-related compilation warnings.
41930 2012-03-07  Jim Meyering  <meyering@redhat.com>
41931             Bruno Haible  <bruno@clisp.org>
41933         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
41934         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
41935         tests/randomd.c.
41936         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
41937         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
41938         tests/randoml.c.
41939         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
41941 2012-03-07  Bruno Haible  <bruno@clisp.org>
41943         expm1l: Avoid compilation error on AIX.
41944         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
41945         AIX 5.2..7.1.
41947 2012-03-07  Bruno Haible  <bruno@clisp.org>
41949         expm1l: Don't override undeclared system function on IRIX 6.5.
41950         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
41951         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
41952         it exists. Set HAVE_DECL_EXPM1L.
41953         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
41954         HAVE_EXPM1L.
41955         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
41956         HAVE_EXPM1L.
41957         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
41959 2012-03-07  Bruno Haible  <bruno@clisp.org>
41961         remainderl: Don't override undeclared system function on IRIX 6.5.
41962         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
41963         HAVE_REMAINDERL.
41964         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
41965         declared when it exists. Set HAVE_DECL_REMAINDERL.
41966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
41967         not HAVE_REMAINDERL.
41968         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
41969         HAVE_REMAINDERL.
41970         * doc/posix-functions/remainderl.texi: Mention missing declaration
41971         problem.
41973 2012-03-07  Bruno Haible  <bruno@clisp.org>
41975         rintf: Don't override undeclared system function on IRIX 6.5.
41976         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
41977         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
41978         exists. Set HAVE_DECL_RINTF.
41979         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
41980         HAVE_RINTF.
41981         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
41982         HAVE_RINTF.
41983         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
41985 2012-03-07  Bruno Haible  <bruno@clisp.org>
41987         roundl: Avoid compilation error on AIX.
41988         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
41989         AIX 5.2..7.1.
41991 2012-03-07  Bruno Haible  <bruno@clisp.org>
41993         roundl: Don't override undeclared system function on IRIX 6.5.
41994         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
41995         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
41996         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41997         * modules/roundl (configure.ac): For replacement code, test
41998         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41999         (Depends-on): Update conditions.
42000         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
42002 2012-03-07  Bruno Haible  <bruno@clisp.org>
42004         roundf: Don't override undeclared system function on IRIX 6.5.
42005         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
42006         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
42007         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
42008         * modules/roundf (configure.ac): For replacement code, test
42009         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
42010         (Depends-on): Update conditions.
42011         * modules/roundf-ieee (Depends-on): Update conditions.
42012         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
42014 2012-03-07  Bruno Haible  <bruno@clisp.org>
42016         round: Don't override undeclared system function on IRIX 6.5.
42017         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
42018         argument.
42019         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
42020         also when it is not declared. Set HAVE_ROUND. For replacement code,
42021         test HAVE_ROUND, not HAVE_DECL_ROUND.
42022         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
42023         not HAVE_DECL_ROUND.
42024         (Depends-on): Update conditions.
42025         * modules/round-ieee (Depends-on): Update conditions.
42026         * doc/posix-functions/round.texi: Mention the IRIX problem.
42028 2012-03-07  Bruno Haible  <bruno@clisp.org>
42030         copysignf: Don't override undeclared system function on IRIX 6.5.
42031         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
42032         HAVE_COPYSIGNF.
42033         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
42034         declared when it exists. Set HAVE_DECL_COPYSIGNF.
42035         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
42036         not HAVE_COPYSIGNF.
42037         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
42038         HAVE_COPYSIGNF.
42039         * doc/posix-functions/copysignf.texi: Mention missing declaration
42040         problem.
42042 2012-03-07  Jim Meyering  <meyering@redhat.com>
42044         readtokens: add tests
42045         * modules/readtokens-tests: New file.
42046         * tests/test-readtokens.c: New file.
42048 2012-03-07  Jim Meyering  <meyering@redhat.com>
42050         quotearg: the module must now include quote.h
42051         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
42052         So must the module.
42053         * modules/quotearg (Files): Add quote.h.
42055 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
42057         readtokens: avoid core dumps with unusual calling patterns
42058         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
42059         * lib/readtokens.c: Include limits.h.
42060         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
42061         (readtoken): Don't cache the delimiters; the cache code was buggy
42062         if !delim && saved_delim, or if the new n_delim differs from the old.
42063         Also, it wasn't thread-safe.
42065 2012-03-07  Bruno Haible  <bruno@clisp.org>
42067         quote: Adhere to common module description layout.
42068         * modules/quote (Makefile.am): Add back empty section.
42070 2012-03-06  Akim Demaille  <demaille@gostai.com>
42072         quote: fuse into quotearg
42073         This patch is made for the benefit of Bison.
42074         quote does not leave the choice of the quoting style to the user.
42075         quoting_style provides poor customizability, yet quoting_options,
42076         which is very rich, is hidden inside quotearg.c.  So in order to
42077         allow quote customization, move its implementation to quotearg.c.
42078         * lib/quote.c: Remove.
42079         * modules/quote: Adjust.
42080         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
42081         warning: provide all the members of literal structs.
42082         (quote_quoting_options): New.
42083         (quote, quote_n): Import implementation from quote.c.
42084         * lib/quote.h: Import the comments from quote.c.
42085         (quote_quoting_options): New.
42087 2012-03-06  Bruno Haible  <bruno@clisp.org>
42089         Tests for module 'expm1l-ieee'.
42090         * modules/expm1l-ieee-tests: New file.
42091         * tests/test-expm1l-ieee.c: New file.
42093         New module 'expm1l-ieee'.
42094         * modules/expm1l-ieee: New file.
42096         Tests for module 'expm1f-ieee'.
42097         * modules/expm1f-ieee-tests: New file.
42098         * tests/test-expm1f-ieee.c: New file.
42100         New module 'expm1f-ieee'.
42101         * modules/expm1f-ieee: New file.
42103         Tests for module 'expm1-ieee'.
42104         * modules/expm1-ieee-tests: New file.
42105         * tests/test-expm1-ieee.c: New file.
42106         * tests/test-expm1-ieee.h: New file.
42108         New module 'expm1-ieee'.
42109         * modules/expm1-ieee: New file.
42110         * m4/expm1-ieee.m4: New file.
42111         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
42112         whether expm1 works with a minus zero argument. Replace it if not.
42113         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
42114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
42115         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
42116         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
42117         (Depends-on): Update conditions.
42118         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
42119         AIX problem.
42121 2012-03-06  Bruno Haible  <bruno@clisp.org>
42123         Work around expm1f bug on IRIX 6.5.
42124         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
42125         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
42126         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
42127         not work.
42128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
42129         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
42130         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
42131         (Depends-on): Update conditions.
42132         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
42134 2012-03-06  Bruno Haible  <bruno@clisp.org>
42136         Tests for module 'expm1l'.
42137         * modules/expm1l-tests: New file.
42138         * tests/test-expm1l.c: New file.
42140         New module 'expm1l'.
42141         * lib/math.in.h (expm1l): New declaration.
42142         * lib/expm1l.c: New file.
42143         * m4/expm1l.m4: New file.
42144         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
42145         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
42146         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
42147         * modules/expm1l: New file.
42148         * tests/test-math-c++.cc: Check the declaration of expm1l.
42149         * doc/posix-functions/expm1l.texi: Mention the new module.
42151 2012-03-06  Bruno Haible  <bruno@clisp.org>
42153         Tests for module 'expm1f'.
42154         * modules/expm1f-tests: New file.
42155         * tests/test-expm1f.c: New file.
42157         New module 'expm1f'.
42158         * lib/math.in.h (expm1f): New declaration.
42159         * lib/expm1f.c: New file.
42160         * m4/expm1f.m4: New file.
42161         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
42162         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
42163         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
42164         * modules/expm1f: New file.
42165         * tests/test-math-c++.cc: Check the declaration of expm1f.
42166         * doc/posix-functions/expm1f.texi: Mention the new module.
42168 2012-03-06  Bruno Haible  <bruno@clisp.org>
42170         Tests for module 'expm1'.
42171         * modules/expm1-tests: New file.
42172         * tests/test-expm1.c: New file.
42173         * tests/test-expm1.h: New file.
42175         New module 'expm1'.
42176         * lib/math.in.h (expm1): New declaration.
42177         * lib/expm1.c: New file.
42178         * m4/expm1.m4: New file.
42179         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
42180         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
42181         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
42182         * modules/expm1: New file.
42183         * tests/test-math-c++.cc: Check the declaration of expm1.
42184         * doc/posix-functions/expm1.texi: Mention the new module.
42186 2012-03-06  Bruno Haible  <bruno@clisp.org>
42188         math: Ensure declarations of math functions.
42189         * modules/acosf (Depends-on): Add 'extensions'.
42190         * modules/asinf (Depends-on): Likewise.
42191         * modules/atan2f (Depends-on): Likewise.
42192         * modules/atanf (Depends-on): Likewise.
42193         * modules/cbrt (Depends-on): Likewise.
42194         * modules/cbrtf (Depends-on): Likewise.
42195         * modules/cbrtl (Depends-on): Likewise.
42196         * modules/copysignf (Depends-on): Likewise.
42197         * modules/copysignl (Depends-on): Likewise.
42198         * modules/cosf (Depends-on): Likewise.
42199         * modules/coshf (Depends-on): Likewise.
42200         * modules/expf (Depends-on): Likewise.
42201         * modules/fabsf (Depends-on): Likewise.
42202         * modules/fabsl (Depends-on): Likewise.
42203         * modules/fmaf (Depends-on): Likewise.
42204         * modules/fmal (Depends-on): Likewise.
42205         * modules/fmodf (Depends-on): Likewise.
42206         * modules/fmodl (Depends-on): Likewise.
42207         * modules/frexpf (Depends-on): Likewise.
42208         * modules/frexpl (Depends-on): Likewise.
42209         * modules/hypot (Depends-on): Likewise.
42210         * modules/hypotf (Depends-on): Likewise.
42211         * modules/hypotl (Depends-on): Likewise.
42212         * modules/ldexpf (Depends-on): Likewise.
42213         * modules/ldexpl (Depends-on): Likewise.
42214         * modules/log10f (Depends-on): Likewise.
42215         * modules/log10l (Depends-on): Likewise.
42216         * modules/log1p (Depends-on): Likewise.
42217         * modules/logb (Depends-on): Likewise.
42218         * modules/logf (Depends-on): Likewise.
42219         * modules/modff (Depends-on): Likewise.
42220         * modules/modfl (Depends-on): Likewise.
42221         * modules/powf (Depends-on): Likewise.
42222         * modules/remainderf (Depends-on): Likewise.
42223         * modules/remainderl (Depends-on): Likewise.
42224         * modules/rintf (Depends-on): Likewise.
42225         * modules/rintl (Depends-on): Likewise.
42226         * modules/sinf (Depends-on): Likewise.
42227         * modules/sinhf (Depends-on): Likewise.
42228         * modules/sqrtf (Depends-on): Likewise.
42229         * modules/tanf (Depends-on): Likewise.
42230         * modules/tanhf (Depends-on): Likewise.
42231         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
42232         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
42233         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
42234         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
42235         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
42236         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
42237         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
42238         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
42239         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
42240         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
42241         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
42242         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
42243         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
42244         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
42245         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
42246         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
42247         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
42248         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42249         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
42250         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
42251         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
42252         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
42253         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
42254         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
42255         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
42256         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
42257         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
42258         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
42259         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
42260         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
42261         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
42262         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
42263         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
42264         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42265         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
42266         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
42267         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
42268         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
42269         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
42270         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
42271         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
42273 2012-03-06  Bruno Haible  <bruno@clisp.org>
42275         math: Update module names in warnings.
42276         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
42277         tanl): Use specific module name in warn-on-use warning.
42279 2012-03-06  Bruno Haible  <bruno@clisp.org>
42281         expl: Simplify computation.
42282         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
42284 2012-03-05  Bruno Haible  <bruno@clisp.org>
42286         exp* tests: More tests.
42287         * tests/test-exp.h: New file.
42288         * tests/test-exp.c: Include <float.h> and test-exp.h.
42289         (main): Invoke test_function.
42290         * tests/test-expf.c: Include <float.h> and test-exp.h.
42291         (main): Invoke test_function.
42292         * tests/test-expl.c: Include <float.h> and test-exp.h.
42293         (main): Invoke test_function.
42294         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
42295         (Makefile.am): Add randomd.c to test_exp_SOURCES.
42296         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
42297         (Makefile.am): Add randomf.c to test_expf_SOURCES.
42298         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
42299         (Depends-on): Add 'float'.
42300         (Makefile.am): Add randoml.c to test_expl_SOURCES.
42302         expl: Fix precision of computed result.
42303         * lib/expl.c: Completely rewritten.
42304         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
42305         (Maintainer): Add me.
42306         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
42308 2012-03-05  Bruno Haible  <bruno@clisp.org>
42310         cbrt* tests: More tests.
42311         * tests/test-cbrt.h: New file.
42312         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
42313         (main): Invoke test_function.
42314         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
42315         (main): Invoke test_function.
42316         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
42317         (main): Invoke test_function.
42318         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
42319         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
42320         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
42321         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
42322         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
42323         (Depends-on): Add 'float'.
42324         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
42326 2012-03-05  Bruno Haible  <bruno@clisp.org>
42328         hypot* tests: More tests.
42329         * tests/test-hypot.h: New file, partially extracted from
42330         tests/test-hypotl.c.
42331         * tests/test-hypot.c: Include test-hypot.h.
42332         (main): Invoke test_function.
42333         * tests/test-hypotf.c: Include test-hypot.h.
42334         (main): Invoke test_function.
42335         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
42336         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
42337         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
42338         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
42339         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
42340         tests/randomf.c.
42341         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
42342         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
42343         tests/randoml.c.
42344         (Depends-on): Add 'fpucw', 'float'.
42345         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
42347 2012-03-05  Bruno Haible  <bruno@clisp.org>
42349         fpucw: Doc about FreeBSD.
42350         * lib/fpucw.h: Mention FreeBSD in comments.
42352 2012-03-04  Bruno Haible  <bruno@clisp.org>
42354         sqrt* tests: More tests.
42355         * tests/test-sqrt.h: New file.
42356         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
42357         (main): Invoke test_function.
42358         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
42359         (main): Invoke test_function.
42360         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
42361         (main): Invoke test_function.
42362         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
42363         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
42364         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
42365         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
42366         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
42367         (Depends-on): Add 'float'.
42368         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
42370 2012-03-04  Bruno Haible  <bruno@clisp.org>
42372         remainder* tests: More tests.
42373         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
42374         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
42375         (main): Invoke test_function.
42376         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
42377         (main): Invoke test_function.
42378         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
42379         (main): Invoke test_function.
42380         * modules/remainder-tests (Files): Add tests/test-remainder.h,
42381         tests/randomd.c.
42382         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
42383         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
42384         tests/randomf.c.
42385         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
42386         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
42387         tests/randoml.c.
42388         (Depends-on): Add 'float'.
42389         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
42391 2012-03-04  Bruno Haible  <bruno@clisp.org>
42393         remainder, remainderf, remainderl: Fix computation for large quotients.
42394         * lib/remainder.c: Completely rewritten.
42395         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
42396         USE_FLOAT.
42397         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
42398         USE_LONG_DOUBLE.
42399         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
42400         isnand, isinf. Remove round, fma.
42401         * modules/remainderf (Files): Add lib/remainder.c.
42402         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
42403         Remove roundf, fmaf.
42404         * modules/remainderl (Files): Add lib/remainder.c.
42405         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
42406         isinf. Remove roundl, fmal.
42407         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
42408         REMAINDER_LIBM.
42409         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
42410         REMAINDERF_LIBM.
42411         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
42412         REMAINDERL_LIBM.
42414 2012-03-04  Bruno Haible  <bruno@clisp.org>
42416         fmod* tests: More tests.
42417         * tests/test-fmod.h (my_ldexp): New function.
42418         (test_function): Reduce amount of random numbers to test. Add tests
42419         of very large quotients x / y.
42420         * tests/test-fmod.c (MAX_EXP): New macro.
42421         * tests/test-fmodf.c (MAX_EXP): Likewise.
42422         * tests/test-fmodl.c (MAX_EXP): Likewise.
42424 2012-03-04  Bruno Haible  <bruno@clisp.org>
42426         fmod, fmodl: Fix computation for large quotients x / y.
42427         * lib/fmod.c: Completely rewritten.
42428         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
42429         USE_LONG_DOUBLE.
42430         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
42431         isnand. Remove fma.
42432         * modules/fmodl (Files): Add lib/fmod.c.
42433         (Depends-on): Add float, isfinite, signbit, fabsl,
42434         frexpl, ldexpl, isnanl. Remove fma.
42435         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
42436         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
42438 2012-03-03  Bruno Haible  <bruno@clisp.org>
42440         fmod* tests: More tests.
42441         * tests/test-fmod.h: New file.
42442         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
42443         (main): Invoke test_function.
42444         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
42445         (main): Invoke test_function.
42446         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
42447         (main): Invoke test_function.
42448         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
42449         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
42450         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
42451         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
42452         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
42453         (Depends-on): Add 'float'.
42454         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
42456 2012-03-03  Bruno Haible  <bruno@clisp.org>
42458         rint* tests: More tests.
42459         * tests/test-rint.h: New file, partially extracted from
42460         tests/test-rintl.c.
42461         * tests/test-rint.c: Include test-rint.h.
42462         (main): Invoke test_function.
42463         * tests/test-rintf.c: Include test-rint.h.
42464         (main): Invoke test_function.
42465         * tests/test-rintl.c: Include test-rint.h.
42466         (main): Invoke test_function.
42467         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
42468         (Makefile.am): Add randomd.c to test_rint_SOURCES.
42469         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
42470         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
42471         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
42472         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
42474 2012-03-03  Bruno Haible  <bruno@clisp.org>
42476         modf* tests: More tests.
42477         * tests/test-modf.h: New file.
42478         * tests/test-modf.c: Include <float.h> and test-modf.h.
42479         (main): Invoke test_function.
42480         * tests/test-modff.c: Include <float.h> and test-modf.h.
42481         (main): Invoke test_function.
42482         * tests/test-modfl.c: Include <float.h> and test-modf.h.
42483         (main): Invoke test_function.
42484         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
42485         (Makefile.am): Add randomd.c to test_modf_SOURCES.
42486         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
42487         (Makefile.am): Add randomf.c to test_modff_SOURCES.
42488         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
42489         (Depends-on): Add 'float'.
42490         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
42492 2012-03-03  Bruno Haible  <bruno@clisp.org>
42494         fabs* tests: More tests.
42495         * tests/test-fabs.h: New file, partially extracted from
42496         tests/test-fabsl.c.
42497         * tests/test-fabs.c (RANDOM): New macro.
42498         * tests/test-fabsf.c (RANDOM): New macro.
42499         * tests/test-fabsl.c (RANDOM): New macro.
42500         * modules/fabs-tests (Files): Add tests/randomd.c.
42501         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
42502         * modules/fabsf-tests (Files): Add tests/randomf.c.
42503         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
42504         * modules/fabsl-tests (Files): Add tests/randoml.c.
42505         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
42507 2012-03-03  Bruno Haible  <bruno@clisp.org>
42509         ldexp* tests: More tests.
42510         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
42511         * tests/test-ldexp.c (RANDOM): New macro.
42512         * tests/test-ldexpf.c (RANDOM): New macro.
42513         * tests/test-ldexpl.c (RANDOM): New macro.
42514         * modules/ldexp-tests (Files): Add tests/randomd.c.
42515         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
42516         * modules/ldexpf-tests (Files): Add tests/randomf.c.
42517         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
42518         * modules/ldexpl-tests (Files): Add tests/randoml.c.
42519         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
42521 2012-03-03  Bruno Haible  <bruno@clisp.org>
42523         frexp* tests: More tests.
42524         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
42525         * tests/test-frexp.c (RANDOM): New macro.
42526         * tests/test-frexpf.c (RANDOM): New macro.
42527         * tests/test-frexpl.c (RANDOM): New macro.
42528         * modules/frexp-tests (Files): Add tests/randomd.c.
42529         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
42530         * modules/frexpf-tests (Files): Add tests/randomf.c.
42531         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
42532         * modules/frexpl-tests (Files): Add tests/randoml.c.
42533         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
42535 2012-03-03  Bruno Haible  <bruno@clisp.org>
42537         Support for pseudo-random numbers in tests.
42538         * tests/randomf.c: New file.
42539         * tests/randomd.c: New file.
42540         * tests/randoml.c: New file.
42541         * tests/macros.h (randomf, randomd, randoml): New declarations.
42543 2012-03-03  Bruno Haible  <bruno@clisp.org>
42545         frexp* tests: Refactor.
42546         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
42547         * tests/test-frexp.c: Include and use it.
42548         * tests/test-frexpf.c: Likewise.
42549         * tests/test-frexpl.c: Likewise.
42550         * modules/frexp-tests (Files): Add tests/test-frexp.h.
42551         * modules/frexpf-tests (Files): Likewise.
42552         * modules/frexpl-tests (Files): Likewise.
42554 2012-03-02  Jim Meyering  <meyering@redhat.com>
42556         maint: don't specify XZ_OPT=-9ev in dist-related rule
42557         Using xz's -9 option is warranted only if you have a very large
42558         tarball (see xz's documentation for the sizes vs. presets), and
42559         requires 64MiB of memory at decompression time.
42560         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
42561         Automake's default of just "-e" is fine.  Override on a
42562         per-package basis by setting XZ_OPT e.g., in cfg.mk.
42564 2012-03-01  Eric Blake  <eblake@redhat.com>
42566         maint.mk: allow announcement for non-gnulib project
42567         * maint.mk (announcement): Skip gnulib version if not used.
42569 2012-03-01  Jim Meyering  <meyering@redhat.com>
42571         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
42572         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
42573         envvar settings cannot interfere.  Otherwise, setting envvars like
42574         prohibit=foo require=bar, etc. would cause spurious test failures.
42576 2012-03-01  Eric Blake  <eblake@redhat.com>
42578         maint.mk: add per-line exclusions to prohibitions
42579         * maint.mk (_sc_search_regexp): Add $exclude parameter.
42580         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
42581         (sc_const_long_option): Use it.
42583 2012-03-01  Bruno Haible  <bruno@clisp.org>
42585         Tests for module 'expl-ieee'.
42586         * modules/expl-ieee-tests: New file.
42587         * tests/test-expl-ieee.c: New file.
42589         New module 'expl-ieee'.
42590         * modules/expl-ieee: New file.
42592         Tests for module 'exp-ieee'.
42593         * modules/exp-ieee-tests: New file.
42594         * tests/test-exp-ieee.c: New file.
42596         New module 'exp-ieee'.
42597         * modules/exp-ieee: New file.
42599         Tests for module 'expf-ieee'.
42600         * modules/expf-ieee-tests: New file.
42601         * tests/test-expf-ieee.c: New file.
42602         * tests/test-exp-ieee.h: New file.
42604         New module 'expf-ieee'.
42605         * modules/expf-ieee: New file.
42607 2012-02-29  Bruno Haible  <bruno@clisp.org>
42609         cbrtl-ieee: Work around test failure on IRIX 6.5.
42610         * m4/cbrtl-ieee.m4: New file.
42611         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
42612         test whether cbrtl works with a minus zero argument. Replace it if not.
42613         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
42614         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
42615         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
42616         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
42617         (Depends-on): Update conditions.
42618         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
42619         m4/signbit.m4.
42620         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
42621         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
42622         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
42624         Tests for module 'cbrtl-ieee'.
42625         * modules/cbrtl-ieee-tests: New file.
42626         * tests/test-cbrtl-ieee.c: New file.
42628         New module 'cbrtl-ieee'.
42629         * modules/cbrtl-ieee: New file.
42631         Tests for module 'cbrt-ieee'.
42632         * modules/cbrt-ieee-tests: New file.
42633         * tests/test-cbrt-ieee.c: New file.
42635         New module 'cbrt-ieee'.
42636         * modules/cbrt-ieee: New file.
42638         Tests for module 'cbrtf-ieee'.
42639         * modules/cbrtf-ieee-tests: New file.
42640         * tests/test-cbrtf-ieee.c: New file.
42641         * tests/test-cbrt-ieee.h: New file.
42643         New module 'cbrtf-ieee'.
42644         * modules/cbrtf-ieee: New file.
42646 2012-02-29  Bruno Haible  <bruno@clisp.org>
42648         cbrtf: Work around bug in IRIX 6.5 system function.
42649         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
42650         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
42651         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
42652         work.
42653         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
42654         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
42655         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
42656         (Depends-on): Update conditions.
42657         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
42659 2012-02-29  Bruno Haible  <bruno@clisp.org>
42661         Tests for module 'cbrtl'.
42662         * modules/cbrtl-tests: New file.
42663         * tests/test-cbrtl.c: New file.
42665         New module 'cbrtl'.
42666         * lib/math.in.h (cbrtl): New declaration.
42667         * lib/cbrtl.c: New file.
42668         * m4/cbrtl.m4: New file.
42669         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
42670         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
42671         HAVE_DECL_CBRTL.
42672         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
42673         HAVE_DECL_CBRTL.
42674         * modules/cbrtl: New file.
42675         * tests/test-math-c++.cc: Check the declaration of cbrtl.
42676         * doc/posix-functions/cbrtl.texi: Mention the new module.
42678 2012-02-29  Bruno Haible  <bruno@clisp.org>
42680         Tests for module 'cbrtf'.
42681         * modules/cbrtf-tests: New file.
42682         * tests/test-cbrtf.c: New file.
42684         New module 'cbrtf'.
42685         * lib/math.in.h (cbrtf): New declaration.
42686         * lib/cbrtf.c: New file.
42687         * m4/cbrtf.m4: New file.
42688         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
42689         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
42690         HAVE_DECL_CBRTF.
42691         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
42692         HAVE_DECL_CBRTF.
42693         * modules/cbrtf: New file.
42694         * tests/test-math-c++.cc: Check the declaration of cbrtf.
42695         * doc/posix-functions/cbrtf.texi: Mention the new module.
42697 2012-02-29  Bruno Haible  <bruno@clisp.org>
42699         cbrt: Provide replacement on MSVC and Minix.
42700         * lib/math.in.h (cbrt): New declaration.
42701         * lib/cbrt.c: New file.
42702         * m4/cbrt.m4: New file.
42703         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
42704         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
42705         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
42706         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
42707         (Depends-on): Add dependencies.
42708         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
42709         * tests/test-math-c++.cc: Check the declaration of cbrt.
42710         * doc/posix-functions/cbrt.texi: Mention that the module provides a
42711         replacement.
42713 2012-02-29  Bruno Haible  <bruno@clisp.org>
42715         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
42716         * m4/hypotl-ieee.m4: New file.
42717         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
42718         test whether hypotl works with mixed NaN and Infinity arguments.
42719         Replace it if not.
42720         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
42721         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
42722         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
42723         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
42724         (Depends-on): Update conditions.
42725         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
42726         (Depends-on): Add hypot-ieee.
42727         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
42728         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
42730         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
42731         * m4/hypotf-ieee.m4: New file.
42732         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
42733         test whether hypotf works with mixed NaN and Infinity arguments.
42734         Replace it if not.
42735         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
42736         (Depends-on): Add hypot-ieee.
42737         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
42738         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
42740         hypot-ieee: Work around test failure on OSF/1 and native Windows.
42741         * lib/math.in.h (hypot): New declaration.
42742         * lib/hypot.c: New file.
42743         * m4/hypot-ieee.m4: New file.
42744         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
42745         whether hypot works with mixed NaN and Infinity arguments. Replace it
42746         if not.
42747         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
42748         REPLACE_HYPOT.
42749         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
42750         * modules/hypot (Files): Add lib/hypot.c.
42751         (Depends-on): Add dependencies.
42752         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
42753         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
42754         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
42755         * tests/test-math-c++.cc: Check the declaration of hypot.
42756         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
42758         Tests for module 'hypotl-ieee'.
42759         * modules/hypotl-ieee-tests: New file.
42760         * tests/test-hypotl-ieee.c: New file.
42762         New module 'hypotl-ieee'.
42763         * modules/hypotl-ieee: New file.
42765         Tests for module 'hypot-ieee'.
42766         * modules/hypot-ieee-tests: New file.
42767         * tests/test-hypot-ieee.c: New file.
42769         New module 'hypot-ieee'.
42770         * modules/hypot-ieee: New file.
42772         Tests for module 'hypotf-ieee'.
42773         * modules/hypotf-ieee-tests: New file.
42774         * tests/test-hypotf-ieee.c: New file.
42775         * tests/test-hypot-ieee.h: New file.
42777         New module 'hypotf-ieee'.
42778         * modules/hypotf-ieee: New file.
42780 2012-02-29  Bruno Haible  <bruno@clisp.org>
42782         Remove unused variables.
42783         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
42784         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42785         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
42786         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42788 2012-02-29  Eric Blake  <eblake@redhat.com>
42790         termios: fix pid_t always, not just for tcgetsid
42791         * doc/posix-headers/termios.texi (termios.h): Mention problem.
42792         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
42793         just when building tcgetsid.
42795 2012-02-29  Bruno Haible  <bruno@clisp.org>
42797         Tests for module 'hypotl'.
42798         * modules/hypotl-tests: New file.
42799         * tests/test-hypotl.c: New file.
42801         New module 'hypotl'.
42802         * lib/math.in.h (hypotl): New declaration.
42803         * lib/hypotl.c: New file.
42804         * m4/hypotl.m4: New file.
42805         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42806         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
42807         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
42808         * modules/hypotl: New file.
42809         * tests/test-math-c++.cc: Check the hypotl declaration.
42810         * doc/posix-functions/hypotl.texi: Mention the new module.
42812 2012-02-29  Eric Blake  <eblake@redhat.com>
42814         tcgetsid: fix cygwin header bug
42815         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
42817         docs: update cygwin progress
42818         * doc/posix-functions/llround.texi (llround): Added in cygwin
42819         1.7.8.
42820         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
42821         * doc/glibc-functions/program_invocation_name.texi
42822         (program_invocation_name): Likewise.
42823         * doc/glibc-functions/program_invocation_short_name.texi
42824         (program_invocation_short_name): Likewise.
42825         * doc/glibc-functions/madvise.texi (madvise): Likewise.
42826         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
42827         Likewise.
42828         * doc/posix-functions/pthread_spin_destroy.texi
42829         (pthread_spin_destroy): Added in cygwin 1.7.10.
42830         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
42831         Likewise.
42832         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
42833         Likewise.
42834         * doc/posix-functions/pthread_spin_trylock.texi
42835         (pthread_spin_trylock): Likewise.
42836         * doc/posix-functions/pthread_spin_unlock.texi
42837         (pthread_spin_unlock): Likewise.
42838         * doc/posix-functions/pthread_setschedprio.texi
42839         (pthread_setschedprio): Likewise.
42840         * doc/posix-functions/pthread_attr_getstack.texi
42841         (pthread_attr_getstack): Likewise.
42842         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
42843         (pthread_attr_getstackaddr): Likewise.
42844         * doc/glibc-functions/pthread_getattr_np.texi
42845         (pthread_getattr_np): Likewise.
42846         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
42847         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
42848         * doc/posix-functions/clock_settime.texi (clock_settime):
42849         Likewise.
42850         * doc/posix-functions/pthread_attr_getguardsize.texi
42851         (pthread_attr_getguardsize): Likewise.
42852         * doc/posix-functions/pthread_attr_setguardsize.texi
42853         (pthread_attr_setguardsize): Likewise.
42854         * doc/posix-functions/pthread_attr_setstack.texi
42855         (pthread_attr_setstack): Likewise.
42856         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
42857         (pthread_attr_setstackaddr): Likewise.
42858         * doc/posix-functions/clock_getcpuclockid.texi
42859         (clock_getcpuclockid): Likewise.
42860         * doc/posix-functions/pthread_getcpuclockid.texi
42861         (pthread_getcpuclockid): Likewise.
42862         * doc/glibc-functions/error.texi (error): Likewise.
42863         * doc/glibc-functions/error_at_line.texi (error_at_line):
42864         Likewise.
42865         * doc/glibc-functions/error_message_count.texi
42866         (error_message_count): Likewise.
42867         * doc/glibc-functions/error_one_per_line.texi
42868         (error_one_per_line): Likewise.
42869         * doc/glibc-functions/error_print_progname.texi
42870         (error_print_progname): Likewise.
42871         * doc/posix-functions/pthread_condattr_getclock.texi
42872         (pthread_condattr_getclock): Likewise.
42873         * doc/posix-functions/pthread_condattr_setclock.texi
42874         (pthread_condattr_setclock): Likewise.
42875         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
42876         Likewise.
42877         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
42878         * doc/glibc-functions/getpt.texi (getpt): Likewise.
42879         * doc/glibc-functions/get_current_dir_name.texi
42880         (get_current_dir_name): Likewise.
42881         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
42882         Likewise.
42883         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
42884         wrong return type.
42885         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
42886         1.7.11.
42888 2012-02-29  Bruno Haible  <bruno@clisp.org>
42890         Tests for module 'hypotf'.
42891         * modules/hypotf-tests: New file.
42892         * tests/test-hypotf.c: New file.
42894         New module 'hypotf'.
42895         * lib/math.in.h (hypotf): New declaration.
42896         * lib/hypotf.c: New file.
42897         * m4/hypotf.m4: New file.
42898         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42899         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
42900         REPLACE_HYPOTF.
42901         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
42902         REPLACE_HYPOTF.
42903         * modules/hypotf: New file.
42904         * tests/test-math-c++.cc: Check the hypotf declaration.
42905         * doc/posix-functions/hypotf.texi: Mention the new module.
42907         hypot: Prepare for hypotf module.
42908         * m4/hypot.m4: New file.
42909         * modules/hypot (Files): Add m4/hypot.m4.
42910         (configure.ac): Invoke gl_FUNC_HYPOT.
42912 2012-02-29  Bruno Haible  <bruno@clisp.org>
42914         hypot tests: More tests.
42915         * tests/test-hypot.c: Include <float.h>.
42916         (main): Add tests about overflow and underflow.
42918 2012-02-29  Bruno Haible  <bruno@clisp.org>
42920         math code: Add comments.
42921         * lib/acosl.c: Add comment about related glibc source files.
42922         * lib/asinl.c: Likewise.
42923         * lib/atanl.c: Likewise.
42924         * lib/expl.c: Likewise.
42925         * lib/logl.c: Likewise.
42926         * lib/sincosl.c: Likewise.
42927         * lib/sinl.c: Likewise.
42928         * lib/tanl.c: Likewise.
42929         * lib/trigl.c: Likewise.
42930         * lib/cosl.c: Likewise. Fix comments.
42932 2012-02-28  Bruno Haible  <bruno@clisp.org>
42934         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
42935         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
42936         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
42937         HUGE_VALL are defined.
42938         (numeric_equald): Renamed from numeric_equal.
42939         (numeric_equalf, numeric_equall): New functions.
42940         (main): Check also HUGE_VALF, HUGE_VALL.
42941         * modules/math-tests (Files): Add tests/macros.h.
42942         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
42943         HUGE_VALL.
42945 2012-02-28  Bruno Haible  <bruno@clisp.org>
42947         doc: Move ISO C11 feature notes into POSIX chapters.
42948         * doc/posix-functions/aligned_alloc.texi: Renamed from
42949         doc/glibc-functions/aligned_alloc.texi.
42950         * doc/posix-functions/quick_exit.texi: Renamed from
42951         doc/glibc-functions/quick_exit.texi.
42952         * doc/posix-headers/uchar.texi: Renamed from
42953         doc/glibc-headers/uchar.texi.
42954         * doc/posix-functions/c16rtomb.texi: Renamed from
42955         doc/glibc-functions/c16rtomb.texi.
42956         * doc/posix-functions/c32rtomb.texi: Renamed from
42957         doc/glibc-functions/c32rtomb.texi.
42958         * doc/posix-functions/mbrtoc16.texi: Renamed from
42959         doc/glibc-functions/mbrtoc16.texi.
42960         * doc/posix-functions/mbrtoc32.texi: Renamed from
42961         doc/glibc-functions/mbrtoc32.texi.
42962         * doc/gnulib.texi: Update.
42963         (Glibc uchar.h): Remove section.
42964         Suggested by Eric Blake.
42966 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
42968         stdnoreturn: port to MSVC better
42969         MSVC standard headers use __declspec(noreturn), so #define noreturn
42970         to empty on that platform.  Reported by Bruno Haible in
42971         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
42972         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
42973         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
42975 2012-02-28  Bruno Haible  <bruno@clisp.org>
42977         doc: Mention new glibc headers and functions.
42978         * doc/glibc-headers/uchar.texi: New file.
42979         * doc/glibc-functions/aligned_alloc.texi: New file.
42980         * doc/glibc-functions/c16rtomb.texi: New file.
42981         * doc/glibc-functions/c32rtomb.texi: New file.
42982         * doc/glibc-functions/clock_adjtime.texi: New file.
42983         * doc/glibc-functions/fanotify_init.texi: New file.
42984         * doc/glibc-functions/fanotify_mark.texi: New file.
42985         * doc/glibc-functions/inet6_opt_append.texi: New file.
42986         * doc/glibc-functions/inet6_opt_find.texi: New file.
42987         * doc/glibc-functions/inet6_opt_finish.texi: New file.
42988         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
42989         * doc/glibc-functions/inet6_opt_init.texi: New file.
42990         * doc/glibc-functions/inet6_opt_next.texi: New file.
42991         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
42992         * doc/glibc-functions/inet6_rth_add.texi: New file.
42993         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
42994         * doc/glibc-functions/inet6_rth_init.texi: New file.
42995         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
42996         * doc/glibc-functions/inet6_rth_segments.texi: New file.
42997         * doc/glibc-functions/inet6_rth_space.texi: New file.
42998         * doc/glibc-functions/login.texi: New file.
42999         * doc/glibc-functions/mbrtoc16.texi: New file.
43000         * doc/glibc-functions/mbrtoc32.texi: New file.
43001         * doc/glibc-functions/name_to_handle_at.texi: New file.
43002         * doc/glibc-functions/ntp_gettimex.texi: New file.
43003         * doc/glibc-functions/open_by_handle_at.texi: New file.
43004         * doc/glibc-functions/prlimit.texi: New file.
43005         * doc/glibc-functions/process_vm_readv.texi: New file.
43006         * doc/glibc-functions/process_vm_writev.texi: New file.
43007         * doc/glibc-functions/recvmmsg.texi: New file.
43008         * doc/glibc-functions/scandirat.texi: New file.
43009         * doc/glibc-functions/sendmmsg.texi: New file.
43010         * doc/glibc-functions/setns.texi: New file.
43011         * doc/glibc-functions/timespec_get.texi: New file.
43012         * doc/gnulib.texi: Include them.
43013         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
43014         sections.
43015         Reported by Eric Blake.
43017 2012-02-28  Bruno Haible  <bruno@clisp.org>
43019         Avoid compilation errors with MSVC option -fp:strict.
43020         * lib/floor.c: Use MSVC specific pragma fenv_access.
43021         * lib/ceil.c: Likewise.
43022         * lib/trunc.c: Likewise.
43023         * lib/round.c: Likewise.
43024         * lib/rint.c: Likewise.
43025         * lib/fma.c: Likewise.
43026         * lib/integer_length.c: Likewise.
43027         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
43028         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
43029         * tests/test-floor2.c: Likewise.
43030         * tests/test-floorf2.c: Likewise.
43031         * tests/test-ceil2.c: Likewise.
43032         * tests/test-ceilf2.c: Likewise.
43033         * tests/test-trunc2.c: Likewise.
43034         * tests/test-truncf2.c: Likewise.
43035         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
43037 2012-02-27  Bruno Haible  <bruno@clisp.org>
43039         Tests for module 'sqrtl-ieee'.
43040         * modules/sqrtl-ieee-tests: New file.
43041         * tests/test-sqrtl-ieee.c: New file.
43043         New module 'sqrtl-ieee'.
43044         * modules/sqrtl-ieee: New file.
43046         Tests for module 'sqrt-ieee'.
43047         * modules/sqrt-ieee-tests: New file.
43048         * tests/test-sqrt-ieee.c: New file.
43050         New module 'sqrt-ieee'.
43051         * modules/sqrt-ieee: New file.
43053         Tests for module 'sqrtf-ieee'.
43054         * modules/sqrtf-ieee-tests: New file.
43055         * tests/test-sqrtf-ieee.c: New file.
43056         * tests/test-sqrt-ieee.h: New file.
43058         New module 'sqrtf-ieee'.
43059         * modules/sqrtf-ieee: New file.
43061 2012-02-27  Bruno Haible  <bruno@clisp.org>
43063         remainderl-ieee: Work around test failure on OSF/1.
43064         * m4/remainderl-ieee.m4: New file.
43065         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
43066         present, test whether remainderl works with a zero second argument.
43067         Replace it if not.
43068         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
43069         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
43070         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
43071         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
43072         (Depends-on): Update conditions.
43073         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
43074         (Depends-on): Add remainder-ieee.
43075         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
43076         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
43077         module.
43079         remainderf-ieee: Work around test failure on OSF/1.
43080         * m4/remainderf-ieee.m4: New file.
43081         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
43082         present, test whether remainderf works with a zero second argument.
43083         Replace it if not.
43084         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
43085         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
43086         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
43087         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
43088         (Depends-on): Update conditions.
43089         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
43090         (Depends-on): Add remainder-ieee.
43091         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
43092         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
43093         module.
43095         remainder-ieee: Work around test failure on OSF/1.
43096         * m4/remainder-ieee.m4: New file.
43097         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
43098         present, test whether remainder works with a zero second argument.
43099         Replace it if not.
43100         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
43101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
43102         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
43103         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
43104         (Depends-on): Update dependencies.
43105         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
43106         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
43107         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
43109         Tests for module 'remainderl-ieee'.
43110         * modules/remainderl-ieee-tests: New file.
43111         * tests/test-remainderl-ieee.c: New file.
43113         New module 'remainderl-ieee'.
43114         * modules/remainderl-ieee: New file.
43116         Tests for module 'remainder-ieee'.
43117         * modules/remainder-ieee-tests: New file.
43118         * tests/test-remainder-ieee.c: New file.
43120         New module 'remainder-ieee'.
43121         * modules/remainder-ieee: New file.
43123         Tests for module 'remainderf-ieee'.
43124         * modules/remainderf-ieee-tests: New file.
43125         * tests/test-remainderf-ieee.c: New file.
43126         * tests/test-remainder-ieee.h: New file.
43128         New module 'remainderf-ieee'.
43129         * modules/remainderf-ieee: New file.
43131 2012-02-27  Bruno Haible  <bruno@clisp.org>
43133         modff, modfl: Fix configure syntax error.
43134         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
43135         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
43137 2012-02-27  Bruno Haible  <bruno@clisp.org>
43139         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
43140         * m4/fmodl-ieee.m4: New file.
43141         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
43142         whether fmodl works with zero arguments. Replace it if not.
43143         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
43144         (Depends-on): Add fmod-ieee.
43145         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
43146         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
43148         fmodf-ieee: Work around test failure on OSF/1.
43149         * m4/fmodf-ieee.m4: New file.
43150         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
43151         whether fmodf works with zero arguments. Replace it if not.
43152         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
43153         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
43154         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
43155         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
43156         (Depends-on): Update dependencies.
43157         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
43158         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
43159         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
43161         fmodf-ieee: Work around test failure on MSVC 9.
43162         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
43163         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
43165         fmod-ieee: Work around test failures on OSF/1, mingw.
43166         * m4/fmod-ieee.m4: New file.
43167         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
43168         whether fmod works with zero arguments. Replace it if not.
43169         * lib/math.in.h (fmod): New declaration.
43170         * lib/fmod.c: New file.
43171         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
43172         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
43173         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
43174         * modules/fmod (Files): Add lib/fmod.c.
43175         (Depends-on): Add math, isinf, trunc, fma.
43176         (configure.ac): Arrange to compile lib/fmod.c if needed.
43177         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
43178         m4/signbit.m4.
43179         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
43180         * tests/test-math-c++.cc: Check the declaration of fmod.
43181         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
43183         fmodl-ieee: Fix test failures.
43184         * lib/fmodl.c (fmodl): Treat Inf specially.
43185         * modules/fmodl (Depends-on): Add isinf.
43187         Tests for module 'fmodl-ieee'.
43188         * modules/fmodl-ieee-tests: New file.
43189         * tests/test-fmodl-ieee.c: New file.
43191         New module 'fmodl-ieee'.
43192         * modules/fmodl-ieee: New file.
43194         Tests for module 'fmod-ieee'.
43195         * modules/fmod-ieee-tests: New file.
43196         * tests/test-fmod-ieee.c: New file.
43198         New module 'fmod-ieee'.
43199         * modules/fmod-ieee: New file.
43201         Tests for module 'fmodf-ieee'.
43202         * modules/fmodf-ieee-tests: New file.
43203         * tests/test-fmodf-ieee.c: New file.
43204         * tests/test-fmod-ieee.h: New file.
43206         New module 'fmodf-ieee'.
43207         * modules/fmodf-ieee: New file.
43209 2012-02-27  Bruno Haible  <bruno@clisp.org>
43211         Tests for module 'rintl-ieee'.
43212         * modules/rintl-ieee-tests: New file.
43213         * tests/test-rintl-ieee.c: New file.
43215         New module 'rintl-ieee'.
43216         * modules/rintl-ieee: New file.
43218         Tests for module 'rint-ieee'.
43219         * modules/rint-ieee-tests: New file.
43220         * tests/test-rint-ieee.c: New file.
43222         New module 'rint-ieee'.
43223         * modules/rint-ieee: New file.
43225         Tests for module 'rintf-ieee'.
43226         * modules/rintf-ieee-tests: New file.
43227         * tests/test-rintf-ieee.c: New file.
43228         * tests/test-rint-ieee.h: New file.
43230         New module 'rintf-ieee'.
43231         * modules/rintf-ieee: New file.
43233 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
43235         regex: re_search etc. should return -2 when memory exhausted
43236         This bug was uncovered when testing 'grep'.  Without the fix,
43237         re_search and friends return -1 when memory is exhausted, but -1
43238         means no match, and this causes grep to falsely report no-match
43239         instead of memory-exhaustion.  See
43240         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
43241         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
43242         trouble; this can occur if re_search_internal ran out of memory.
43244 2012-02-26  Bruno Haible  <bruno@clisp.org>
43246         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
43247         * m4/modfl-ieee.m4: New file.
43248         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
43249         whether modfl works with Inf. Replace it if not.
43250         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
43251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
43252         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
43253         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
43254         (Depends-on): Update dependencies.
43255         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
43256         m4/signbit.m4.
43257         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
43258         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
43260         modfl-ieee: Fix dependencies.
43261         * modules/modfl-ieee (Depends-on): Add modf-ieee.
43263         modfl-ieee: Fix test failures.
43264         * lib/modfl.c (modfl): Treat NaN and Inf specially.
43265         * modules/modfl (Depends-on): Add isfinite, isinf.
43267         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
43268         * m4/modff-ieee.m4: New file.
43269         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
43270         whether modff works with NaN and Inf. Replace it if not.
43271         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
43272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
43273         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
43274         * modules/modff (configure.ac): Consider REPLACE_MODFF.
43275         (Depends-on): Update dependencies.
43276         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
43277         m4/signbit.m4.
43278         (Depends-on): Add modf-ieee.
43279         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
43280         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
43282         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
43283         * m4/modf-ieee.m4: New file.
43284         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
43285         whether modf works with NaN and Inf. Replace it if not.
43286         * lib/math.in.h (modf): New declaration.
43287         * lib/modf.c: New file.
43288         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
43289         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
43290         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
43291         * modules/modf (Files): Add lib/modf.c.
43292         (Depends-on): Add math, isfinite, trunc, isinf.
43293         (configure.ac): Addrange to compile lib/modf.c if needed.
43294         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
43295         m4/signbit.m4.
43296         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
43297         * tests/test-math-c++.cc: Check the declaration of modf.
43298         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
43300         Tests for module 'modfl-ieee'.
43301         * modules/modfl-ieee-tests: New file.
43302         * tests/test-modfl-ieee.c: New file.
43304         New module 'modfl-ieee'.
43305         * modules/modfl-ieee: New file.
43307         Tests for module 'modf-ieee'.
43308         * modules/modf-ieee-tests: New file.
43309         * tests/test-modf-ieee.c: New file.
43311         New module 'modf-ieee'.
43312         * modules/modf-ieee: New file.
43314         Tests for module 'modff-ieee'.
43315         * modules/modff-ieee-tests: New file.
43316         * tests/test-modff-ieee.c: New file.
43317         * tests/test-modf-ieee.h: New file.
43319         New module 'modff-ieee'.
43320         * modules/modff-ieee: New file.
43322 2012-02-26  Bruno Haible  <bruno@clisp.org>
43324         Tests for module 'fabsl-ieee'.
43325         * modules/fabsl-ieee-tests: New file.
43326         * tests/test-fabsl-ieee.c: New file.
43328         New module 'fabsl-ieee'.
43329         * modules/fabsl-ieee: New file.
43331         Tests for module 'fabs-ieee'.
43332         * modules/fabs-ieee-tests: New file.
43333         * tests/test-fabs-ieee.c: New file.
43335         New module 'fabs-ieee'.
43336         * modules/fabs-ieee: New file.
43338         Tests for module 'fabsf-ieee'.
43339         * modules/fabsf-ieee-tests: New file.
43340         * tests/test-fabsf-ieee.c: New file.
43341         * tests/test-fabs-ieee.h: New file.
43343         New module 'fabsf-ieee'.
43344         * modules/fabsf-ieee: New file.
43346 2012-02-26  Bruno Haible  <bruno@clisp.org>
43348         Tests for module 'fmal-ieee'.
43349         * modules/fmal-ieee-tests: New file.
43350         * tests/test-fmal-ieee.c: New file.
43352         New module 'fmal-ieee'.
43353         * modules/fmal-ieee: New file.
43355         Tests for module 'fma-ieee'.
43356         * modules/fma-ieee-tests: New file.
43357         * tests/test-fma-ieee.c: New file.
43359         New module 'fma-ieee'.
43360         * modules/fma-ieee: New file.
43362         Tests for module 'fmaf-ieee'.
43363         * modules/fmaf-ieee-tests: New file.
43364         * tests/test-fmaf-ieee.c: New file.
43365         * tests/test-fma-ieee.h: New file.
43367         New module 'fmaf-ieee'.
43368         * modules/fmaf-ieee: New file.
43370 2012-02-26  Bruno Haible  <bruno@clisp.org>
43372         Tests for module 'ldexpl-ieee'.
43373         * modules/ldexpl-ieee-tests: New file.
43374         * tests/test-ldexpl-ieee.c: New file.
43376         New module 'ldexpl-ieee'.
43377         * modules/ldexpl-ieee: New file.
43379         Tests for module 'ldexp-ieee'.
43380         * modules/ldexp-ieee-tests: New file.
43381         * tests/test-ldexp-ieee.c: New file.
43383         New module 'ldexp-ieee'.
43384         * modules/ldexp-ieee: New file.
43386         Tests for module 'ldexpf-ieee'.
43387         * modules/ldexpf-ieee-tests: New file.
43388         * tests/test-ldexpf-ieee.c: New file.
43389         * tests/test-ldexp-ieee.h: New file.
43391         New module 'ldexpf-ieee'.
43392         * modules/ldexpf-ieee: New file.
43394 2012-02-26  Bruno Haible  <bruno@clisp.org>
43396         Refactor frexp*-ieee tests.
43397         * tests/test-frexp-ieee.h: New file.
43398         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
43399         (main): Just call test_function.
43400         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
43401         (main): Just call test_function.
43402         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
43403         (main): Just call test_function.
43404         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
43405         * modules/frexp-ieee-tests (Files): Likewise.
43406         * modules/frexpl-ieee-tests (Files): Likewise.
43408         Tests for module 'frexpl-ieee'.
43409         * modules/frexpl-ieee-tests: New file.
43410         * tests/test-frexpl-ieee.c: New file.
43412         New module 'frexpl-ieee'.
43413         * modules/frexpl-ieee: New file.
43415         Tests for module 'frexp-ieee'.
43416         * modules/frexp-ieee-tests: New file.
43417         * tests/test-frexp-ieee.c: New file.
43419         New module 'frexp-ieee'.
43420         * modules/frexp-ieee: New file.
43422         Tests for module 'frexpf-ieee'.
43423         * modules/frexpf-ieee-tests: New file.
43424         * tests/test-frexpf-ieee.c: New file.
43426         New module 'frexpf-ieee'.
43427         * modules/frexpf-ieee: New file.
43429 2012-02-26  Bruno Haible  <bruno@clisp.org>
43431         roundl-ieee tests: More tests.
43432         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43433         (main): Add tests for [MX] shaded specification in POSIX.
43434         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43435         (Depends-on): Add isnanl-nolibm.
43437         round-ieee tests: More tests.
43438         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43439         (main): Add tests for [MX] shaded specification in POSIX.
43440         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43441         (Depends-on): Add isnand-nolibm.
43443         roundf-ieee tests: More tests.
43444         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43445         (main): Add tests for [MX] shaded specification in POSIX.
43446         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43447         (Depends-on): Add isnanf-nolibm.
43449         truncl-ieee tests: More tests.
43450         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43451         (main): Add tests for [MX] shaded specification in POSIX.
43452         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43453         (Depends-on): Add isnanl-nolibm.
43455         trunc-ieee tests: More tests.
43456         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43457         (main): Add tests for [MX] shaded specification in POSIX.
43458         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43459         (Depends-on): Add isnand-nolibm.
43461         truncf-ieee tests: More tests.
43462         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43463         (main): Add tests for [MX] shaded specification in POSIX.
43464         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43465         (Depends-on): Add isnanf-nolibm.
43467         ceill-ieee tests: More tests.
43468         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43469         (main): Add tests for [MX] shaded specification in POSIX.
43470         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43471         (Depends-on): Add isnanl-nolibm.
43473         ceil-ieee tests: More tests.
43474         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43475         (main): Add tests for [MX] shaded specification in POSIX.
43476         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43477         (Depends-on): Add isnand-nolibm.
43479         ceilf-ieee tests: More tests.
43480         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43481         (main): Add tests for [MX] shaded specification in POSIX.
43482         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43483         (Depends-on): Add isnanf-nolibm.
43485         floorl-ieee tests: More tests.
43486         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43487         (main): Add tests for [MX] shaded specification in POSIX.
43488         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43489         (Depends-on): Add isnanl-nolibm.
43491         floor-ieee tests: More tests.
43492         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43493         (main): Add tests for [MX] shaded specification in POSIX.
43494         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43495         (Depends-on): Add isnand-nolibm.
43497         floorf-ieee tests: More tests.
43498         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43499         (main): Add tests for [MX] shaded specification in POSIX.
43500         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43501         (Depends-on): Add isnanf-nolibm.
43503 2012-02-26  Bruno Haible  <bruno@clisp.org>
43505         fpieee: More comments.
43506         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
43508 2012-02-25  Bruno Haible  <bruno@clisp.org>
43510         Tests for module 'log10l'.
43511         * modules/log10l-tests: New file.
43512         * tests/test-log10l.c: New file.
43513         * tests/test-math-c++.cc: Check the declaration of log10l.
43515         New module 'log10l'.
43516         * lib/math.in.h (log10l): New declaration.
43517         * lib/log10l.c: New file.
43518         * m4/log10l.m4: New file.
43519         * modules/log10l: New file.
43520         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
43521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
43522         HAVE_DECL_LOG10L.
43523         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
43524         HAVE_DECL_LOG10L.
43525         * doc/posix-functions/log10l.texi: Mention the new module.
43527 2012-02-25  Bruno Haible  <bruno@clisp.org>
43529         fmodl, remainder*: Avoid wrong results due to rounding errors.
43530         * lib/fmodl.c (fmodl): Correct the result if it is not within the
43531         expected bounds.
43532         * lib/remainderf.c (remainderf): Likewise.
43533         * lib/remainder.c (remainder): Likewise.
43534         * lib/remainderl.c (remainderl): Likewise.
43536 2012-02-25  Bruno Haible  <bruno@clisp.org>
43538         Tests for module 'remainderl'.
43539         * modules/remainderl-tests: New file.
43540         * tests/test-remainderl.c: New file.
43541         * tests/test-math-c++.cc: Check the declaration of remainderl.
43543         New module 'remainderl'.
43544         * lib/math.in.h (remainderl): New declaration.
43545         * lib/remainderl.c: New file.
43546         * m4/remainderl.m4: New file.
43547         * modules/remainderl: New file.
43548         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
43549         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
43550         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
43551         HAVE_REMAINDERL.
43552         * doc/posix-functions/remainderl.texi: Mention the new module.
43554 2012-02-25  Bruno Haible  <bruno@clisp.org>
43556         Tests for module 'remainderf'.
43557         * modules/remainderf-tests: New file.
43558         * tests/test-remainderf.c: New file.
43559         * tests/test-math-c++.cc: Check the declaration of remainderf.
43561         New module 'remainderf'.
43562         * lib/math.in.h (remainderf): New declaration.
43563         * lib/remainderf.c: New file.
43564         * m4/remainderf.m4: New file.
43565         * modules/remainderf: New file.
43566         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
43567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
43568         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
43569         HAVE_REMAINDERF.
43570         * doc/posix-functions/remainderf.texi: Mention the new module.
43572 2012-02-25  Bruno Haible  <bruno@clisp.org>
43574         remainder: Support for MSVC.
43575         * lib/math.in.h (remainder): New declaration.
43576         * lib/remainder.c: New file.
43577         * m4/remainder.m4: New file.
43578         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
43579         (Depends-on): Add math, round, fma.
43580         (configure.ac): Use results of gl_FUNC_REMAINDER.
43581         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
43582         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
43583         HAVE_DECL_REMAINDER.
43584         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
43585         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
43586         * tests/test-math-c++.cc: Check the declaration of remainder.
43587         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
43588         problems are fixed.
43590 2012-02-25  Bruno Haible  <bruno@clisp.org>
43592         Tests for module 'fmodl'.
43593         * modules/fmodl-tests: New file.
43594         * tests/test-fmodl.c: New file.
43595         * tests/test-math-c++.cc: Check the declaration of fmodl.
43597         New module 'fmodl'.
43598         * lib/math.in.h (fmodl): New declaration.
43599         * lib/fmodl.c: New file.
43600         * m4/fmodl.m4: New file.
43601         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
43602         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
43603         REPLACE_FMODL.
43604         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
43605         REPLACE_FMODL.
43606         * modules/fmodl: New file.
43607         * doc/posix-functions/fmodl.texi: Mention the new module.
43609 2012-02-25  Bruno Haible  <bruno@clisp.org>
43611         Tests for module 'modfl'.
43612         * modules/modfl-tests: New file.
43613         * tests/test-modfl.c: New file.
43614         * tests/test-math-c++.cc: Check the declaration of modfl.
43616         New module 'modfl'.
43617         * lib/math.in.h (modfl): New declaration.
43618         * lib/modfl.c: New file.
43619         * m4/modfl.m4: New file.
43620         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
43621         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
43622         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
43623         * modules/modfl: New file.
43624         * doc/posix-functions/modfl.texi: Mention the new module.
43626 2012-02-25  Bruno Haible  <bruno@clisp.org>
43628         Tests for module 'fabsl'.
43629         * modules/fabsl-tests: New file.
43630         * tests/test-fabsl.c: New file.
43631         * tests/test-math-c++.cc: Check the declaration of fabsl.
43633         New module 'fabsl'.
43634         * lib/math.in.h (fabsl): New declaration.
43635         * lib/fabsl.c: New file.
43636         * m4/fabsl.m4: New file.
43637         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
43638         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
43639         REPLACE_FABSL.
43640         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
43641         REPLACE_FABSL.
43642         * modules/fabsl: New file.
43643         * doc/posix-functions/fabsl.texi: Mention the new module.
43645 2012-02-25  Bruno Haible  <bruno@clisp.org>
43647         fabs tests: More tests.
43648         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
43649         (zero): New variable.
43650         (main): Add tests for signed zero.
43651         * modules/fabs-tests (Files): Add tests/minus-zero.h.
43653         fabsf tests: More tests.
43654         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
43655         (zero): New variable.
43656         (main): Add tests for signed zero.
43657         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
43659 2012-02-24  Bruno Haible  <bruno@clisp.org>
43661         atanl: Provide function definition on MSVC.
43662         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
43663         function pointer.
43664         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
43666 2012-02-24  Bruno Haible  <bruno@clisp.org>
43668         acosl: Provide function definition on MSVC.
43669         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
43670         function pointer.
43671         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
43673 2012-02-24  Bruno Haible  <bruno@clisp.org>
43675         asinl: Provide function definition on MSVC.
43676         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
43677         function pointer.
43678         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
43680 2012-02-24  Bruno Haible  <bruno@clisp.org>
43682         tanl: Provide function definition on MSVC.
43683         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
43684         function pointer.
43685         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
43687 2012-02-24  Bruno Haible  <bruno@clisp.org>
43689         cosl: Provide function definition on MSVC.
43690         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
43691         function pointer.
43692         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
43694 2012-02-24  Bruno Haible  <bruno@clisp.org>
43696         sinl: Provide function definition on MSVC.
43697         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
43698         function pointer.
43699         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
43701 2012-02-24  Bruno Haible  <bruno@clisp.org>
43703         logl: Provide function definition on MSVC.
43704         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
43705         function pointer.
43706         * lib/math.in.h (logl): Undefine if it does not exist as a function.
43708 2012-02-24  Bruno Haible  <bruno@clisp.org>
43710         expl: Provide function definition on MSVC.
43711         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
43712         function pointer.
43713         * lib/math.in.h (expl): Undefine if it does not exist as a function.
43715 2012-02-24  Bruno Haible  <bruno@clisp.org>
43717         sqrtl: Provide function definition on MSVC.
43718         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
43719         a function pointer.
43720         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
43722 2012-02-24  Bruno Haible  <bruno@clisp.org>
43724         ceill: Provide function definition on MSVC.
43725         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
43726         used as a function pointer.
43727         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
43729 2012-02-24  Bruno Haible  <bruno@clisp.org>
43731         floorl: Provide function definition on MSVC.
43732         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
43733         used as a function pointer.
43734         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
43736 2012-02-24  Bruno Haible  <bruno@clisp.org>
43738         ceilf: Provide function definition on MSVC.
43739         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
43740         used as a function pointer.
43741         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
43743 2012-02-24  Bruno Haible  <bruno@clisp.org>
43745         floorf: Provide function definition on MSVC.
43746         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
43747         used as a function pointer.
43748         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
43750 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43752         stdnoreturn: new module
43753         This implements a replacement for C11's <stdnoreturn.h>.
43754         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
43755         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
43756         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
43757         * tests/test-stdnoreturn.c: New files.
43759 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
43761         regex: fix false multibyte matches in some regular expressions
43762         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
43763         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
43764         * lib/regex_internal.c (re_string_skip_chars):
43765         Fix miscomputation of remain_len that may cause incomplete
43766         multi-byte character and false match.
43768 2012-02-24  Jim Meyering  <meyering@redhat.com>
43770         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
43771         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
43772         uses with "==" *before* the call, e.g., 0 == strcmp (...)
43773         Remove now-unnecessary str''cmp obfuscation.
43774         Suggested by Akim Demaille.
43776 2012-02-24  Bruno Haible  <bruno@clisp.org>
43778         streq: Rename macro.
43779         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
43780         * NEWS: Mention the change.
43781         * lib/mbrtowc.c (mbrtowc): Update.
43782         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
43783         * lib/wcwidth.c (wcwidth): Update.
43784         Suggested by Akim Demaille and Jim Meyering.
43786 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43788         regex: fix typo in definition of MIN
43789         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
43790         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
43792 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43793             Bruno Haible  <bruno@clisp.org>
43795         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
43796         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
43797         entries into a stack-allocated buffer directly.
43798         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
43800 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43801             Bruno Haible  <bruno@clisp.org>
43803         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
43805          - There were several instances of this pattern:
43807              for (;;) {
43808                n = acl (f, GETACLCNT, 0, NULL);
43809                [ allocate an array A of size N ]
43810                if (acl (f, GETACL, n, a) == n)
43811                  break;
43812              }
43814            This loop might never terminate if some other process is constantly
43815            manipulating the file's ACL.  The loop should be rewritten to
43816            terminate.
43818          - The acl (... GETACLNT ...) call is merely an optimization; its value
43819            is merely a hint as to how big to make the array.  A better
43820            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
43821            and just guess a reasonably-big size, growing the size and trying
43822            again if it's not large enough.  This guarantees termination, and
43823            saves a system call.
43825         * lib/acl-internal.h: Include <limits.h>.
43826         (MIN, SIZE_MAX): New macros.
43827         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
43828         a stack-allocated buffer, and use malloc if it does not fit. Don't
43829         use GETACLCNT.
43830         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43832 2012-02-19  Bruno Haible  <bruno@clisp.org>
43834         acl: Fix endless loop on Solaris with vxfs.
43835         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
43836         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
43837         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43838         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
43839         * tests/test-sameacls.c (main)[Solaris]: Likewise.
43840         Reported by Bill Jones in
43841         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
43843 2012-02-19  Bruno Haible  <bruno@clisp.org>
43845         acl: Fix copy-acl test failure on Solaris 11.0.
43846         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
43847         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
43848         that this function returns 0 in some more cases.
43850 2012-02-19  Bruno Haible  <bruno@clisp.org>
43852         acl: Update doc references.
43853         * doc/acl-resources.txt: Update links to Solaris documentation.
43855 2012-02-19  Bruno Haible  <bruno@clisp.org>
43857         Fix test failure in many locales on Solaris 11.
43858         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
43859         'tr' arguments.
43860         * tests/test-pipe-filter-ii1.c (main): Likewise.
43861         * build-aux/bootstrap (check_versions): Run 'tr' command with range
43862         expressions in the C locale.
43863         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
43864         * m4/host-os.m4 (gl_HOST_OS): Likewise.
43866 2012-02-19  Bruno Haible  <bruno@clisp.org>
43868         gnulib-tool: Improve usage message.
43869         * gnulib-tool (func_usage): Move doc of --help and --version to the
43870         section "Operation modes".
43872 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
43874         README-release: make it easier to execute commands
43875         * top/README-release: break commands out on to separate lines.
43877 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
43879         GNUmakefile: simplify detection of unconfigured trees
43880         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
43881         whether the tree make is being run from is already configured or
43882         not.  Related simplifications.
43884 2012-02-13  Simon Josefsson  <simon@josefsson.org>
43886         * gnulib-tool (func_usage): Document --help and --version.
43888 2012-02-11  Jim Meyering  <meyering@redhat.com>
43890         bootstrap: don't exit 0 upon gnulib-tool failure
43891         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
43892         its exit status, not 0.
43894 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
43896         README-release: various improvements
43897         * top/README-release: Give a command to push changes for the
43898         release.  Add "distcheck" to list of other pre-release checks.
43899         Fix instance of "make stable" which should be "make TYPE".
43901 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
43903         maint: replace FSF snail-mail addresses with URLs
43904         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
43905         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
43906         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
43907         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
43908         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
43909         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
43910         * lib/check-version.c, lib/check-version.h, lib/config.charset:
43911         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
43912         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
43913         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
43914         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
43915         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
43916         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
43917         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
43918         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
43919         * lib/glthread/thread.c, lib/glthread/thread.h:
43920         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
43921         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
43922         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
43923         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
43924         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
43925         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
43926         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
43927         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
43928         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
43929         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
43930         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
43931         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
43932         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
43933         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
43934         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
43935         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
43936         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
43937         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
43938         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
43939         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
43940         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
43941         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
43942         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
43943         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
43944         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
43945         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
43946         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
43947         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
43948         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
43949         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
43950         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
43951         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
43952         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
43953         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
43954         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
43955         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
43956         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
43957         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
43958         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
43959         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
43960         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
43961         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
43962         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
43963         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
43964         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
43965         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
43966         * tests/test-poll.c, tests/test-quotearg-simple.c:
43967         * tests/test-quotearg.c, tests/test-quotearg.h:
43968         * tests/test-round-ieee.c, tests/test-round1.c:
43969         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
43970         * tests/test-roundl-ieee.c, tests/test-roundl.c:
43971         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
43972         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
43973         * tests/test-strerror.c, tests/test-strerror_r.c:
43974         * tests/test-strsignal.c, tests/test-strverscmp.c:
43975         * tests/test-xmemdup0.c:
43976         Replace FSF snail mail addresses with URLs, as per GNU coding
43977         standards.  See glibc bug
43978         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
43980 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
43982         README-release: capitalize a word and split a line
43983         * top/README-release: Fix punctuation and spacing.
43985 2012-02-08  Akim Demaille  <demaille@gostai.com>
43987         fatal-signal: use C prototypes (with explicit void).
43988         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43989         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
43991 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43993         regex: spelling fix
43994         * lib/regexec.c: spelling fix
43996         regex: rely on stdint.h for SIZE_MAX
43997         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
43999 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
44001         regex: merge glibc changes
44003         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
44004         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
44005         (init_word_char): Work even if bitset words are not exactly 32 or
44006         64 bits wide.  Don't assume there are no padding bits.
44007         * lib/regex.c [_LIBC]: Do not include <config.h>.
44008         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
44009         and -Wtype-limits.
44010         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
44011         needless disagreement with glibc.  All uses changed.  Define it to
44012         1 only if _GNU_SOURCE, to match glibc.
44013         (_REG_RM_NAME): Remove; no longer needed, since the names in
44014         question are now all protected by __USE_GNU.
44015         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
44016         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
44017         * lib/regex_internal.h (MIN): New macro.
44019         2012-01-03 Ulrich Drepper <drepper@gmail.com>
44020         * lib/regcomp.c (init_word_char): Optimize regex a bit.
44022         2011-12-30 Jakub Jelinek <jakub@redhat.com>
44023         * lib/regex_internal.c (re_string_fetch_byte_case):
44024         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
44025         is miscompiled, and it turns out it is because of an incorrect
44026         attribute on re_string_fetch_byte_case.  Unlike
44027         re_string_peek_byte_case, this one is really not pure, it modifies
44028         memory (increments pstr->cur_idx), and with the pure attribute GCC
44029         assumed it doesn't and it cached the presumed value of
44030         regexp->cur_idx in a variable across the
44031          for (;; ++i)
44032            {
44033              if (i >= BRACKET_NAME_BUF_SIZE)
44034                return REG_EBRACK;
44035              if (token->type == OP_OPEN_CHAR_CLASS)
44036                ch = re_string_fetch_byte_case (regexp);
44037              else
44038                ch = re_string_fetch_byte (regexp);
44039              if (re_string_eoi(regexp))
44040                return REG_EBRACK;
44041              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
44042                break;
44043              elem->opr.name[i] = ch;
44044            }
44046         2011-11-29 Andreas Schwab <schwab@redhat.com>
44047         * lib/regcomp.c (build_equiv_class):
44048         Fix access after end of search string in regex matcher.
44050         2011-11-12 Ulrich Drepper <drepper@redhat.com>
44051         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
44053         2011-10-12 Ulrich Drepper <drepper@redhat.com>
44054         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
44056         2011-10-11 Ulrich Drepper <drepper@redhat.com>
44057         * lib/regcomp.c (parse_branch, parse_sub_exp):
44058         More regex memory leak fixes and tests.
44059         (parse_sub_exp, parse_bracket_exp):
44060         Fix memory leak for some invalid regular expressions.
44062         2011-05-28 Ulrich Drepper <drepper@gmail.com>
44063         * lib/regex_internal.c, lib/regexec.c:
44064         Fix unnecessary overallocation due to incomplete character.  When
44065         incomplete characters are found at the end of a string the code
44066         ran amok and allocated lots of memory.  Stricter limits are now in
44067         place.
44069         2011-05-20 Reuben Thomas <rrt@sc3d.org>
44070         * lib/regex.h: Update documentation.
44072         2011-05-16 Aharon Robbins <arnold@skeeve.com>
44073         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
44075         2010-05-05 Andreas Schwab <schwab@redhat.com>
44076         * lib/regexec.c (find_collation_sequence_value):
44077         Fix lookup of collation sequence value during regexp matching.
44079         2010-01-22 Ulrich Drepper <drepper@redhat.com>
44080         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
44082         2008-01-16 Ulrich Drepper <drepper@redhat.com>
44083         * lib/regex.h: Cleanup namespace.
44085         2007-11-26 Ulrich Drepper <drepper@redhat.com>
44086         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
44088         2007-08-26 Ulrich Drepper <drepper@redhat.com>
44089         * lib/regex_internal.h: Prevent some declarations and definitions
44090         to be seen when used in tests.
44092         2005-05-06 Ulrich Drepper <drepper@redhat.com>
44093         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
44094         __libc_lock_* macros if not _LIBC.
44095         (struct re_dfa_t): Add lock.
44097 2012-02-07  Eric Blake  <eblake@redhat.com>
44099         maint.mk: also prohibit lower-case @var@
44100         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
44101         lower case, like @top_srcdir@.
44103 2012-02-04  Eric Blake  <eblake@redhat.com>
44105         canonicalize: avoid uninitialized memory use
44106         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
44107         random '/' left in dest.
44108         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
44110 2012-02-04  Bruno Haible  <bruno@clisp.org>
44112         isatty: Fix test failure of ptsname_r on native Windows.
44113         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
44114         and don't set errno.
44115         (isatty): Test first whether fd is valid. Set errno when returning 0.
44117 2012-02-04  Bruno Haible  <bruno@clisp.org>
44119         spawn-pipe tests: Fix a NULL program name in a diagnostic.
44120         * tests/test-spawn-pipe-main.c: Include progname.h.
44121         (main): Invoke set_program_name.
44122         * modules/spawn-pipe-tests (Depends-on): Add progname.
44124         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
44125         * tests/test-nonblocking-socket-main.c: Include progname.h.
44126         (main): Invoke set_program_name.
44127         * modules/nonblocking-socket-tests (Depends-on): Add progname.
44129         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
44130         * tests/test-nonblocking-pipe-main.c: Include progname.h.
44131         (main): Invoke set_program_name.
44132         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
44134 2012-02-04  Eric Blake  <eblake@redhat.com>
44136         canonicalize-lgpl: fix // handling
44137         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
44139         canonicalize: fix // handling
44140         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
44141         /// to //, since only // is special.
44143 2012-02-04  Bruno Haible  <bruno@clisp.org>
44145         ioctl: Fix test failure on native Windows.
44146         * lib/ioctl.c: Include msvc-nothrow.h.
44147         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
44149 2012-02-04  Bruno Haible  <bruno@clisp.org>
44151         fsync: Avoid test failure on native Windows.
44152         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
44153         read-only.
44155 2012-02-04  Bruno Haible  <bruno@clisp.org>
44157         sys_select: Avoid syntax error on OpenBSD 5.0.
44158         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
44159         currently being included, just include the system's <sys/select.h>.
44161 2012-02-04  Bruno Haible  <bruno@clisp.org>
44163         sys_select: Avoid syntax error on OpenBSD 5.0.
44164         * lib/sys_select.in.h: Include <signal.h> only after the include_next
44165         <sys/select.h>, not before.
44166         Reported by Jiri B <jirib@devio.us>.
44168 2012-02-04  Bruno Haible  <bruno@clisp.org>
44170         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
44171         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
44172         global variables.
44173         * tests/test-get-rusage-data.c (main): Likewise.
44174         Reported by Jim Meyering.
44176 2012-02-04  Bruno Haible  <bruno@clisp.org>
44178         stdioext: Fix last commit.
44179         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
44181 2012-02-03  Bruno Haible  <bruno@clisp.org>
44183         stdioext: Add tentative support for Plan9.
44184         * lib/stdio-impl.h: Include <errno.h>.
44185         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
44186         * lib/freadable.c (freadable): Likewise.
44187         * lib/fwritable.c (fwritable): Likewise.
44188         * lib/fbufmode.c (fbufmode): Likewise.
44189         * lib/freading.c (freading): Likewise.
44190         * lib/fwriting.c (fwriting): Likewise.
44191         * lib/freadptr.c (freadptr): Likewise.
44192         * lib/freadseek.c (freadptrinc): Likewise.
44193         * lib/freadahead.c (freadahead): Likewise.
44194         * lib/fpurge.c (fpurge): Likewise.
44195         * lib/fseeko.c (rpl_fseeko): Likewise.
44196         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
44197         Reported by Jens Staal <staal1978@gmail.com>.
44199 2012-02-02  Jim Meyering  <meyering@redhat.com>
44201         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
44202         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
44203         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
44204         not even to try to add the attribute.  Instead, add a pragma to suppress
44205         the suggestion/warning.
44207 2012-01-31  Karl Berry  <karl@gnu.org>
44209         setstate doc: typo.
44210         * doc/posix-functions/setstate.texi (setstate): { not (.
44212 2012-01-31  Bruno Haible  <bruno@clisp.org>
44214         popen: Make more robust on Windows.
44215         * lib/popen.c: On native Windows, use the _popen based code even if
44216         HAVE_POPEN is set.
44217         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
44218         environment variable on native Windows.
44220 2012-01-30  Bruno Haible  <bruno@clisp.org>
44222         pclose: Fix typo.
44223         * lib/stdio.in.h (pclose): Fix typo in warning message.
44225 2012-01-30  Bruno Haible  <bruno@clisp.org>
44227         doc about getlogin_r, setstate.
44228         * doc/posix-functions/getlogin_r.texi: List the incompatible
44229         declaration problem under "not fixed by gnulib".
44230         * doc/posix-functions/setstate.texi: Mention incompatible declaration
44231         problem on Solaris 11 and other platforms.
44233 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
44234             Bruno Haible  <bruno@clisp.org>
44236         poll tests: Make test more robust.
44237         * tests/test-poll.c: Include macros.h.
44238         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
44239         return value of various I/O operations.
44240         * modules/poll-tests (Files): Add tests/macros.h.
44242 2012-01-30  Bruno Haible  <bruno@clisp.org>
44244         sys_stat: Fix support for mingw64 and MSVC.
44245         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
44246         header files already do it.
44247         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
44248         stat itself.
44249         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
44251 2012-01-30  Bruno Haible  <bruno@clisp.org>
44253         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
44254         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
44255         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
44257 2012-01-29  Bruno Haible  <bruno@clisp.org>
44259         quotearg: Fix test failure on MacOS X 10.5.
44260         * tests/test-quotearg-simple.c: Include localcharset.h.
44261         (main): If the locale encoding is not ASCII, bypass the tests of
44262         locale_quoting_style and clocale_quoting_style.
44263         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
44265 2012-01-29  Jim Meyering  <meyering@redhat.com>
44267         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
44268         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
44269         detect uses of canonicalize_file_name.
44271 2012-01-28  Bruno Haible  <bruno@clisp.org>
44273         test-framework-sh: Fix test failure with AIX 7.1 diff.
44274         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
44275         in column 1, like 'diff -c' does.
44276         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
44277         whether 'diff -u' is used. Instead, test whether the output contains
44278         some '@' character.
44280 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
44282         strtoimax: eliminate need for stdint.h, inttypes.h checks
44283         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
44284         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
44285         the prerequisites for a recently-introduced strtoimax test.
44286         I guess this might cause strtoimax to be replaced when not
44287         strictly necessary on older hosts, but this shouldn't introduce
44288         any bugs and it should make Emacs 'configure' faster on typical
44289         modern hosts.  Problem discovered when importing the latest gnulib
44290         to an Emacs test version.
44291         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
44293 2012-01-28  Bruno Haible  <bruno@clisp.org>
44295         sys_time: Override 'struct timeval' on some native Windows platforms.
44296         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
44297         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
44298         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
44299         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
44300         needs to be overridden.
44301         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
44302         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
44303         * tests/test-sys_select.c: Check that the tv_sec member has the same
44304         size as a 'time_t'.
44305         * tests/test-sys_time.c: Likewise.
44306         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
44307         is set, set also REPLACE_GETTIMEOFDAY.
44308         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
44309         convert the resulting 'struct timeval' before returning.
44310         * lib/select.c: Include <sys/time.h>.
44311         (select, timeval): Undefine at the right place.
44312         * modules/select (Depends-on): Add sys_time.
44313         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
44314         some Windows platforms.
44315         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
44317 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44319         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
44320         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
44321         an integer.
44322         * lib/fcntl.c (dupfd): Likewise.
44323         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
44325 2012-01-28  Bruno Haible  <bruno@clisp.org>
44327         fcntl: Avoid compilation error on native Windows.
44328         * modules/fcntl (Depends-on): Add 'close'.
44330 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44332         select, poll, isatty: Avoid warnings on x86_64 mingw64.
44333         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
44334         pointer to an integer.
44335         * lib/poll.c (IsConsoleHandle): Likewise.
44336         * lib/isatty.c (IsConsoleHandle): Likewise.
44338 2012-01-28  Jim Meyering  <meyering@redhat.com>
44340         doc: clarify README-release
44341         * top/README-release: Clarify: you should make a point to have
44342         the latest stable versions of build tools in your PATH, and the
44343         reference to buildreq is solely for its list of tool names, not
44344         for its minimal-functional version numbers.
44345         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
44347         maint.mk: use more readable (yet functionally equivalent) quoting
44348         It is common to quote a single quote in a single quoted string like
44349         this:  '...'\''...'.  Unless you know the idiom, that looks like
44350         gibberish, so prefer to double-quote the string when possible.
44351         Then you can use a more readable, lone single quote: "...'..."
44352         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
44353         "don't" is more readable than the equivalent 'don'\''t'.
44354         (sc_cast_of_x_alloc_return_value): Likewise.
44355         (sc_cast_of_alloca_return_value): Likewise.
44356         (sc_makefile_path_separator_check): Similar: use ":" in '...',
44357         rather than '\'':'\''.
44359 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44361         stdalign: relax _Alignof and tighten _Alignas test
44362         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
44363         as it was too strict: alignof must divide offsetof, but it need
44364         not equal offsetof.  Inspired by Joseph S. Myers's comment
44365         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
44366         Conversely, tighten the _Alignas test a bit, as the resulting
44367         alignment must be exactly 8.
44369 2012-01-27  Bruno Haible  <bruno@clisp.org>
44371         stdalign: Document the last change.
44372         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
44374 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44376         stdalign: check that alignof and offsetof are consistent
44377         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
44378         Problem reported for gnulib by Richard W.M. Jones in
44379         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
44381 2012-01-27  Jim Meyering  <meyering@redhat.com>
44383         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
44384         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
44385         convert a sequence with gaps to the minimal containing range.
44386         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
44387         * tests/test-update-copyright.sh: Test for this.
44388         The FSF confirmed it is ok to do this, assuming there is at
44389         least one significant change per year in the affected range:
44390         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
44392 2012-01-26  Bruno Haible  <bruno@clisp.org>
44394         pipe2: refine doc about thread-safety
44395         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
44396         multithread-safety problem.
44397         * doc/glibc-functions/accept4.texi: Likewise.
44399 2012-01-26  Bruno Haible  <bruno@clisp.org>
44401         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
44402         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
44403         In the test program, include <fcntl.h>, for O_RDONLY.
44405 2012-01-26  Eric Blake  <eblake@redhat.com>
44407         pipe2: document lack of thread-safety in replacement
44408         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
44409         issue in replacement.
44410         * doc/glibc-functions/accept4.texi (accept4): Likewise.
44411         Based on a report by Eric Wong.
44413 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44414             Bruno Haible  <bruno@clisp.org>
44416         malloca: Avoid warnings on x86_64 mingw64.
44417         * lib/malloca.c: Include <stdint.h>.
44418         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
44419         * modules/malloca (Depends-on): Add stdint.
44420         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
44422 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44424         obstack: remove __STDC__ conditionals
44425         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
44426         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
44427         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
44428         m4/include_next.m4 as the only gnulib-maintained places that still
44429         refer to __STDC__.
44431 2012-01-24  Bruno Haible  <bruno@clisp.org>
44433         havelib: Modern quoting.
44434         * build-aux/config.rpath: Quote 'like this', not `like this', as per
44435         the recent change to the GNU coding standards.
44437 2012-01-24  Bruno Haible  <bruno@clisp.org>
44439         stdint: Improve support for Android.
44440         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
44441         Reported by Simon Josefsson <simon@josefsson.org>.
44443 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44445         doc: omit trailing empty lines from INSTALL etc.
44446         * doc/Makefile (INSTALL): Omit trailing empty lines.
44447         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
44448         omit trailing empty lines.  This simplifies the build procedure.
44450 2012-01-23  Jim Meyering  <meyering@redhat.com>
44452         tests: avoid spurious warnings about gl_sockets_startup
44453         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
44454         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
44455         reporting a "statement with no effect".
44456         * tests/test-accept.c (main): Mark as "(void)".
44457         * tests/test-accept4.c (main): Likewise.
44458         * tests/test-bind.c (main): Likewise.
44459         * tests/test-connect.c (main): Likewise.
44460         * tests/test-getpeername.c (main): Likewise.
44461         * tests/test-getsockname.c (main): Likewise.
44462         * tests/test-getsockopt.c (main): Likewise.
44463         * tests/test-listen.c (main): Likewise.
44464         * tests/test-recv.c (main): Likewise.
44465         * tests/test-recvfrom.c (main): Likewise.
44466         * tests/test-send.c (main): Likewise.
44467         * tests/test-sendto.c (main): Likewise.
44468         * tests/test-setsockopt.c (main): Likewise.
44469         * tests/test-shutdown.c (main): Likewise.
44471 2012-01-21  Bruno Haible  <bruno@clisp.org>
44473         locale-fr.m4: Fix for Android.
44474         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
44475         failure of the test program on Bionic libc.
44477 2012-01-21  Jim Meyering  <meyering@redhat.com>
44479         bootstrap: fail when bootstrap_post_import_hook fails
44480         Otherwise, it's far too easy to miss diagnostics emitted
44481         between gnulib-tool's output and that of running configure.
44482         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
44484 2012-01-17  Jim Meyering  <meyering@redhat.com>
44486         maint: enable sc_trailing_blank
44487         * build-aux/pmccabe.css: Remove trailing blanks.
44488         * doc/acl-cygwin.txt: Likewise.
44489         * doc/gnu-oids.texi: Likewise
44490         * cfg.mk: Enable sc_trailing_blank.
44491         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
44493 2012-01-17  Jim Meyering  <meyering@redhat.com>
44495         maint: enable sc_prohibit_openat_without_use
44496         * cfg.mk: Enable sc_prohibit_openat_without_use.
44497         Exempt lib/selinux-at.c.
44499 2012-01-17  Jim Meyering  <meyering@redhat.com>
44501         maint: enable sc_prohibit_cloexec_without_use
44502         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
44503         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
44505 2012-01-17  Jim Meyering  <meyering@redhat.com>
44507         maint: enable sc_prohibit_intprops_without_use
44508         * cfg.mk: Enable sc_prohibit_intprops_without_use
44509         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
44511 2012-01-17  Jim Meyering  <meyering@redhat.com>
44513         maint: enable sc_prohibit_hash_pjw_without_use
44514         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
44515         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
44516         to match any use of \<hash_pjw\>, i.e., not necessarily with a
44517         following " (".
44519 2012-01-17  Jim Meyering  <meyering@redhat.com>
44521         maint: enable double-word-prohibiting rule
44522         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
44523         Exempt three files.
44525 2012-01-17  Jim Meyering  <meyering@redhat.com>
44527         maint: remove empty lines at EOF, but excluding modules/*
44528         Apply syntax rules at home as well as abroad.  Most changes
44529         were induced by running this:
44530           make srcdir=. _build-aux=build-aux -f top/maint.mk \
44531             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
44532             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
44533         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
44534         Exempt modules/* and two binary files.
44535         Also exempt doc/INSTALL*, per request from Bruno Haible.
44536         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
44537         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
44538         * doc/Copyright/request-assign.future: Likewise.
44539         * doc/Copyright/request-disclaim.changes: Likewise.
44540         * doc/INSTALL: Likewise.
44541         * doc/INSTALL.ISO: Likewise.
44542         * doc/INSTALL.UTF-8: Likewise.
44543         * doc/acl-cygwin.txt: Likewise.
44544         * doc/acl-resources.txt: Likewise.
44545         * doc/fdl-1.2.texi: Likewise.
44546         * doc/fdl-1.3.texi: Likewise.
44547         * doc/fdl.texi: Likewise.
44548         * lib/argp-pin.c: Likewise.
44549         * lib/round.c: Likewise.
44550         * lib/unicase/u16-totitle.c: Likewise.
44551         * lib/unictype/block_test.c: Likewise.
44552         * lib/uninorm/canonical-decomposition.c: Likewise.
44553         * m4/README: Likewise.
44554         * m4/relocatable-lib.m4: Likewise.
44555         * tests/test-isnand-nolibm.c: Likewise.
44556         * tests/test-isnand.c: Likewise.
44557         * tests/uninorm/NormalizationTest.txt: Likewise.
44559 2012-01-17  Jim Meyering  <meyering@redhat.com>
44561         maint: add framework to run syntax-check rules against gnulib sources
44562         * cfg.mk: New file, to disable all currently-failing tests.
44563         We'll enable them one by one, as they are made to pass.
44564         * Makefile (sc_maint): New rule.
44566 2012-01-21  Bruno Haible  <bruno@clisp.org>
44568         stdint: Add support for Android.
44569         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
44570         include the system's <stdint.h>.
44571         Reported by Simon Josefsson <simon@josefsson.org>.
44573 2012-01-19  Jim Meyering  <meyering@redhat.com>
44575         bootstrap: add bootstrap_post_import_hook
44576         Bison does still need something like the gnulib_mk_hook whose
44577         invocation I had to remove along with slurp in commit 767ccd40.
44578         Technically, we could get along without it, but doing so would
44579         have required living with a warning and a mandatory post-bootstrap
44580         automake rerun.
44581         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
44582         (bootstrap_post_import_hook): New function.
44583         Invoke it after gnulib-tool --import and before autoreconf.
44585 2012-01-18  Jim Meyering  <meyering@redhat.com>
44587         gitlog-to-changelog: don't use "no_"-prefixed variable name
44588         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
44589         to enable both --cluster and --no-cluster.  Change variable name,
44590         s/\$no_cluster/$cluster/, and reverse usage to match.
44592         gitlog-to-changelog: use "||", not "or" in expressions
44593         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
44594         expressions.
44596 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
44598         gitlog-to-changelog: new option --no-cluster
44599         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
44600         clustering of adjacent commit messages.
44602 2012-01-17  Jim Meyering  <meyering@redhat.com>
44604         maint: spell file systems with two words, not one
44605         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
44606         two words, not one.
44608 2012-01-16  Jim Meyering  <meyering@redhat.com>
44610         bootstrap: add a FIXME comment to ensure we eventually remove the hack
44611         * build-aux/bootstrap (gnulib_tool_options): Add comment.
44613 2012-01-16  Eric Blake  <eblake@redhat.com>
44615         bootstrap: cater to autoconf 2.59
44616         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
44617         is not available.
44619         bootstrap: properly check for libtool
44620         * build-aux/bootstrap (libtoolize): Also run libtool when older
44621         usage is detected.
44623 2012-01-15  Bruno Haible  <bruno@clisp.org>
44625         Improve support for MSVC 9.
44626         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
44627         clashes on MSVC.
44628         * lib/fcntl.in.h: Likewise.
44629         * lib/stdlib.in.h: Likewise.
44630         * lib/sys_stat.in.h: Likewise.
44632 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
44634         gnupload: we hold the master copy of this script now
44635         For motivation and more information, see:
44636         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
44637         * build-aux/gnupload: Make it clear in the heading comments that the
44638         master copy of this file is maintained by gnulib.  Since we are at
44639         it, bump its copyright year and ...
44640         ($scriptversion): ... the date in its version.
44641         ($usage): Patches and bug reports should be sent to the gnulib list,
44642         not the automake one.
44643         * config/srclist.txt: Don't try to sync 'gnupload' from automake
44644         anymore.
44646 2012-01-15  Bruno Haible  <bruno@clisp.org>
44648         Fix module 'random'.
44649         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
44650         initstate, setstate are declared.
44652 2012-01-14  Bruno Haible  <bruno@clisp.org>
44654         Tests for module 'random'.
44655         * modules/random-tests: New file.
44656         * tests/test-random.c: New file, based on tests/test-random_r.c.
44658         New module 'random'.
44659         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
44660         declarations.
44661         * lib/random.c: New file, based on glibc/stdlib/random.c.
44662         * m4/random.m4: New file.
44663         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
44664         HAVE_RANDOM.
44665         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
44666         * modules/random: New file.
44667         * config/srclist.txt: Add an entry for random.c.
44668         * doc/posix-functions/random.texi: Mention the 'random' module.
44669         * doc/posix-functions/initstate.texi: Likewise.
44670         * doc/posix-functions/setstate.texi: Likewise.
44671         * doc/posix-functions/srandom.texi: Likewise.
44673 2012-01-12  Bruno Haible  <bruno@clisp.org>
44675         random_r: Use common idioms.
44676         * lib/random_r.c: Include <stdlib.h> first.
44678         random_r: Override incompatible API on AIX, OSF/1.
44679         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
44680         Override the system function if REPLACE_RANDOM_R is 1.
44681         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
44682         and OSF/1, set REPLACE_RANDOM_R.
44683         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
44684         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
44685         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
44686         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
44687         * doc/glibc-functions/random_r.texi: Likewise.
44688         * doc/glibc-functions/setstate_r.texi: Likewise.
44690         random_r: Support for MSVC 9.
44691         * lib/random_r.c: Include stdint.h, not inttypes.h.
44693 2012-01-12  Eric Blake  <eblake@redhat.com>
44695         inet_ntop: guard extra work by IF_LINT
44696         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
44697         better code generation when not checking for warnings.
44698         Suggested by Paul Eggert and Jim Meyering.
44700         strptime: fix regression on mingw
44701         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
44702         Fix regression.  Reported by Bruno Haible.
44704 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
44705             Bruno Haible  <bruno@clisp.org>
44707         copy-file: add error-code-returning variant.
44708         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
44709         (qcopy_file_preserving): New declaration.
44710         * lib/copy-file.c (qcopy_file_preserving): Renamed from
44711         copy_file_preserving. Change return type to 'int'. Don't emit an error
44712         message here.
44713         (copy_file_preserving): New function.
44714         * tests/test-copy-file.c: Include <stdlib.h>.
44715         (main): Test qcopy_file_preserving if the environment variable
44716         NO_STDERR_OUTPUT is set.
44717         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
44718         with NO_STDERR_OUTPUT
44719         * tests/test-copy-file-2.sh: Likewise.
44721 2012-01-10  Bruno Haible  <bruno@clisp.org>
44723         copy-file: Use 'quote' module consistently.
44724         * lib/copy-file.c (copy_file_preserving): Use quote().
44726         copy-file: Refactor.
44727         * lib/copy-file.c: Include quote.h.
44728         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
44729         message here.
44730         * modules/copy-file (Depends-on): Add quote.
44732         acl: Export qcopy_acl.
44733         * lib/acl.h (qcopy_acl): New declaration.
44734         * lib/copy-acl.c (qcopy_acl): Make non-static.
44736         acl: Rename a local variable.
44737         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
44739         acl: Align return values of copy_acl and qcopy_acl.
44740         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
44741         maybe < -1.
44743 2012-01-11  Eric Blake  <eblake@redhat.com>
44745         strptime: silence gcc warnings
44746         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
44747         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
44748         Reported by Daniel P. Berrange.
44750         inet_ntop: silence gcc warning
44751         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
44752         Reported by Daniel P. Berrange.
44754 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
44756         getloadavg test: skip the test on GNU/Linux without /proc mounted
44757         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
44758         file.  When /proc is not mounted, it always fails with ENOENT.
44759         * tests/test-getloadavg.c (main): Treat ENOENT return code from
44760         getloadavg(3) the same way as ENOSYS and ENOTSUP.
44762 2012-01-10  Bruno Haible  <bruno@clisp.org>
44764         regex: Avoid link error on MSVC 9.
44765         * modules/regex (Depends-on): Add wctype.
44767 2012-01-10  Bruno Haible  <bruno@clisp.org>
44769         doc: Mention --with-tests option.
44770         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
44771         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
44772         --with-tests.
44773         Reported by Reuben Thomas.
44775 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
44777         users.txt: order package names lexicographically.
44778         * users.txt: Order package names lexicographically.
44780 2012-01-10  Jim Meyering  <meyering@redhat.com>
44782         maint.mk: fix description in comment
44783         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
44785         ignore-value: remove deprecated ignore_ptr function
44786         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
44787         * NEWS: Note this.
44789 2012-01-09  Jim Meyering  <meyering@redhat.com>
44791         test-init.sh: avoid a subshell
44792         * tests/test-init.sh: Remove protective subshell.
44793         Suggested by Bernhard Voelker.  While a subshell is normally
44794         required to protect against older shells (Solaris, FreeBSD) that
44795         warn about a missing program before performing redirection, the
44796         shell-selection tests performed by init.sh probably exclude any
44797         offending shell.
44799 2012-01-08  Bruno Haible  <bruno@clisp.org>
44801         setlocale tests: Avoid test failure on Solaris 11.0.
44802         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
44803         variable.
44805 2012-01-08  Bruno Haible  <bruno@clisp.org>
44807         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
44808         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44809         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44810         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
44811         macro.
44812         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
44813         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44814         * lib/spawn_faction_addopen.c: Add workaround implementation if
44815         HAVE_WORKING_POSIX_SPAWN.
44816         * modules/spawn (Makefile): Substitute
44817         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44818         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
44819         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
44820         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44821         (Depends-on): Update conditions.
44822         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
44823         the Solaris 11 bug.
44825 2012-01-08  Bruno Haible  <bruno@clisp.org>
44827         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
44828         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44829         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44830         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
44831         macro.
44832         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
44833         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44834         * lib/spawn_faction_adddup2.c: Add workaround implementation if
44835         HAVE_WORKING_POSIX_SPAWN.
44836         * modules/spawn (Makefile): Substitute
44837         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44838         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
44839         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
44840         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44841         (Depends-on): Update conditions.
44842         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
44843         the Solaris 11 bug.
44845 2012-01-08  Bruno Haible  <bruno@clisp.org>
44847         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
44848         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44849         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44850         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
44851         HAVE_WORKING_POSIX_SPAWN.
44852         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
44853         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
44854         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44855         * lib/spawn_faction_addclose.c: Add workaround implementation if
44856         HAVE_WORKING_POSIX_SPAWN.
44857         * modules/spawn (Makefile): Substitute
44858         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44859         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
44860         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
44861         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44862         (Depends-on): Update conditions.
44863         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
44864         the Solaris 11 bug.
44866 2012-01-08  Bruno Haible  <bruno@clisp.org>
44868         doc: Update for Solaris 11.0.
44869         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
44870         * m4/printf.m4: Update comments.
44872 2012-01-08  Bruno Haible  <bruno@clisp.org>
44874         mktime: Avoid compilation error on Solaris 11.
44875         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
44877 2012-01-08  Bruno Haible  <bruno@clisp.org>
44879         doc: Small fix.
44880         * doc/posix-headers/nl_types.texi: Correct platforms list.
44882 2012-01-08  Simon Josefsson  <simon@josefsson.org>
44884         Add lgpl-3.0 module.
44885         * MODULES.html.sh (Support for building documentation): Add
44886         lgpl-3.0.
44887         * modules/lgpl-3.0: New file.
44889 2012-01-08  Jim Meyering  <meyering@redhat.com>
44891         select.c: indent with spaces, not TABs
44892         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
44894 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44896         quotearg: do not use grave accent for left quote
44897         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
44898         locale_quoting_style.
44899         (quotearg_buffer_restyled): Fix example.
44900         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
44902 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44904         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
44905         Most programs do not have translation catalogs for English and much
44906         less separate catalogs for British and American English.  Drop the
44907         suggestion to translators about these two, and provide it
44908         automatically for Unicode locales.  Like most programs, even those
44909         using American English, we use single quotation marks.  This conflicts
44910         with the American typographic convention, but works better when you
44911         cite the entire error message within double quotes.  It also tries not
44912         to clash with established practice and with what non-gnulib programs
44913         will usually do.
44914         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
44915         using an UTF-8 or GB-18030 locale.  The list of other locales with
44916         quotes was provided by Bruno Haible.
44917         (quotearg_buffer_restyled): Adjust instructions to translators.
44918         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
44919         text, since this would be wrong when using Unicode.
44920         * modules/quotearg: Depend on c-strcaseeq.
44922 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44924         quotearg: fix Wikipedia link
44925         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
44927 2012-01-07  Simon Josefsson  <simon@josefsson.org>
44929         Fix for mingw with MSVC9.
44930         * m4/ld-version-script.m4: Check that compiler rejects version
44931         scripts with syntax errors.  Reported by Bruno Haible
44932         <bruno@clisp.org>.
44934 2012-01-06  Bruno Haible  <bruno@clisp.org>
44936         Talk about "native Windows API", not "Woe32".
44937         * lib/accept4.c: Update comments to mention native Windows.
44938         * lib/execute.c: Likewise.
44939         * lib/fatal-signal.c: Likewise.
44940         * lib/localcharset.c: Likewise.
44941         * lib/nanosleep.c: Likewise.
44942         * lib/nl_langinfo.c: Likewise.
44943         * lib/pclose.c: Likewise.
44944         * lib/pipe-filter-gi.c: Likewise.
44945         * lib/pipe-filter-ii.c: Likewise.
44946         * lib/pipe.c: Likewise.
44947         * lib/pipe2.c: Likewise.
44948         * lib/popen.c: Likewise.
44949         * lib/progreloc.c: Likewise.
44950         * lib/relocatable.c: Likewise.
44951         * lib/sigaction.c: Likewise.
44952         * lib/sigprocmask.c: Likewise.
44953         * lib/spawn-pipe.h: Likewise.
44954         * lib/spawn-pipe.c: Likewise.
44955         * lib/spawni.c: Likewise.
44956         * lib/stat-time.h: Likewise.
44957         * lib/w32spawn.h: Likewise.
44958         * tests/test-isatty.c: Likewise.
44959         * lib/config.charset: More comments.
44960         * doc/gnulib-intro.texi: Mention native Windows.
44961         * doc/posix-functions/_Exit_C99.texi: Likewise.
44962         * doc/posix-headers/fcntl.texi: Likewise.
44964 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
44966         argp: Avoid crash if translator uses % characters in a translation.
44967         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
44968         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44970 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
44972         doc: C11 and C++11 are now official
44973         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
44974         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
44975         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
44976         * modules/stdalign:
44977         Replace references to draft C1X to C11, and to draft C++0X to C++11.
44979 2012-01-06  Bruno Haible  <bruno@clisp.org>
44981         uc-is-grapheme-break tests: Tweak.
44982         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
44983         message.
44985 2012-01-06  Bruno Haible  <bruno@clisp.org>
44987         test-init.sh: correct the test for diff -u
44988         * tests/test-init.sh: Also redirect stdout to /dev/null.
44990 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44992         Use ', not `, for quoting output.
44993         * build-aux/announce-gen (usage, sizes, print_news_deltas)
44994         (print_changelog_deltas, get_tool_versions, main program):
44995         * build-aux/git-version-gen:
44996         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
44997         * build-aux/move-if-change (help):
44998         * build-aux/useless-if-before-free (usage, main program):
44999         * check-module (parse_module_file, usage)
45000         (find_included_lib_files, check_module):
45001         * lib/argmatch.c (main) [TEST]:
45002         * lib/argp-help.c (_help):
45003         * lib/getopt1.c (main) [TEST]:
45004         * lib/git-merge-changelog.c (usage):
45005         * lib/xstrtol-error.c (xstrtol_error):
45006         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
45007         * m4/argz.m4 (gl_FUNC_ARGZ):
45008         * m4/bison.m4 (gl_BISON):
45009         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
45010         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
45011         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
45012         * m4/fpending.m4 (gl_PREREQ_FPENDING):
45013         * m4/gc-random.m4 (gl_GC_RANDOM):
45014         * m4/intl.m4 (gt_CHECK_DECL):
45015         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
45016         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
45017         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
45018         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
45019         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
45020         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
45021         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
45022         * tests/test-dirname.c (main):
45023         * tests/test-getpass.c (main):
45024         * tests/test-iconvme.c (main):
45025         * tests/test-parse-datetime.c (LOG):
45026         * tests/test-xstrtoimax.sh:
45027         * tests/test-xstrtol.sh:
45028         * tests/test-xstrtoll.sh:
45029         * tests/test-xstrtoumax.sh:
45030         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
45031         * top/GNUmakefile (abort-due-to-no-makefile):
45032         Quote 'like this', not `like this', as per the recent change to
45033         the GNU coding standards.
45035 2012-01-05  Bruno Haible  <bruno@clisp.org>
45037         strtoimax: Don't force a replacement on systems where intmax_t is int.
45038         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
45039         'intmax_t' is not larger than 'int'.
45040         Reported by Pádraig Brady <P@draigBrady.com>.
45042 2012-01-05  Bruno Haible  <bruno@clisp.org>
45044         doc: Mention NetBSD bugs.
45045         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
45046         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
45048 2012-01-05  Bruno Haible  <bruno@clisp.org>
45050         strtoumax tests: Enhance tests.
45051         * tests/test-strtoumax.c (main): Add tests for large values.
45053 2012-01-05  Bruno Haible  <bruno@clisp.org>
45055         strtoimax: Work around AIX 5.1 bug.
45056         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
45057         definition.
45058         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
45059         Set HAVE_STRTOIMAX.
45060         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
45061         REPLACE_STRTOIMAX.
45062         * modules/inttypes-incomplete (Makefile.am): Substitute
45063         REPLACE_STRTOIMAX.
45064         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
45065         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
45066         (Depends-on): Update conditions.
45067         * tests/test-strtoimax.c (main): Add tests for large values.
45068         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
45070 2012-01-05  Bruno Haible  <bruno@clisp.org>
45072         inttypes: Modernize.
45073         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
45074         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
45075         (Makefile.am): Update inttypes.h rule.
45077 2012-01-05  Jim Meyering  <meyering@redhat.com>
45079         init.sh: don't waste a subshell just to redirect stderr
45080         * tests/init.sh: In testing for diff -u and diff -c, use a
45081         stderr-redirecting exec inside `...` rather than a subshell.
45083         test-init.sh: avoid failure on HP-UX 11.00
45084         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
45085         resolves to diff -c or cmp.  Reported by Bruno Haible.
45087 2012-01-05  Bruno Haible  <bruno@clisp.org>
45089         Tests for module 'strtoull'.
45090         * modules/strtoull-tests: New file.
45091         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
45093 2012-01-05  Bruno Haible  <bruno@clisp.org>
45095         Tests for module 'strtoll'.
45096         * modules/strtoll-tests: New file.
45097         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
45099 2012-01-05  Bruno Haible  <bruno@clisp.org>
45101         Tests for module 'strtoul'.
45102         * modules/strtoul-tests: New file.
45103         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
45105 2012-01-05  Bruno Haible  <bruno@clisp.org>
45107         Tests for module 'strtol'.
45108         * modules/strtol-tests: New file.
45109         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
45111 2012-01-04  Jim Meyering  <meyering@redhat.com>
45113         test-init.sh: accommodate Solaris 5.10's different diff -u output
45114         * tests/test-init.sh: Also exempt @@ lines from the comparison
45115         of diff output, since Solaris 5.10 and GNU diff formats differ.
45116         Reported by Stefano Lattarini.
45118 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45120         test-posixtm: don't assume signed integer wraparound
45121         * tests/test-posixtm.c (main): Don't assume wraparound semantics
45122         after signed integer overflow.  Inspired by (though it may not
45123         fix) Bruno Haible's bug report in
45124         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
45126         Spell out "Windows 9x" and "Windows XP".
45127         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
45128         "Windows 9x" and "WinXP" with "Windows XP".
45130 2012-01-04  Jim Meyering  <meyering@redhat.com>
45132         test-vc-list-files-cvs.sh: remove obsolete comment
45133         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
45134         double exit.  Now that's all encapsulated via skip_ and Exit.
45136 2012-01-04  Bruno Haible  <bruno@clisp.org>
45138         Talk about "native Windows API", not "Win32".
45139         * lib/classpath.c: Update comments to mention native Windows.
45140         * lib/csharpexec.c: Likewise.
45141         * lib/dup2.c: Likewise.
45142         * lib/error.c: Likewise.
45143         * lib/fcntl.c: Likewise.
45144         * lib/filename.h: Likewise.
45145         * lib/findprog.c: Likewise.
45146         * lib/get-rusage-as.c: Likewise.
45147         * lib/get-rusage-data.c: Likewise.
45148         * lib/getpagesize.c: Likewise.
45149         * lib/javaexec.c: Likewise.
45150         * lib/msvc-inval.c: Likewise.
45151         * lib/msvc-nothrow.c: Likewise.
45152         * lib/nanosleep.c: Likewise.
45153         * lib/nonblocking.c: Likewise.
45154         * lib/printf-parse.c: Likewise.
45155         * lib/setlocale.c: Likewise.
45156         * lib/sigaction.c: Likewise.
45157         * lib/strerror_r.c: Likewise.
45158         * lib/tmpdir.c: Likewise.
45159         * lib/vasnprintf.c: Likewise.
45160         * lib/w32spawn.h: Likewise.
45161         * lib/waitpid.c: Likewise.
45162         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
45163         * m4/locale-ar.m4: Likewise.
45164         * m4/locale-fr.m4: Likewise.
45165         * m4/locale-ja.m4: Likewise.
45166         * m4/locale-tr.m4: Likewise.
45167         * m4/locale-zh.m4: Likewise.
45168         * m4/printf.m4: Likewise.
45169         * tests/test-cloexec.c: Likewise.
45170         * tests/test-copy-acl.sh: Likewise.
45171         * tests/test-copy-file.sh: Likewise.
45172         * tests/test-file-has-acl.sh: Likewise.
45173         * tests/test-set-mode-acl.sh: Likewise.
45174         * tests/test-dup-safer.c: Likewise.
45175         * tests/test-dup2.c: Likewise.
45176         * tests/test-dup3.c: Likewise.
45177         * tests/test-fcntl.c: Likewise.
45178         * tests/test-nonblocking-pipe.h: Likewise.
45179         * tests/test-nonblocking-socket.h: Likewise.
45180         * tests/test-pipe.c: Likewise.
45181         * tests/test-pipe2.c: Likewise.
45182         * tests/test-spawn-pipe-child.c: Likewise.
45183         * doc/acl-resources.txt: Likewise.
45184         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45185         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
45186         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
45187         * lib/localcharset.c: Update comments to mention native Windows.
45188         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45189         * lib/localename.c: Likewise.
45190         * lib/progreloc.c: Likewise.
45191         * lib/relocatable.c: Likewise.
45192         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45193         (windows_compute_revents): Renamed from win32_compute_revents.
45194         (windows_compute_revents_socket): Renamed from
45195         win32_compute_revents_socket.
45196         * lib/select.c: Update comments to mention native Windows.
45197         (windows_poll_handle): Renamed from win32_poll_handle.
45198         * m4/threadlib.m4: Update comments to mention native Windows.
45199         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
45200         --enable-threads=windows instead of --enable-threads=win32. Set
45201         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
45202         * lib/glthread/lock.h: Update comments to mention native Windows.
45203         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
45204         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
45205         USE_WIN32_THREADS.
45206         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
45207         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
45208         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
45209         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
45210         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
45211         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
45212         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
45213         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
45214         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
45215         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
45216         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
45217         * tests/test-tls.c: Likewise.
45218         Rationale:
45219         Microsoft renamed the "Win32 API" to "Windows API", as it is available
45220         on both 32-bit and 64-bit Windows systems.
45221         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
45222         line of distinction is between "native Windows" on one side and Unix/
45223         POSIX systems on the other side. More details in
45224         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
45225         Suggested by Paul Eggert.
45227 2012-01-03  Bruno Haible  <bruno@clisp.org>
45229         isatty: Support for MSVC 9.
45230         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
45231         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
45232         (_isatty_nothrow): New function.
45233         (isatty): Use it instead of _isatty.
45234         (IsConsoleHandle): Add comment, from Paolo Bonzini.
45235         * lib/poll.c (IsConsoleHandle): Likewise.
45236         * lib/select.c (IsConsoleHandle): Likewise.
45237         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
45238         (gl_PREREQ_ISATTY): New macro.
45239         * modules/isatty (Depends-on): Add msvc-inval.
45240         (configure.ac): Invoke gl_PREREQ_ISATTY.
45242 2012-01-03  Jim Meyering  <meyering@redhat.com>
45244         maint.mk: remove temporary transition aid from over 1.5 years ago
45245         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
45246         purpose was to aid in the transition (avoiding silent malfunction)
45247         from that old name to the new _sc_search_regexp.  This shim was
45248         added by commit 219c504b.
45250         init.sh: do not try to accommodate compare arguments starting with "-"
45251         * tests/init.sh (compare_dev_null_): Do not try to accommodate
45252         compare arguments that start with "-".  Besides, we do not worry
45253         about this when invoking diff or cmp; why start now with sed?
45254         Using "--" to separate options from argument would trigger sed
45255         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
45256         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
45258 2012-01-02  Bruno Haible  <bruno@clisp.org>
45260         Enhance tests for module 'isatty'.
45261         * modules/isatty-tests (Depends-on): Add pipe-posix.
45262         * tests/test-isatty.c: Include <fcntl.h>.
45263         (DEV_NULL): New macro.
45264         (main): Test the resut of isatty() also on regular files, pipes, and
45265         /dev/null.
45267         New module 'isatty'.
45268         * lib/unistd.in.h (isatty): New declaration.
45269         * lib/isatty.c: New file, based on an idea of
45270         Bastien Roucariès <roucaries.bastien@gmail.com>.
45271         * m4/isatty.m4: New file.
45272         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
45273         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
45274         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
45275         REPLACE_ISATTY.
45276         * modules/isatty: New file.
45277         * doc/posix-functions/isatty.texi: Mention the new module.
45278         Suggested by Paolo Bonzini.
45280 2012-01-02  Bruno Haible  <bruno@clisp.org>
45282         canonicalize: Tweak 2011-12-29 commit.
45283         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
45284         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
45286 2012-01-02  Jim Meyering  <meyering@redhat.com>
45288         gitlog-to-changelog: describe input syntax in --help output
45289         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
45291         gitlog-to-changelog: fix typo in --help: show backslash before email @
45292         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
45293         in sources, but not in actual output.
45295 2011-12-30  Jim Meyering  <meyering@redhat.com>
45297         gitlog-to-changelog: don't malfunction when name contains %-directive
45298         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
45299         in a name string cause trouble.  E.g., with a user name of "%s",
45300         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
45302 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
45304         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
45305         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
45306         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
45307         the "  (tiny change)" notation that is appended to the standard
45308         ChangeLog "date  name  email" header line.
45310 2012-01-01  Jim Meyering  <meyering@redhat.com>
45312         test-framework-sh: init.sh: fix "make dist" failure
45313         When using gnulib-tool's --with-tests option and any module that
45314         depends on test-framework-sh, "make dist" would fail due to the
45315         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
45316         in the gltests directory, and not in the gllib/ directory.
45317         One way to work around that is to move the EXTRA_DIST += init.sh
45318         from the primary module to the -tests one:
45319         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
45320         * modules/test-framework-sh (Makefile.am): ...not here.
45321         Reported by Tom G. Christensen in
45322         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
45324         version-etc: update copyright year reported by --version
45325         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
45327 2011-12-31  Pádraig Brady  <P@draigBrady.com>
45329         canonicalize: only stat() if required
45330         * lib/canonicalize.c (canonicalize_filename_mode):
45331         Avoid calling l?stat() when both CAN_MISSING,
45332         and CAN_NOLINKS are set, as we neither need
45333         to resolve symlinks or test component existence.
45335 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
45337         doc: cover st_ino issues once; add OpenVMS etc.
45338         * doc/posix-functions/stat.texi (stat):
45339         * doc/posix-functions/lstat.texi (lstat):
45340         * doc/posix-functions/fstatat.texi (fstatat):
45341         * doc/posix-functions/fstat.texi (fstat):
45342         Move general 'struct stat' stuff to sys_stat.texi,
45343         leaving behind a pointer.
45344         * doc/posix-headers/sys_stat.texi (sys/stat.h):
45345         Merge duplicate info about 'struct stat' problems into here.
45346         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
45347         and suggest partial workarounds.
45349         same-inode: port to OpenVMS
45350         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
45351         three st_ino values.
45353 2011-12-30  Pádraig Brady  <P@draigBrady.com>
45355         canonicalize: fix references to stat() and lstat()
45356         * lib/canonicalize.c (canonicalize_filename_mode):
45357         Ensure references always resolve to a replacement
45358         function if required (even via a macro).
45360 2011-12-30  Jim Meyering  <meyering@redhat.com>
45362         gitlog-to-changelog: remove a little duplication
45363         * build-aux/gitlog-to-changelog (main): Grep @lines once,
45364         rather than twice.
45366 2011-12-29  Pádraig Brady  <P@draigBrady.com>
45368         canonicalize: add support for not resolving symlinks
45369         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
45370         indicate we don't want to follow symlinks.  Also
45371         provide CAN_MODE_MASK to aid setting these existing
45372         mutually exclusive values.
45373         * lib/canonicalize.c (canonicalize_filename_mode):
45374         Extract the flags from can_mode parameter, which
45375         are currently just used to select between stat()
45376         and lstat().  Also ensure that mutually exclusive
45377         values are flagged immediately as invalid.
45378         * tests/test-canonicalize.c: Verify symlinks are
45379         not followed, and that invalid flag combinations
45380         are diagnosed.
45382 2011-12-25  Jim Meyering  <meyering@redhat.com>
45384         gitlog-to-changelog: do not clump multi-paragraph entries
45385         Identical header lines (date,name,email+coauthors) are suppressed,
45386         thus putting all entries with those same characteristics under
45387         a single header.  However, when a log entry consists of two or
45388         more paragraphs, it may not be clear where it starts and ends.
45389         This change makes it so that such an entry is always separated
45390         from others by a header line, even when that header would
45391         otherwise be suppressed.
45392         * build-aux/gitlog-to-changelog: Implement the above.
45393         Inspired by a related request from Stefano Lattarini in
45394         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
45396 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45398         announce-gen: fix `cmd' typo in diagnostic
45399         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
45400         diagnostic: a missing '$' meant that the command was not output.
45402 2011-12-23  Jim Meyering  <meyering@redhat.com>
45404         test-framework-sh: distribute init.sh
45405         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
45406         Otherwise, "make -C gnulib-tests check" (at least in grep) would
45407         fail due to the lack of init.sh.
45409         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
45410         * modules/atexit-tests: Rather than listing tests/init.sh,
45411         now that there's a module for it, simply depend on that new module.
45412         * modules/closein-tests: Likewise.
45413         * modules/exclude-tests: Likewise.
45414         * modules/getcwd-tests: Likewise.
45415         * modules/perror-tests: Likewise.
45416         * modules/pread-tests: Likewise.
45417         * modules/pwrite-tests: Likewise.
45418         * modules/vc-list-files-tests: Likewise.
45419         * modules/verify-tests: Likewise.
45420         * modules/xalloc-die-tests: Likewise.
45421         * modules/xstrtoimax-tests: Likewise.
45422         * modules/xstrtol-tests: Likewise.
45423         * modules/xstrtoll-tests: Likewise.
45424         * modules/xstrtoumax-tests: Likewise.
45425         * modules/yesno-tests: Likewise.
45427 2011-12-22  Jim Meyering  <meyering@redhat.com>
45429         test-framework-sh: add minimal tests of init.sh's compare function
45430         * modules/test-framework-sh-tests: New file.
45431         * tests/test-init.sh: New file.
45433         test-framework-sh: new module
45434         * modules/test-framework-sh: New file.
45435         * MODULES.html.sh (Support for maintaining and releasing projects):
45436         List it.
45438         init.sh: do not emit simulated diff output to stderr
45439         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
45441 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
45443         .gitignore: ignore gnulib.dvi and regex.info
45444         * doc/.gitignore:add gnulib.dvi and regex.info
45446 2011-12-22  Jim Meyering  <meyering@redhat.com>
45448         init.sh: correct previous change
45449         * tests/init.sh (compare): My previous change was wrong.
45450         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
45452         init.sh: avoid unwarranted test failure when using "set -e"
45453         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
45454         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
45455         a use like "compare exp out" would get evoke an unconditional failure.
45457 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
45459         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
45460         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
45461         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
45462         autoreconf that did not.
45463         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
45464         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
45466 2011-12-17  Jim Meyering  <meyering@redhat.com>
45468         bootstrap: remove some now-unneeded code
45469         This script arose back when gnulib-tool was young.
45470         Since then, it has seen improvements that render much of this
45471         script unnecessary.  In particular, it can now make symlinks
45472         to the files it uses.  Also, I no longer see as much value in
45473         marking files as read-only via comments.
45474         If you relied on the symlink-creation feature of the preceding
45475         version of this script, you can get most of that functionality
45476         by adding the --symlink option to the definition of
45477         gnulib_tool_option_extras in your bootstrap.conf file.
45478         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
45479         Run autopoint and libtoolize *before* gnulib-tool.
45480         After it, run an abbreviated autoreconf, rather than a loop around
45481         all tools.
45482         (slirp, bt_mark_as_generated): Remove functions.
45484 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45486         ftoastr: fix typo
45487         * lib/ftoastr.h: Fix misspelling in comment.
45489 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
45491         * top/README-release: fix punctuation.
45493 2011-12-17  Jim Meyering  <meyering@redhat.com>
45495         bootstrap: correct the recent buildreq change
45496         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
45497         had no effect.
45498         * build-aux/bootstrap (buildreq): Bracket each search term with
45499         "*...*", so that the shell "case" statement works as intended.
45500         Add comments.
45502 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
45504         build: let bootstrap resort to wget when downloading .po files
45505         * build-aux/bootstrap (download_po_files): Fallback to wget when
45506         downloading the .po files via rsync fails.  This is necessary to
45507         bootstrap from behind a strict firewall.
45509 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45511         stdint: don't assume C++11 when compiling with g++
45512         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
45513         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
45514         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
45515         work also in C++ before C++11, as that improperly inhibits
45516         generating a substitute stdint.h for that case.
45518 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45520         alloca: protect comment from gnulib-tool
45521         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
45522         that gnulib-tool doesn't think it's a license, and munge it to
45523         say "GCC version 3".
45525 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
45527         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
45528         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
45529         $(abs_top_builddir) instead of $(top_builddir).
45531 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
45533         strftime-tests: also test nanoseconds
45534         * tests/test-strftime.c (T): Add a test of %N.
45536 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
45538         inttypes, stdint: add C++11 support
45539         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
45540         when including inttypes.h and stdint.h.  Support this change to
45541         the standard.
45542         * doc/posix-headers/inttypes.texi (inttypes.h):
45543         * doc/posix-headers/stdint.texi (stdint.h): Document this.
45544         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
45545         Define if not defined already, for the benefit of pre-C++11 hosts.
45546         Define the standard format macros (e.g., PRId8) always.
45547         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
45548         Likewise, if __cpluspus.  Define the standard constant and limit
45549         macros (e.g., INT8_C, INT8_MAX) always.
45550         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
45551         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
45552         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
45553         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
45554         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
45555         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
45556         Likewise.
45558 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
45560         nonblocking tests: Fix test failure on Linux/PPC.
45561         Suggested by Prerna Saxena in
45562         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
45563         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
45564         Set to 1100000.
45566 2011-12-12  Jim Meyering  <meyering@redhat.com>
45568         argmatch: don't hard-code `' when listing valid option arguments
45569         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
45570         use the quote function to add quotes.  Use fputs rather than
45571         fprintf for the format string with no format directive.
45573 2011-12-07  Eric Blake  <eblake@redhat.com>
45575         bootstrap: detect tools required by gnulib-tool
45576         * build-aux/bootstrap (buildreq): Provide minimum implicit
45577         dependencies.
45578         * DEPENDENCIES: Mention patch as a prereq.
45580 2011-12-04  Bruno Haible  <bruno@clisp.org>
45582         sethostname: Port to Windows platforms.
45583         * lib/sethostname.c: Provide an alternate implementation for Windows
45584         platforms.
45585         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
45586         (main): Skip the test if sethostname() fails with EPERM. On Windows
45587         platforms, don't check the result of gethostname().
45589 2011-12-04  Bruno Haible  <bruno@clisp.org>
45590             Jim Meyering  <meyering@redhat.com>
45592         tests: Avoid spurious error message on platforms without mktemp program.
45593         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
45595 2011-12-04  Bruno Haible  <bruno@clisp.org>
45597         sethostname: Fix documentation.
45598         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
45599         "not fixed" section.
45601 2011-12-03  Bruno Haible  <bruno@clisp.org>
45603         gnulib-tool: Verify that the License field is present and non-empty.
45604         * gnulib-tool (func_get_license_raw): New function, extracted from
45605         func_get_license.
45606         (func_get_license): Use it. Warn if the module is not a test module and
45607         has no license.
45608         Suggested by Jim Meyering.
45610 2011-12-03  Bruno Haible  <bruno@clisp.org>
45612         sethostname tests: Fix link error on mingw.
45613         * tests/test-sethostname1.c: New file, extracted from
45614         tests/test-sethostname.c.
45615         * tests/test-sethostname2.c: New file, extracted from
45616         tests/test-sethostname.c.
45617         * tests/test-sethostname.c: Remove file.
45618         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
45619         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
45620         (Depends-on): Add gethostname.
45621         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
45622         Link the latter with $(GETHOSTNAME_LIB).
45624         sethostname tests: Fix compilation error on mingw.
45625         * tests/test-sethostname.c: Don't include <sys/types.h>.
45626         (geteuid): Use a dummy value without uid_t.
45627         * modules/sethostname-tests (Depends-on): Remove sys_types.
45629         sethostname tests: Avoid a gcc warning.
45630         * tests/test-sethostname.c (main): Remove an unused variable.
45632         Tweak last commit.
45633         * modules/sethostname-tests (Files): Sort by decreasing importance.
45634         (configure.ac): Check for geteuid.
45635         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
45636         the test when there's nothing to test. Drop an unnecessary cast.
45637         Improve an error message. Verify that the final sethostname() call
45638         succeeds.
45640 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45642         Add a test suite for the sethostname module.
45643         * modules/sethostname-tests: New file.  A test program
45644         for the sethostname module.
45645         * tests/test-sethostname.c: Likewise.
45647 2011-12-03  Bruno Haible  <bruno@clisp.org>
45649         Tweak last commit.
45650         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
45651         Fix preprocessor directives indentation. Fix typos.
45652         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
45653         * modules/unistd (Makefile): Likewise.
45655 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45657         Integrate the sethostname module into unistd.
45658         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
45659         into the unistd.h header.
45660         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
45661         preprocessor directives.
45662         * modules/unistd: Setup the Makefile substitutions of the
45663         SETHOSTNAME preprocessor directives.
45665 2011-12-03  Bruno Haible  <bruno@clisp.org>
45667         Tweak last commit.
45668         * lib/sethostname.c: Don't include <string.h>.
45669         (sethostname): No need to copy the argument string to the stack. Don't
45670         call clearerr. Preserve errno when fprintf failed.
45671         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
45672         Don't invoke AC_REPLACE_FUNCS.
45673         * modules/sethostname (Link): Remove empty section.
45674         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
45675         failure problem.
45677 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45679         New module 'sethostname'.
45680         * lib/sethostname.c (sethostname): New file.  Provide sethostname
45681         for systems that lack it.
45682         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
45683         sethostname declaration and function.
45684         * modules/sethostname: New file.  Define the sethostname module.
45686 2011-12-03  Bruno Haible  <bruno@clisp.org>
45688         Tweak last commit.
45689         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
45691 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45693         Split the HOST_NAME_MAX detection into a separate m4 macro.
45694         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
45695         macro so it can be used by the pending sethostname module.
45697 2011-12-03  Bruno Haible  <bruno@clisp.org>
45699         Fix module descriptions syntax.
45700         * modules/argv-iter (License): Fix syntax.
45701         * modules/di-set (License): Likewise.
45702         * modules/ino-map (License): Likewise.
45703         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
45705 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
45707         stdalign: port to Clang 3.0
45708         Problem reported by Simon Josefsson in
45709         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
45710         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
45711         which has <stdalign.h> but which does not define alignof.
45712         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
45714 2011-12-01  Eric Blake  <eblake@redhat.com>
45716         mktempd: silence dd usage
45717         * build-aux/mktempd (rand_bytes): Silence dd.
45719 2011-11-30  Simon Josefsson  <simon@josefsson.org>
45721         manywarnings: Don't mention gcc version in docstring.
45722         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
45723         Jim Meyering <meyering@redhat.com>.
45725 2011-11-30  Jim Meyering  <meyering@redhat.com>
45727         hash: mark a few floating point constants with "f" suffix
45728         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
45729         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
45730         floating point constants with "f", since they're destined to be
45731         saved/used as "float"s.
45733 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
45735         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
45736         * tests/test-float.c (test_long_double): Correct and re-enable the
45737         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
45739 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
45741         Avoid subtracting two pointers that don't point into the same block.
45742         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
45743         only pointers into the same memory block are subtracted. We cannot
45744         assume that sizeof (ptrdiff_t) == sizeof (void *).
45746 2011-11-29  Eric Blake  <eblake@redhat.com>
45748         maint.mk: add syntax check for use of compare from init.sh
45749         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
45750         moved here from coreutils.
45752         manywarnings: drop -Wunsuffixed-float-constants
45753         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
45754         '1.0D', which is the only way to silence this warning for 'double'.
45756 2011-11-29  Jim Meyering  <meyering@redhat.com>
45758         hash: mark compute_bucket_size with the pure attribute
45759         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
45761         quotearg, propername: correct pragma guard expression
45762         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
45763         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
45765 2011-11-28  Jim Meyering  <meyering@redhat.com>
45767         propername: do not mark proper_name with the const attribute
45768         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
45769         since it examines data pointed to by its parameter.
45770         * lib/propername.c (proper_name): Instead, add a pragma to suppress
45771         the suggestion from -Wsuggest-attribute=const.
45773         propername: mark one more function as const
45774         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
45776 2011-11-27  Jim Meyering  <meyering@redhat.com>
45778         mark functions with const and pure attributes
45780         Mark functions per suggestions from gcc-4.6 when using these options:
45781         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
45782         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
45783         Follow these guidelines: when possible, apply the attribute to
45784         an extern declaration, not to its definition.  Apply it to the
45785         definition only when the definition is static.
45786         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
45787         * lib/argv-iter.h (argv_iter_n_args): Likewise.
45788         * lib/base64.h (isbase64): Likewise.
45789         * lib/basename-lgpl.c (last_component, base_len): Likewise.
45790         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
45791         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
45792         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
45793         (c_tolower, c_toupper): Likewise.
45794         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
45795         * lib/chdir-long.c (find_non_slash): Likewise.
45796         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
45797         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
45798         * lib/file-type.h (file_type): Likewise.
45799         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
45800         * lib/filevercmp.c (verrevcmp): Likewise.
45801         * lib/freadahead.h (freadahead): Likewise.
45802         * lib/fts.c (fts_maxarglen): Likewise.
45803         * lib/hash-pjw.h (hash_pjw): Likewise.
45804         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
45805         * lib/hash.c (is_prime, next_prime): Likewise.
45806         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
45807         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
45808         (hash_table_ok, hash_get_first, hash_string): Likewise.
45809         (compute_bucket_size): Likewise.
45810         * lib/i-ring.h (i_ring_empty): Likewise.
45811         * lib/isnan.c (isnanl): Likewise.
45812         * lib/math.h (isnanl, rpl_isnanl): Likewise.
45813         * lib/memcasecmp.h (memcasecmp): Likewise.
45814         * lib/memchr2.h (memchr2): Likewise.
45815         * lib/memcmp2.h (memcmp2): Likewise.
45816         * lib/parse-datetime.y (lookup_zone): Likewise.
45817         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
45818         [!WINDOWS_SOCKETS]: Likewise.
45819         * lib/strnlen1.h (strnlen1): Likewise.
45820         * lib/uniwidth.in.h (uc_width): Likewise.
45821         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
45822         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
45823         (quoting_options_from_style): Add a comment.
45824         * lib/propername.h (proper_name): Add a comment.
45826 2011-11-27  Bruno Haible  <bruno@clisp.org>
45828         Remove unused macros from !_LIBC code in glibc-borrowed files.
45829         * lib/fnmatch.c (STRCOLL): Remove macro.
45830         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
45831         * lib/glob.c (__stat, __readdir64): Remove macros.
45832         * lib/tempname.c (__open64, __xstat64): Remove macros.
45833         Suggested by Paul Eggert.
45835 2011-11-27  Bruno Haible  <bruno@clisp.org>
45837         getcwd: Fix link error on MSVC 9.
45838         * modules/getcwd (Depends-on): Add readdir, rewinddir.
45840 2011-11-27  Bruno Haible  <bruno@clisp.org>
45842         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
45843         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
45844         HAVE_OPENDIR is 0.
45845         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
45846         HAVE_CLOSEDIR is 0.
45847         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
45848         is 0.
45849         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
45851 2011-11-27  Bruno Haible  <bruno@clisp.org>
45853         getcwd: Fix bug from 2011-08-17.
45854         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
45855         platforms that need it.
45856         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
45857         code of 4 to be a failure, not a success. This ensures that
45858         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
45860 2011-11-27  Bruno Haible  <bruno@clisp.org>
45862         binary-io tests: Avoid test failure on mingw when libtool is used.
45863         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
45864         Don't verify the size of t-bin-out1.tmp here.
45865         * tests/test-binary-io.sh: Verify it here.
45866         Reported by Simon Josefsson.
45868 2011-11-26  Bruno Haible  <bruno@clisp.org>
45870         Fix conflict between two instantiations of module 'unistd'.
45871         * gnulib-tool (func_emit_autoconf_snippet): Substitute
45872         ${include_guard_prefix} also in the autoconf snippet.
45873         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
45874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
45875         GNULIB_UNISTD_H_GETOPT.
45876         * modules/getopt-posix (configure.ac): Set the
45877         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
45878         * modules/getopt-gnu (configure.ac): Likewise.
45879         * modules/unistd (Makefile.am): Change the substitution value of
45880         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
45881         Reported by Simon Josefsson.
45883 2011-11-25  Bruno Haible  <bruno@clisp.org>
45885         pagealign_alloc: Doc and comments.
45886         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
45887         module.
45888         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
45890 2011-11-25  Jim Meyering  <meyering@redhat.com>
45892         test-update-copyright.sh: avoid false-positive failure
45893         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
45894         around false positive failure on Cygwin/Windows.  The latter was
45895         matching erroneously-created files with names like
45896         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
45898 2011-11-25  Simon Josefsson  <simon@josefsson.org>
45900         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
45901         * m4/valgrind-tests.m4: Check that the parameters that will be
45902         used works, not just a subset of them.  Reported by Bruno Haible
45903         <bruno@clisp.org>.
45905 2011-11-24  Jim Meyering  <meyering@redhat.com>
45907         test-stdalign.c: comment out long double tests
45908         * tests/test-stdalign.c: Don't try to reduce alignment of long double
45909         variables.  That provokes errors like this from gcc-4.7.0 20111124:
45910         error: '_Alignas' specifiers cannot reduce alignment of \
45911         'static_longdouble_alignas'.
45913 2011-11-22  Jim Meyering  <meyering@redhat.com>
45915         init.sh: make "compare /dev/null FILE" output more readable
45916         * tests/init.sh (compare_): Document the preferred order of arguments.
45917         (emit_diff_u_header_): New function.
45918         (compare_dev_null_): Emit a simulated diff, rather than just the
45919         contents of the unexpected file.  Suggestion from Bruno Haible.
45921 2011-11-21  Jim Meyering  <meyering@redhat.com>
45922             Eric Blake  <eblake@redhat.com>
45924         init.sh: work around OSF/1 5.1's mishandling of /dev/null
45925         * tests/init.sh: Make our compare function slightly more portable.
45926         Reported by Bruno Haible in
45927         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
45929 2011-11-21  Simon Josefsson  <simon@josefsson.org>
45931         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
45932         before using it, in code that ends up in config.h.
45934 2011-11-20  Bruno Haible  <bruno@clisp.org>
45936         getcwd: Work around getcwd bug on AIX 5..7.
45937         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
45938         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
45939         Use a different value for gl_cv_func_getcwd_path_max. Move the
45940         definition of HAVE_PARTLY_WORKING_GETCWD from here...
45941         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
45942         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
45943         Define HAVE_MINIMALLY_WORKING_GETCWD.
45944         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
45945         where it is not even minimally working, that is, on AIX.
45946         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
45947         m4/getcwd-path-max.m4.
45948         (main): Update exit code computation.
45949         * doc/posix-functions/getcwd.texi: Mention list of platforms where
45950         getcwd does not handle long file names.
45952 2011-11-20  Bruno Haible  <bruno@clisp.org>
45954         getcwd: Fix bug from 2009-09-10.
45955         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
45956         like "no".
45958 2011-11-20  Simon Josefsson  <simon@josefsson.org>
45960         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
45962 2011-11-20  Bruno Haible  <bruno@clisp.org>
45964         fma tests: Avoid shadowing local variables.
45965         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
45966         expected.
45968 2011-11-20  Bruno Haible  <bruno@clisp.org>
45970         copysignf tests: Fix.
45971         * tests/test-copysignf.c: Fix signature check.
45973 2011-11-20  Bruno Haible  <bruno@clisp.org>
45975         fma: Remove unused code.
45976         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
45977         unused macros.
45979 2011-11-20  Bruno Haible  <bruno@clisp.org>
45981         sethostname: Fix doc about AIX.
45982         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
45983         sethostname; it has it.
45985         sethostname: Mention more portability problems.
45986         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
45987         problem.
45988         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
45990 2011-11-19  Bruno Haible  <bruno@clisp.org>
45992         Depend on module fcntl-h when AT_FDCWD is used.
45993         * modules/utimens (Depends-on): Add fcntl-h.
45994         * modules/areadlinkat (Depends-on): Likewise.
45995         * modules/areadlinkat-with-size (Depends-on): Likewise.
45996         * modules/faccessat (Depends-on): Likewise.
45997         * modules/fchmodat (Depends-on): Likewise.
45998         * modules/fchownat (Depends-on): Likewise.
45999         * modules/getcwd (Depends-on): Likewise.
46000         * modules/mkdirat (Depends-on): Likewise.
46001         * modules/mkfifoat (Depends-on): Likewise.
46002         * modules/readlinkat (Depends-on): Likewise.
46003         * modules/symlinkat (Depends-on): Likewise.
46004         * modules/dup2-tests (Depends-on): Likewise.
46005         * modules/fdutimensat-tests (Depends-on): Likewise.
46006         * modules/futimens-tests (Depends-on): Likewise.
46008 2011-11-19  Bruno Haible  <bruno@clisp.org>
46010         euidaccess: Update a comment.
46011         * lib/euidaccess.c: Update comment about platforms with faccessat.
46013 2011-11-19  Bruno Haible  <bruno@clisp.org>
46015         openat: Fix file list.
46016         * modules/openat (Files): Remove lib/at-func.c.
46018 2011-11-19  Bruno Haible  <bruno@clisp.org>
46020         fstatat: Simplify.
46021         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
46022         gnulib should define rpl_fstatat, there is a
46023         "#define fstatat rpl_fstatat" in <sys/stat.h>.
46025 2011-11-19  Bruno Haible  <bruno@clisp.org>
46027         Ensure 'inline' can be used in tests/test-utimens-common.h.
46028         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
46029         * modules/futimens-tests (configure.ac): Likewise.
46030         * modules/utimens-tests (configure.ac): Likewise.
46031         * modules/utimensat-tests (configure.ac): Likewise.
46033 2011-11-19  Simon Josefsson  <simon@josefsson.org>
46035         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
46036         not hash_insert0.
46037         (hash_insert_if_absent): Doc fix.
46039 2011-11-19  Simon Josefsson  <simon@josefsson.org>
46041         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
46043 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
46045         test-getcwd: disambiguate exit status
46046         * tests/test-getcwd.c (test_long_name): Return 0..7.
46047         (main): Exit with an unambiguous exit status.  The old
46048         code yielded a mysterious mixture of two failure codes.
46050         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
46051         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
46052         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
46053         rpl_fstatat or fstatat.  This should fix the other problem
46054         reported by Kai Habel in
46055         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
46056         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
46057         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
46058         and I reproduced it on a Solaris 8 host we still have in production.
46060 2011-11-18  Jim Meyering  <meyering@redhat.com>
46062         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
46063         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
46064         Add a sentence to the comment.
46065         (hash_insert0): New function that simply calls hash_insert_if_absent.
46066         * lib/hash.h (hash_insert_if_absent): Declare it.
46067         (hash_insert0): Add deprecation attribute.
46068         (_GL_ATTRIBUTE_DEPRECATED): Define.
46069         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
46070         not hash_insert0.
46071         * NEWS: Mention it, even though it's not really an incompatible change.
46073 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
46075         openat: avoid compilation failure due to lack of <errno.h> inclusion
46076         * lib/openat.c: Include <errno.h>.
46078 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46080         * modules/getcwd (Depends-on): Add fdopendir.
46081         This fixes one of the two problems reported by Kai Habel in
46082         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
46084         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
46085         stdalign problem reported by Ian Beckwith in
46086         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
46087         * modules/crypto/gc-arcfour (Depends-on):
46088         Depend conditionally on crypto/arcfour.
46089         * modules/crypto/gc-arctwo (Depends-on):
46090         Depend conditionally on crypto/arctwo.
46091         * modules/crypto/gc-des (Depends-on):
46092         Depend conditionally on crypto/des.
46093         * modules/crypto/gc-hmac-md5 (Depends-on):
46094         Depend conditionally on crypto/hmac-md5.
46095         * modules/crypto/gc-hmac-sha1 (Depends-on):
46096         Depend conditionally on crypto/hmac-sha1.
46097         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
46098         * modules/crypto/gc-md4 (Depends-on):
46099         Depend conditionally on crypto/md4.
46100         * modules/crypto/gc-md5 (Depends-on):
46101         Depend conditionally on crypto/md5.
46102         * modules/crypto/gc-rijndael (Depends-on):
46103         Depend conditionally on crypto/rijndael.
46104         * modules/crypto/gc-sha1 (Depends-on):
46105         Depend conditionally on crypto/sha1.
46106         * modules/crypto/gc-arcfour:
46107         * modules/crypto/gc-arctwo:
46108         * modules/crypto/gc-des:
46109         * modules/crypto/gc-hmac-md5:
46110         * modules/crypto/gc-hmac-sha1:
46111         * modules/crypto/gc-md2:
46112         * modules/crypto/gc-md4:
46113         * modules/crypto/gc-md5:
46114         * modules/crypto/gc-rijndael:
46115         * modules/crypto/gc-sha1:
46116         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
46117         now that the conditional dependencies do the work for us.
46119 2011-11-17  Jim Meyering  <meyering@redhat.com>
46121         tests: factor st_ctime-comparison out of two headers
46122         * tests/test-utimens-common.h (ctime_compare): Define.
46123         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
46124         * tests/test-lutimens.h (test_lutimens): Likewise.
46125         * tests/test-utimens.h (test_utimens): Likewise.
46127         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
46128         Invoke the test program via an init.sh-using wrapper.
46129         * tests/test-getcwd.sh: New file.
46130         * modules/getcwd-tests (Files): Add it.
46131         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
46133 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
46135         gitlog-to-changelog: support multi-author commits.
46136         The FSF cares about keeping track of all authors of patches to its
46137         projects, but Git doesn't provide obvious support for multi-author
46138         changesets. Consensus seems to be forming around the use of extra
46139         Signed-off-by inspired lines in the log message formatted as
46140         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
46141         multi-author commits between version control systems.
46142         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
46143         log message and output in standard ChangeLog multi-author format.
46144         Reported by Peter Rosin <peda@lysator.liu.se>
46146 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
46147             Bruno Haible  <bruno@clisp.org>
46149         Fix some modules' file list.
46150         * modules/fstatat (Files): Add m4/lstat.m4.
46151         * modules/openat (Files): Likewise.
46152         * modules/unlinkat (Files): Likewise.
46154 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
46156         maint.mk: fix tight-scope.mk generation in VPATH builds.
46157         * top/maint.mk (tight-scope.mk): Make sure to prefix file
46158         reference with $(srcdir) so that the file is found correctly even
46159         when running `make syntax-check' in a VPATH build.
46161 2011-11-13  Bruno Haible  <bruno@clisp.org>
46162             Jim Meyering  <meyering@redhat.com>
46164         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
46165         * tests/init.sh (compare): Remove "No differences encountered" or
46166         synonymous output from the 'diff' program.
46168 2011-11-13  Bruno Haible  <bruno@clisp.org>
46170         Makefile: Tweak indentation.
46171         * Makefile: Use tab as first character in every line that contains rule
46172         commands.
46174 2011-11-13  Bruno Haible  <bruno@clisp.org>
46176         Syntax check for copyright statements.
46177         * check-copyright: New file.
46178         * Makefile (sc_check_copyright): New rule.
46180 2011-11-13  Simon Josefsson  <simon@josefsson.org>
46182         * build-aux/git-version-gen: Add --prefix to configure the tag
46183         match string.
46185 2011-11-13  Simon Josefsson  <simon@josefsson.org>
46187         * build-aux/git-version-gen: Add --help and --version.
46189 2011-11-12  Jim Meyering  <meyering@redhat.com>
46191         revamp the other test-exclude?.sh scripts to use init.sh, too
46192         * tests/test-exclude1.sh: Use init.sh.
46193         * tests/test-exclude2.sh: Likewise.
46194         * tests/test-exclude3.sh: Likewise.
46195         * tests/test-exclude4.sh: Likewise.
46196         * tests/test-exclude5.sh: Likewise.
46197         * tests/test-exclude6.sh: Likewise.
46198         * tests/test-exclude7.sh: Likewise.
46199         * tests/test-exclude8.sh: Likewise.
46200         * modules/exclude-tests (Files): List init.sh.
46202         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
46203         These shell scripts ignored failure of the binary test-exclude,
46204         so making the latter return 77 didn't cause them to be skipped.
46205         * tests/test-exclude5.sh: Exit with test-exclude's error status
46206         when that program fails.  Revamp to use init.sh.
46207         * tests/test-exclude2.sh: Likewise.
46209         test-exclude: fix a typo
46210         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
46212 2011-11-11  Bruno Haible  <bruno@clisp.org>
46214         obstack: Fix compilation error on MSVC 9.
46215         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
46217 2011-11-11  Jim Meyering  <meyering@redhat.com>
46219         test-exclude: skip tests rather than failing on deficient systems
46220         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
46221         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
46222         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
46223         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
46225 2011-11-10  Bruno Haible  <bruno@clisp.org>
46227         ptsname_r test: Avoid gcc warning on glibc systems.
46228         * tests/test-ptsname_r.c (null_ptr): New function.
46229         (test_errors): Use it.
46231 2011-11-10  Bruno Haible  <bruno@clisp.org>
46233         ptsname_r: Avoid compilation error on OSF/1 5.1.
46234         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
46235         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
46236         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
46237         function is not declared or incompatibly declared.
46238         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
46239         * modules/ptsname_r (Depends-on, configure.ac): Update.
46240         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
46242 2011-11-10  Bruno Haible  <bruno@clisp.org>
46244         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
46245         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
46246         When cross-compiling, guess yes on all platforms except AIX.
46247         Reported by Ludovic Courtès <ludo@gnu.org>.
46249 2011-11-09  Bruno Haible  <bruno@clisp.org>
46251         ptsname_r tests: Fix bugs.
46252         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
46253         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
46255 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46257         fstatat: work with cross-compilation
46258         Problem reported by Ludovic Courtès in
46259         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
46260         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
46261         "cross-compiling" and assume the bug is present.  Replace
46262         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
46263         an inverted sense, to be more conservative about our assumptions.
46264         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
46266 2011-11-09  Bruno Haible  <bruno@clisp.org>
46268         Improve MODULES.html output.
46269         * modules/mkfifoat (Description): Use the word "function".
46270         * modules/readlinkat (Description): Likewise.
46271         * modules/symlinkat (Description): Likewise.
46273 2011-11-09  Eric Blake  <eblake@redhat.com>
46275         ptsname_r-tests: new test module
46276         * modules/ptsname_r-tests: New module.
46277         * tests/test-ptsname_r.c: New file.
46279         ptsname_r: new module
46280         * modules/ptsname_r: New module.
46281         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
46282         * lib/ptsname.c (__ptsname_r): Split...
46283         * lib/ptsname_r.c: ...into new file.
46284         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46285         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
46286         * modules/stdlib (Makefile.am): Substitute witnesses.
46287         * lib/stdlib.in.h (ptsname_r): Declare it.
46288         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
46289         * MODULES.html.sh (Misc): Likewise.
46290         * modules/ptsname (Depends-on): Alter dependency.
46291         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
46293 2011-11-09  Jim Meyering  <meyering@redhat.com>
46295         announce-gen: be more concise when there's only one URL+tarball
46296         * build-aux/announce-gen (get_tool_versions): When you distribute
46297         only one type of tarball, combine the first two "Here are..."
46298         sections and make the key-checking grammar independent of
46299         how many tarballs there are.
46301 2011-11-09  Eric Blake  <eblake@redhat.com>
46303         openpty: provide a stub on mingw
46304         * lib/pty.in.h (includes): Provide forward declarations.
46305         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
46307         raise: fix mingw handling of SIGPIPE
46308         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
46310 2011-11-08  Bruno Haible  <bruno@clisp.org>
46312         More conditional dependencies.
46313         * modules/faccessat (Depends-on): Add conditions.
46314         * modules/fchmodat (Depends-on): Likewise.
46315         * modules/fchownat (Depends-on): Likewise.
46316         * modules/fstatat (Depends-on): Likewise.
46317         * modules/mkfifoat (Depends-on): Likewise.
46318         * modules/readlinkat (Depends-on): Likewise.
46319         * modules/symlinkat (Depends-on): Likewise.
46320         * modules/unlinkat (Depends-on): Likewise.
46321         * modules/utimensat (Depends-on): Likewise.
46322         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
46323         * modules/linkat (Depends-on): Refine the conditions.
46324         * modules/renameat (Depends-on): Likewise.
46326 2011-11-08  Bruno Haible  <bruno@clisp.org>
46328         faccessat: Move AC_LIBOBJ invocation to module description.
46329         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
46330         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
46331         invocation from here...
46332         * modules/faccessat (configure.ac): ... to here. Invoke
46333         gl_PREREQ_FACCESSAT.
46335 2011-11-08  Bruno Haible  <bruno@clisp.org>
46337         faccessat: Simplify autoconf macro.
46338         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
46339         gl_FUNC_EUIDACCESS.
46341 2011-11-08  Bruno Haible  <bruno@clisp.org>
46343         renameat: Fix dependencies.
46344         * modules/renameat (Depends-on): Add stdbool.
46346 2011-11-08  Bruno Haible  <bruno@clisp.org>
46348         mkfifoat: Fix module description.
46349         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
46350         not gl_UNISTD_MODULE_INDICATOR.
46352 2011-11-08  Bruno Haible  <bruno@clisp.org>
46354         fstatat: Remove unused dependency.
46355         * modules/fstatat (Depends-on): Remove fstat.
46357 2011-11-08  Simon Josefsson  <simon@josefsson.org>
46359         GNUmakefile: behave when Makefile is missing.
46360         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
46362 2011-11-08  Bruno Haible  <bruno@clisp.org>
46364         openat: Conditionalize dependencies.
46365         * lib/openat.c: Reduce the scope of some #includes.
46366         * modules/openat (Depends-on): Add conditions.
46368 2011-11-07  Jim Meyering  <meyering@redhat.com>
46370         maint.mk: extract GPG key ID without using a temporary file
46371         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
46372         without using a temporary file.  Based on a suggestion from Werner Koch
46373         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
46375 2011-11-07  Eric Blake  <eblake@redhat.com>
46377         grantpt: fix typo
46378         * lib/stdlib.in.h (grantpt): Check correct function.
46380         maint.mk: silence new syntax check
46381         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
46383 2011-11-06  Bruno Haible  <bruno@clisp.org>
46385         Doc about floating-point and math API.
46386         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
46387         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
46389 2011-11-06  Bruno Haible  <bruno@clisp.org>
46391         stdalign tests: Skip the test when compiled by Sun C.
46392         * tests/test-stdalign.c (main): Skip the test on Sun C.
46394 2011-11-06  Bruno Haible  <bruno@clisp.org>
46396         ansi-c++-opt: Complete the 2011-06-05 change.
46397         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
46398         does not support namespaces, set the variable to "no", not to ":".
46400 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
46402         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
46404 2011-11-06  Bruno Haible  <bruno@clisp.org>
46406         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
46407         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
46408         (minus_zerol) [HP-UX]: New macro.
46409         (unary_minus) [HP-UX]: New function.
46410         (copysignl) [HP-UX]: Use unary_minus function.
46412 2011-11-06  Bruno Haible  <bruno@clisp.org>
46414         ldexp, ldexpf, ldexpl: Enhance tests.
46415         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
46416         and tests/test-ldexpl.c.
46417         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
46418         LDEXP, MIN_EXP, MAX_EXP): New macros.
46419         Include test-ldexp.h.
46420         (main): Just call test_function.
46421         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
46422         infinity.h, nan.h.
46423         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46424         MAX_EXP): New macros.
46425         Include test-ldexp.h.
46426         (x, y): Remove variables.
46427         (main): Just call test_function.
46428         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
46429         infinity.h, nan.h.
46430         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46431         MAX_EXP): New macros.
46432         Include test-ldexp.h.
46433         (x, y): Remove variables.
46434         (main): Just call test_function.
46435         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
46436         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
46437         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46438         (Depends-on): Add isnand-nolibm, signbit, float.
46439         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
46440         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46441         (Depends-on): Add isnanf-nolibm, signbit, float.
46443 2011-11-06  Bruno Haible  <bruno@clisp.org>
46445         math tests: Cosmetics.
46446         * tests/test-math-c++.cc: Reorder declarations.
46448 2011-11-05  Bruno Haible  <bruno@clisp.org>
46450         fma*: Simplify test.
46451         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
46452         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
46454         Tests for module 'fmal'.
46455         * modules/fmal-tests: New file.
46456         * tests/test-fmal1.c: New file.
46457         * tests/test-fmal2.c: New file.
46459         New module 'fmal'.
46460         * lib/math.in.h (fmal): New declaration.
46461         * lib/fmal.c: New file.
46462         * m4/fmal.m4: New file.
46463         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
46464         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
46465         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
46466         REPLACE_FMAL.
46467         * modules/fmal: New file.
46468         * doc/posix-functions/fmal.texi: Mention the new module and the various
46469         bugs.
46471         Tests for module 'fmaf'.
46472         * modules/fmaf-tests: New file.
46473         * tests/test-fmaf1.c: New file.
46474         * tests/test-fmaf2.c: New file.
46476         New module 'fmaf'.
46477         * lib/math.in.h (fmaf): New declaration.
46478         * lib/fmaf.c: New file.
46479         * m4/fmaf.m4: New file.
46480         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
46481         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
46482         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
46483         REPLACE_FMAF.
46484         * modules/fmaf: New file.
46485         * doc/posix-functions/fmaf.texi: Mention the new module and the various
46486         bugs.
46488         Tests for module 'fma'.
46489         * modules/fma-tests: New file.
46490         * tests/test-fma1.c: New file.
46491         * tests/test-fma1.h: New file.
46492         * tests/test-fma2.c: New file.
46493         * tests/test-fma2.h: New file.
46495         New module 'fma'.
46496         * lib/math.in.h (fma): New declaration.
46497         * lib/fma.c: New file.
46498         * m4/fma.m4: New file.
46499         * m4/fegetround.m4: New file.
46500         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
46501         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
46502         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
46503         REPLACE_FMA.
46504         * modules/fma: New file.
46505         * doc/posix-functions/fma.texi: Mention the new module and the various
46506         bugs.
46508         Extend gl_MATHFUNC.
46509         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
46510         Support 'void' as argument type.
46511         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
46513 2011-11-05  Jim Meyering  <meyering@redhat.com>
46515         maint.mk: also prohibit inclusion of dirent.h without use
46516         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
46518 2011-11-05  Bruno Haible  <bruno@clisp.org>
46520         ldexpl tests: Avoid test failure on MSVC 9.
46521         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
46522         value. Needed in order to enforce the conversion from a value greater
46523         than LDBL_MAX to Infinity.
46525 2011-11-05  Bruno Haible  <bruno@clisp.org>
46527         New modules 'at-internal', 'openat-h', split off from module 'openat'.
46528         * modules/at-internal: New file, extracted from modules/openat.
46529         * modules/openat-h: New file.
46530         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
46531         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
46532         * modules/openat (Description): Add reference to POSIX function.
46533         (Files): Remove lib/openat.h, lib/openat-proc.c.
46534         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
46535         intprops, unistd.
46536         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
46537         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
46538         gl_FCNTL_MODULE_INDICATOR.
46539         (Include): Remove unistd.h, openat.h.
46540         * modules/areadlinkat (Files): Add lib/at-func.c.
46541         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46542         openat-die, openat-h, save-cwd.
46543         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
46544         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46545         openat-die, openat-h, save-cwd, unistd.
46546         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
46547         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46548         openat-h, save-cwd. Remove fcntl-h, openat.
46549         * modules/fchmodat (Files): Remove lib/openat.h.
46550         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46551         openat, stdbool, unistd.
46552         * modules/fchownat (Files): Remove lib/openat.h.
46553         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46554         openat, stdbool, sys_stat.
46555         * modules/fdopendir (Files): Remove lib/openat-priv.h,
46556         lib/openat-proc.c.
46557         (Depends-on): Add at-internal.
46558         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
46559         * modules/fstatat (Files): Remove lib/openat.h.
46560         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46561         stdbool, unistd.
46562         * modules/fts (Depends-on): Add openat-h.
46563         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
46564         openat.
46565         * modules/mkdirat (Files): Remove lib/openat.h.
46566         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46567         openat, stdbool, sys_stat.
46568         * modules/mkfifoat (Files): Add lib/at-func.c.
46569         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46570         openat-h, save-cwd. Remove fcntl-h, openat.
46571         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
46572         * modules/readlinkat (Files): Add lib/at-func.c.
46573         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46574         openat-h, save-cwd. Remove fcntl-h, openat.
46575         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
46576         openat.
46577         * modules/selinux-at (Files): Add lib/at-func.c.
46578         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46579         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
46580         * modules/symlinkat (Files): Add lib/at-func.c.
46581         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46582         openat-h, save-cwd. Remove fcntl-h, openat.
46583         * modules/unlinkat (Files): Remove lib/openat.h.
46584         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46585         stdbool.
46586         * modules/utimensat (Files): Add lib/at-func.c.
46587         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
46588         openat-die, openat-h, save-cwd.
46589         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
46590         * modules/fdutimensat-tests (Depends-on): Add openat.
46591         * modules/fstatat-tests (Depends-on): Add openat-h.
46592         * modules/readlinkat-tests (Depends-on): Add openat.
46593         * modules/symlinkat-tests (Depends-on): Add openat.
46595 2011-11-05  Bruno Haible  <bruno@clisp.org>
46597         openat: Include <stdbool.h>.
46598         * lib/openat.c: Include <stdbool.h>.
46600 2011-11-04  Bruno Haible  <bruno@clisp.org>
46602         fchownat, renameat, unlinkat: Fix dependencies.
46603         * modules/fchownat (Depends-on): Add fstatat.
46604         * modules/renameat (Depends-on): Likewise.
46605         * modules/unlinkat (Depends-on): Likewise.
46607 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
46609         openat: remove direct dependency on dirent
46610         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
46611         and hasn't been needed ever since fdopendir was split into its own
46612         module on 2009-08-31.
46613         * modules/openat (Depends-on): Remove dirent.
46615 2011-11-04  Bruno Haible  <bruno@clisp.org>
46617         renameat: Optimize code size.
46618         * modules/renameat (configure.ac): Don't compile at-func2.c if
46619         REPLACE_RENAMEAT is 1.
46621 2011-11-04  Bruno Haible  <bruno@clisp.org>
46623         openat tests: Fix file list.
46624         * modules/openat-tests (Files): Add tests/test-open.h.
46626 2011-11-04  Bruno Haible  <bruno@clisp.org>
46628         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
46629         * modules/fchmodat (Depends-on): Add openat-die.
46630         * modules/fchownat (Depends-on): Likewise.
46631         * modules/linkat (Depends-on): Likewise.
46632         * modules/renameat (Depends-on): Likewise.
46633         * modules/openat (Depends-on): Add dirent.
46635 2011-11-04  Jim Meyering  <meyering@redhat.com>
46637         at-func*.c: fix comments
46638         * lib/at-func2.c: Correct/improve first-line comment.
46639         * lib/at-func.c: Correct grammar in first-line comment.
46641 2011-11-04  Bruno Haible  <bruno@clisp.org>
46643         New module 'mkdirat', split off from module 'openat'.
46644         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
46645         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
46646         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
46647         * modules/mkdirat: New file, extracted from modules/openat.
46648         * modules/openat (Files): Remove lib/mkdirat.c.
46649         (Depends-on): Remove mkdir.
46650         (configure.ac): Remove AC_LIBOBJ of mkdirat.
46651         (Include): Remove <sys/stat.h>.
46652         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
46653         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
46654         tests/test-mkdir.h.
46655         (Depends-on): Remove ignore-value.
46656         (Makefile.am): Remove rules for test-mkdirat.
46657         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
46658         of module 'openat'.
46659         * NEWS: Mention the change.
46661 2011-11-04  Bruno Haible  <bruno@clisp.org>
46663         closedir: Avoid warning on mingw.
46664         * lib/closedir.c: Include <unistd.h>.
46666 2011-11-04  Bruno Haible  <bruno@clisp.org>
46668         New module 'fstatat', split off from module 'openat'.
46669         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
46670         defined.
46671         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
46672         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
46673         gl_FUNC_FSTATAT.
46674         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
46675         * modules/fstatat: New file, extracted from modules/openat.
46676         * modules/openat (Files): Remove lib/fstatat.c.
46677         (Depends-on): Remove lstat.
46678         (configure.ac): Remove AC_LIBOBJ of fstatat.
46679         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
46680         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
46681         tests/test-lstat.h, tests/test-stat.h.
46682         (Depends-on): Remove getcwd-lgpl.
46683         (Makefile.am): Remove rules for test-fstatat.
46684         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
46685         of module 'openat'.
46686         * NEWS: Mention the change.
46687         * modules/getcwd (Depends-on): Add fstatat.
46688         * modules/linkat (Depends-on): Likewise.
46689         * modules/mkfifoat-tests (Depends-on): Likewise.
46690         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
46692 2011-11-03  Bruno Haible  <bruno@clisp.org>
46694         New module 'unlinkat', split off from module 'openat'.
46695         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
46696         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
46697         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
46698         * modules/unlinkat: New file, extracted from modules/openat. Correct
46699         the dependency conditions.
46700         * modules/openat (Files): Remove lib/unlinkat.c.
46701         (Depends-on): Remove rmdir, unlink.
46702         (configure.ac): Remove AC_LIBOBJ of unlinkat.
46703         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
46704         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
46705         tests/test-rmdir.h, tests/test-unlink.h.
46706         (Depends-on): Remove unlinkdir.
46707         (Makefile.am): Remove rules for test-unlinkat.
46708         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
46709         of module 'openat'.
46710         * NEWS: Mention the change.
46711         * modules/linkat-tests (Depends-on): Add unlinkat.
46712         * modules/mkfifoat-tests (Depends-on): Likewise.
46713         * modules/readlinkat-tests (Depends-on): Likewise.
46715 2011-11-02  Bruno Haible  <bruno@clisp.org>
46717         New module 'fchmodat', split off from module 'openat'.
46718         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
46719         defined.
46720         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
46721         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
46722         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
46723         * modules/fchmodat: New file, extracted from modules/openat.
46724         * modules/openat (Files): Remove lib/fchmodat.c.
46725         (configure.ac): Remove AC_LIBOBJ of fchmodat.
46726         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
46727         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
46728         (Makefile.am): Remove rules for test-fchmodat.
46729         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
46730         of module 'openat'.
46731         * NEWS: Mention the change.
46733 2011-11-02  Jim Meyering  <meyering@redhat.com>
46735         putenv: indent #definition of "environ" to placate cppi
46736         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
46738         gitlog-to-changelog: provide a ChangeLog-repair mechanism
46739         Git logs are often treated as immutable, because editing them
46740         changes the SHA1 checksums of all descendants.  Thus, errors in
46741         git logs tend to stay there forever.  However, when we generate
46742         a ChangeLog file -- typically for distribution -- from that git log,
46743         we can actually make corrections in the generated file.  The key
46744         lies in recording in machine-readable/applicable form the desired
46745         corrections.  See --help for description and an example.
46746         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
46747         (usage): Describe it; alphabetize option descriptions.
46748         (main): Honor the new option, carefully.
46750 2011-11-01  Jim Meyering  <meyering@redhat.com>
46752         gitlog-to-changelog: avoid an infloop
46753         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
46754         that ends up being empty.
46756 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46758         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
46759         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
46760         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
46761         contains (possibly-quoted) backslashes.  This should avoid
46762         all-too-common shell bugs if COMPLICATED contains backslashes in
46763         the "wrong" places.  Reported by David Evans in
46764         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
46765         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
46766         because we want ASCII ranges.  Is there some reason we don't use
46767         the C locale everywhere in this script?
46768         (func_module, top level): Avoid unwanted pathname expansion when
46769         $repo_url_prefix or $repo_url_suffix_repl contain shell
46770         metacharacters like '?' and '*'.
46772 2011-11-01  Bruno Haible  <bruno@clisp.org>
46774         fchownat: Improve description.
46775         * modules/fchownat (Description): Add link to function.
46777 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46779         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
46780         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
46781         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
46782         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
46784 2011-11-01  Bruno Haible  <bruno@clisp.org>
46786         alignof: Avoid collision with stdalign module.
46787         * lib/alignof.h (alignof): Remove macro.
46788         * NEWS: Mention the change.
46789         Reported by Paul Eggert.
46791 2011-11-01  Bruno Haible  <bruno@clisp.org>
46793         New module 'fchownat', split off from module 'openat'.
46794         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
46795         defined.
46796         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
46797         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
46798         invoke gl_FUNC_FCHOWNAT.
46799         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
46800         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
46801         * modules/fchownat: New file, extracted from modules/openat.
46802         * modules/openat (Files): Remove lib/fchownat.c.
46803         (Depends-on): Remove lchown.
46804         (configure.ac): Remove AC_LIBOBJ of fchownat.
46805         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
46806         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
46807         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
46808         (Depends-on): Remove mgetgroups, usleep, stat-time.
46809         (configure.ac): Remove test for getegid.
46810         (Makefile.am): Remove rules for test-fchownat.
46811         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
46812         of module 'openat'.
46813         * NEWS: Mention the change.
46815 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
46817         stdalign: port better to MSVC and to Sun C 5.11
46818         This fixes some of the problems reported by Bruno Haible in
46819         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
46820         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
46821         shortcomings of MSVC and of Sun C 5.11.
46822         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
46823         around __declspec arg.
46824         * modules/stdalign-tests (Files): Add tests/macros.h.
46825         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
46826         Include macros.h, for ASSERT.
46827         (DECLARE_ALIGNED): Remove.
46828         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
46829         to catch bug), and to 1 if not (simplifies the rest of the code).
46830         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
46831         (CHECK_AUTO): Remove.
46832         (CHECK_ALIGNED): Check only the alignment of the static vars,
46833         since auto var alignment isn't supported by Sun C 5.11.
46834         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
46835         ASSERT failures are easier to diagnose.
46837 2011-10-31  Bruno Haible  <bruno@clisp.org>
46839         doc about some IRIX 5.3 problems.
46840         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
46841         on IRIX 5.3.
46842         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
46843         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
46844         5.3.
46845         * doc/posix-functions/grantpt.texi: Likewise.
46846         * doc/posix-functions/unlockpt.texi: Likewise.
46847         * doc/posix-functions/lgamma.texi: Likewise.
46848         * doc/posix-functions/nextafter.texi: Likewise.
46849         * doc/posix-functions/remainder.texi: Likewise.
46850         * doc/posix-functions/select.texi: Mention misplaced declaration on
46851         IRIX 5.3.
46852         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46854 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
46856         gitlog-to-changelog: fix git-log invocation.
46857         git-log mishandles date strings before 1970-01-01 UTC, and there is
46858         no use to specify --since=1970-01-01 by default anyway.
46859         * build-aux/gitlog-to-changelog: By default, when no --since option
46860         was given, do not specify explicit --since option to git-log.
46862 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
46864         gitlog-to-changelog: new option --append-dot.
46865         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
46866         first non-blank line of each commit message terminated with a dot.
46868 2011-10-30  Bruno Haible  <bruno@clisp.org>
46870         ffsl, ffsll: Avoid compilation error due to 'restrict'.
46871         * lib/ffsl.h: Include <config.h>.
46872         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
46874 2011-10-30  Jim Meyering  <meyering@redhat.com>
46876         GNUmakefile: reenable "make syntax-check" for most projects
46877         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
46878         build-aux variable", "syntax-check" would do nothing but succeed with
46879         the "No version control files detected..." diagnostic (unless you
46880         happened to override _build-aux via cfg.mk).
46881         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
46882         to precede inclusion of maint.mk.  Otherwise, these variables would
46883         be used undefined in any project that does not override the default.
46885 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
46887         gitlog-to-changelog: treat a message with only blank lines as empty.
46888         * build-aux/gitlog-to-changelog: Move the code that removes leading and
46889         trailing blank lines before the code that issues a warning about an
46890         empty commit message.
46892 2011-10-30  Jim Meyering  <meyering@redhat.com>
46894         test-parse-datetime.c: avoid new DST-related false positive test failure
46895         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
46896         based on the time/date we'll convert, not the current time.
46897         Otherwise, the moment we cross a DST boundary like today's in
46898         Europe, (CEST to CET), that offset ends up being one hour off.
46900 2011-10-27  Bruno Haible  <bruno@clisp.org>
46902         fstat: Tweak documentation.
46903         * modules/fstat (Description): More precise description.
46905 2011-10-27  Bruno Haible  <bruno@clisp.org>
46907         Update documentation regarding 'largefile' module.
46908         * doc/posix-functions/fstat.texi: Tweak wording.
46909         * doc/posix-functions/opendir.texi: Mention that the module fixes the
46910         problems with huge directories and/or small ino_t types.
46911         * doc/posix-functions/readdir.texi: Likewise.
46912         * doc/posix-functions/rewinddir.texi: Likewise.
46914 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
46916         maint.mk: don't maintain a second build-aux variable.
46917         * maint.mk (build_aux): Removed.  The maintainer-makefile module
46918         depends on GNUmakefile, which already maintains a cfg.mk
46919         overridable $(_build-aux) for projects with a non-standard
46920         build-aux directory location, although without the $(srcdir)
46921         prefix.  Use that variable consistently instead of introducing a
46922         second one.  Adjust all call sites.
46924 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46926         Add stdalign module and use it in other modules.
46927         This is based on a previous proposal by Bruno Haible
46928         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
46930         stdalign: new module
46931         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
46932         * modules/stdalign: New files.
46933         * MODULES.html.sh (c1x_core_properties): Add stdalign.
46934         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
46936         stdalign-tests: new module
46937         * modules/stdalign-tests, tests/test-stdalign.c: New files.
46939         argp: use stdalign
46940         * lib/argp-parse.c: Include <stdalign.h>.
46941         (alignof): Remove.
46942         * modules/argp (Depends-on): Add stdalign.
46944         crypto libraries: use stdalign
46945         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
46946         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
46947         Do not include <stdlib.h> twice, in md4.c.
46948         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
46949         because we are accessing a pointer's bit-pattern, not a size.
46950         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
46951         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
46952         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
46953         * modules/crypto/sha512: Likewise.
46955         sys_socket: use stdalign, not alignof
46956         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
46957         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
46959 2011-10-27  Bruno Haible  <bruno@clisp.org>
46961         raise test: Avoid a test failure on Linux/MIPS.
46962         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
46963         because 99 is a valid signal on Linux/MIPS.
46965 2011-10-27  Bruno Haible  <bruno@clisp.org>
46967         nonblocking tests: Fix test failure on Linux/MIPS.
46968         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
46969         Set to 270000.
46971 2011-10-27  Bruno Haible  <bruno@clisp.org>
46973         utimensat: Work around problem on Linux/hppa.
46974         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
46975         values.
46976         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
46978 2011-10-25  Jim Meyering  <meyering@redhat.com>
46980         maint.mk: fix a bug in sc_prohibit_stddef_without_use
46981         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
46982         after symbols like NULL, size_t, etc.
46983         Reported by Alfred M. Szmidt.
46985         maint.mk: exempt ENODATA from a syntax-check rule
46986         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
46987         from the sc_prohibit_always-defined_macros syntax-check rule.
46988         Add a comment.  See this for more details:
46989         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
46991 2011-10-23  Jim Meyering  <meyering@redhat.com>
46993         fts: close parent dir FD before returning from post-traversal fts_read
46994         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
46995         unlink A, even though an FD open on A remained.  This is suboptimal
46996         (holding a file descriptor open longer than needed), but otherwise not
46997         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
46998         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
46999         that represents a real problem: it causes the removal of A to fail
47000         with e.g., "rm: cannot remove `A': Device or resource busy"
47002         fts visits each directory twice and keeps a cache (fts_fd_ring) of
47003         directory file descriptors.  After completing the final, FTS_DP,
47004         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
47005         cache, but then proceeded to add a new FD to it via the subsequent
47006         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
47007         final file descriptor would be closed only via fts_close's call to
47008         fd_ring_clear.  Now, it is usually closed earlier, via the final
47009         FTS_DP-returning fts_read call.
47010         * lib/fts.c (restore_initial_cwd): New function, converted from
47011         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
47012         Update callers.
47013         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
47014         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
47016 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
47017             Bruno Haible  <bruno@clisp.org>
47018             Jim Meyering  <jim@meyering.net>
47020         readme-release: improve safety of release prep instructions.
47021         * README-release: Don't git pull all branches when only master
47022         is needed for the release process.
47023         Run make maintainer-clean before changing trees and merging.
47024         Don't try to run ./configure right after git pull in case files
47025         that influence the bootstrap process have changed, move the
47026         ./configure step to after running ./bootstrap.
47027         Don't bootstrap "one last time"... it's the first time!
47029 2011-10-22  Bruno Haible  <bruno@clisp.org>
47031         errno, strerror-override: Support for MSVC 10.
47032         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
47033         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
47034         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
47035         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
47036         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
47037         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
47038         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
47039         Assign values compatible with MSVC 10.
47040         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
47041         New macros.
47042         (GNULIB_defined_EWINSOCK): New macro.
47043         * lib/strerror-override.c (strerror_override): Update accordingly.
47044         * lib/strerror-override.h: Likewise.
47045         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
47046         longer equal to the corresponding errno value.
47047         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
47049 2011-10-22  Bruno Haible  <bruno@clisp.org>
47051         perror: Recognize when test program crashes.
47052         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
47053         strerror, set gl_cv_func_perror_works to no.
47054         Reported by Daniel Richard G. <skunk@iskunk.org>.
47056         perror: Fix indentation.
47057         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
47059 2011-10-22  Bruno Haible  <bruno@clisp.org>
47061         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
47062         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
47063         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
47064         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
47065         functions, not as a macro.
47066         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
47067         macros.
47068         (isfinite, isinf, isnan, signbit): Check overloaded functions and
47069         absence of macro.
47070         Suggested by Eric Blake.
47071         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
47073 2011-10-21  Bruno Haible  <bruno@clisp.org>
47075         relocatable-prog-wrapper: Don't leave object files behind.
47076         * build-aux/install-reloc: Re-synchronize list of .o files to be
47077         removed with list of compilation units.
47079 2011-10-20  Bruno Haible  <bruno@clisp.org>
47081         openpty, posix_openpt: Remove code duplication.
47082         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
47083         * lib/openpty.c: Include <stdlib.h>.
47084         (openpty): Use posix_openpt on all platforms except IRIX.
47085         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
47087 2011-10-20  Bruno Haible  <bruno@clisp.org>
47089         unlockpt: Detect invalid argument.
47090         * lib/unlockpt.c: Include <fcntl.h>.
47091         (unlockpt): Check whether fd is valid, using fcntl().
47092         * modules/unlockpt (Depends-on): Add fcntl-h.
47094 2011-10-20  Bruno Haible  <bruno@clisp.org>
47096         openpty: Avoid compilation error on AIX 6.1.
47097         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
47099 2011-10-20  Bruno Haible  <bruno@clisp.org>
47101         posix_openpt: Support for OpenBSD.
47102         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
47103         (posix_openpt) [OpenBSD]: New code.
47104         * lib/grantpt.c: Include <fcntl.h>.
47105         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
47106         * modules/grantpt (Depends-on): Add fcntl-h.
47108 2011-10-20  Bruno Haible  <bruno@clisp.org>
47110         posix_openpt test: Coding style.
47111         * tests/test-posix_openpt.c: Use GNU coding style.
47113 2011-10-20  Bruno Haible  <bruno@clisp.org>
47115         grantpt: Support --avoid=pt_chown.
47116         * modules/grantpt (Files): Add lib/pty-private.h.
47118 2011-10-20  Bruno Haible  <bruno@clisp.org>
47120         posix_openpt: Fix autoconf macro.
47121         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
47122         unneeded check for _getpty.
47124 2011-10-20  Bruno Haible  <bruno@clisp.org>
47126         openpty: Update comments.
47127         * lib/openpty.c: Add comments about Minix.
47129 2011-10-19  Eric Blake  <eblake@redhat.com>
47131         openpty: relax license
47132         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
47134         pt_chown: use configmake to simplify build
47135         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
47137         ptsname and others: relax license
47138         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
47139         * modules/unlockpt (License): Likewise.
47140         * modules/pt_chown (License): Likewise.
47141         * modules/ptsname (License): Likewise.
47142         * modules/ttyname_r (License): Likewise.
47144 2011-10-19  Jim Meyering  <meyering@redhat.com>
47146         posix_openpt: remove spurious #endif
47147         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
47149 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
47151         maint.mk: Respect $(build_aux) in web-manual rule.
47152         * top/maint.mk (web-manual): Find gen-announce script in user's
47153         $(build_aux) directory instead of hard-coding 'build-aux'.
47155 2011-10-19  Bruno Haible  <bruno@clisp.org>
47157         posix_openpt: Fix compilation error.
47158         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
47159         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
47160         Mention the openpty module as an alternative.
47162 2011-10-19  Bruno Haible  <bruno@clisp.org>
47164         Support for old NeXTstep 3.3 frexp().
47165         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
47166         execution time of the test to 5 seconds.
47167         Reported by Daniel Richard G. <skunk@iskunk.org>.
47169 2011-10-19  Bruno Haible  <bruno@clisp.org>
47171         Support for old NeXTstep 3.3 sed.
47172         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
47173         part, use /.../, not \|...|. Escape periods in the header file name.
47174         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
47175         Reported by Daniel Richard G. <skunk@iskunk.org>.
47177 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47179         Support for old NeXTstep 3.3 gcc.
47180         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
47181         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
47182         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
47183         * lib/spawn.in.h (_Restrict_arr_): Likewise.
47184         * lib/regex.h (_Restrict_arr_): Likewise.
47185         * lib/regex_internal.h (re_token_t): Likewise.
47186         * lib/regexec.c (check_node_accept_bytes): Likewise.
47187         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
47189 2011-10-18  Eric Blake  <eblake@redhat.com>
47191         posix_openpt: new module
47192         * modules/posix_openpt: New module.
47193         * m4/posix_openpt.m4: New file.
47194         * lib/posix_openpt.c: Likewise.
47195         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
47196         (gl_STDLIB_H_DEFAULTS): Set defaults.
47197         * modules/stdlib (Makefile.am): Substitute macros.
47198         * lib/stdlib.in.h (posix_openpt): Declare.
47199         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
47200         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
47201         * modules/posix_openpt-tests: New test module.
47202         * tests/test-posix_openpt.c: New test.
47204 2011-10-15  Bruno Haible  <bruno@clisp.org>
47206         xstrtoll: Fix compilation failure.
47207         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
47208         from lib/strtol.c.
47209         * doc/posix-headers/limits.texi: Mention missing numerical limits on
47210         some platforms.
47211         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47213 2011-10-15  Bruno Haible  <bruno@clisp.org>
47215         vasnprintf: Optimize bit search operation.
47216         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
47217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
47218         gl_DOUBLE_EXPONENT_LOCATION.
47219         * modules/vasnprintf (Files): Add m4/exponentd.m4.
47220         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47221         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47222         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47223         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47224         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47225         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47226         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47227         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
47229 2011-10-15  Bruno Haible  <bruno@clisp.org>
47231         vasnprintf: Fix comments.
47232         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
47234 2011-10-14  Bruno Haible  <bruno@clisp.org>
47236         Tests for module 'integer_length_ll'.
47237         * modules/integer_length_ll-tests: New file.
47238         * tests/test-integer_length_ll.c: New file.
47240         New module 'integer_length_ll'.
47241         * lib/integer_length_ll.c: New file.
47242         * modules/integer_length_ll: New file.
47244 2011-10-14  Bruno Haible  <bruno@clisp.org>
47246         Tests for module 'integer_length_l'.
47247         * modules/integer_length_l-tests: New file.
47248         * tests/test-integer_length_l.c: New file.
47250         New module 'integer_length_l'.
47251         * lib/integer_length_l.c: New file.
47252         * modules/integer_length_l: New file.
47254 2011-10-14  Bruno Haible  <bruno@clisp.org>
47256         Tests for module 'integer_length'.
47257         * modules/integer_length-tests: New file.
47258         * tests/test-integer_length.c: New file.
47260         New module 'integer_length'.
47261         * lib/integer_length.h: New file.
47262         * lib/integer_length.c: New file.
47263         * modules/integer_length: New file.
47265 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47267         popen: Fix dependency conditions.
47268         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
47270 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47272         perror: Fix autoconf test.
47273         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
47274         <stdlib.h> and <string.h>.
47276 2011-10-14  Bruno Haible  <bruno@clisp.org>
47278         ffsl: Optimize on 64-bit platforms.
47279         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
47280         unrolling.
47282 2011-10-13  Bruno Haible  <bruno@clisp.org>
47284         ffsl: Optimize on 32-bit platforms.
47285         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
47286         use ffs() without a loop.
47288         ffsl, ffsll: Optimize for GCC.
47289         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
47290         * lib/ffsl.c (GCC_BUILTIN): New macro.
47291         * lib/ffsll.c (GCC_BUILTIN): Likewise.
47293 2011-10-13  Bruno Haible  <bruno@clisp.org>
47295         ffs, bcopy, memset: Support symbol renaming via config.h.
47296         * lib/ffs.c: Include <config.h>.
47297         * lib/bcopy.c: Likewise.
47298         * lib/memset.c: Likewise.
47300 2011-10-10  Bruno Haible  <bruno@clisp.org>
47302         atanl: Simplify for platforms where 'long double' == 'double'.
47303         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47304         alternative implementation.
47305         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47306         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47307         * modules/atanl (Depends-on): Add atan. Update conditions.
47309 2011-10-10  Bruno Haible  <bruno@clisp.org>
47311         acosl: Simplify for platforms where 'long double' == 'double'.
47312         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47313         alternative implementation.
47314         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47315         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47316         * modules/acosl (Depends-on): Add acos. Update conditions.
47318 2011-10-10  Bruno Haible  <bruno@clisp.org>
47320         asinl: Simplify for platforms where 'long double' == 'double'.
47321         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47322         alternative implementation.
47323         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47324         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47325         * modules/asinl (Depends-on): Add asin. Update conditions.
47327 2011-10-10  Bruno Haible  <bruno@clisp.org>
47329         tanl: Simplify for platforms where 'long double' == 'double'.
47330         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47331         implementation.
47332         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47333         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47334         * modules/tanl (Depends-on): Add tan. Update conditions.
47335         (configure.ac): Don't compile trigl.c if
47336         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47338 2011-10-10  Bruno Haible  <bruno@clisp.org>
47340         cosl: Simplify for platforms where 'long double' == 'double'.
47341         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47342         implementation.
47343         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47344         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47345         * modules/cosl (Depends-on): Add cos. Update conditions.
47346         (configure.ac): Don't compile sincosl.c and trigl.c if
47347         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47349 2011-10-10  Bruno Haible  <bruno@clisp.org>
47351         sinl: Simplify for platforms where 'long double' == 'double'.
47352         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47353         implementation.
47354         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47355         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47356         * modules/sinl (Depends-on): Add sin. Update conditions.
47357         (configure.ac): Don't compile sincosl.c and trigl.c if
47358         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47360 2011-10-10  Bruno Haible  <bruno@clisp.org>
47362         logl: Simplify for platforms where 'long double' == 'double'.
47363         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47364         implementation.
47365         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47366         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47367         * modules/logl (Depends-on): Add log. Update conditions.
47369 2011-10-10  Bruno Haible  <bruno@clisp.org>
47371         expl: Simplify for platforms where 'long double' == 'double'.
47372         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47373         implementation.
47374         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47375         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47376         * modules/expl (Depends-on): Add exp. Update conditions.
47378 2011-10-10  Bruno Haible  <bruno@clisp.org>
47380         sqrtl: Simplify for platforms where 'long double' == 'double'.
47381         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47382         alternative implementation.
47383         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47384         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47385         * modules/sqrtl (Depends-on): Update conditions.
47387 2011-10-10  Bruno Haible  <bruno@clisp.org>
47389         ldexpl: Simplify for platforms where 'long double' == 'double'.
47390         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47391         alternative implementation.
47392         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47393         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47394         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
47396 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
47398         ffsll: set correct witness
47399         * modules/ffsll (configure.ac): Fix typo.
47401 2011-10-10  Bruno Haible  <bruno@clisp.org>
47403         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
47404         * lib/printf-frexpl.c: Include <config.h>.
47405         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47406         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
47407         second time.
47408         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
47409         gl_LONG_DOUBLE_VS_DOUBLE.
47410         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
47411         conditions.
47413 2011-10-10  Bruno Haible  <bruno@clisp.org>
47415         frexpl: Simplify for platforms where 'long double' == 'double'.
47416         * lib/frexpl.c: Include <config.h>.
47417         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47418         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47419         time.
47420         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47421         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47422         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
47423         * modules/frexpl (Depends-on): Add frexp. Update conditions.
47424         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
47425         conditions.
47427 2011-10-10  Jim Meyering  <meyering@redhat.com>
47429         test-renameat: don't leave behind a temporary file
47430         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
47431           ERROR: files left in build directory after distclean:
47432           ./gltests/test-renameat.too
47433           make[1]: *** [distcleancheck] Error 1
47434         Reported by Tom G. Christensen.
47436 2011-10-09  Bruno Haible  <bruno@clisp.org>
47438         rint: Determine RINT_LIBM correctly on AIX 7.
47439         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
47440         directly, not only through a function pointer. Also accept an optional
47441         4th argument with extra code.
47442         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
47443         rintf() call by gcc when optimizing.
47445         mathfunc.m4: Refactor.
47446         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
47447         m4 variable.
47449 2011-10-09  Bruno Haible  <bruno@clisp.org>
47451         rintl: Simplify for platforms where 'long double' == 'double'.
47452         * lib/rintl.c: Include <config.h>.
47453         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47454         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47455         time.
47456         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47457         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47458         * modules/rintl (Depends-on): Add rint. Update conditions.
47460 2011-10-09  Bruno Haible  <bruno@clisp.org>
47462         roundl: Simplify for platforms where 'long double' == 'double'.
47463         * lib/roundl.c: Include <config.h>.
47464         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47465         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47466         time.
47467         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47468         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47469         * modules/roundl (Depends-on): Add round. Update conditions.
47471 2011-10-09  Bruno Haible  <bruno@clisp.org>
47473         truncl: Simplify for platforms where 'long double' == 'double'.
47474         * lib/truncl.c: Include <config.h>.
47475         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47476         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47477         time.
47478         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47479         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47480         * modules/truncl (Depends-on): Add trunc. Update conditions.
47482 2011-10-09  Bruno Haible  <bruno@clisp.org>
47484         ceill: Simplify for platforms where 'long double' == 'double'.
47485         * lib/ceill.c: Include <config.h>.
47486         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47487         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47488         time.
47489         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47490         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47491         * modules/ceill (Depends-on): Add ceil. Update conditions.
47493 2011-10-09  Bruno Haible  <bruno@clisp.org>
47495         floorl: Simplify for platforms where 'long double' == 'double'.
47496         * lib/floorl.c: Include <config.h>.
47497         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47498         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47499         time.
47500         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47501         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47502         * modules/floorl (Depends-on): Add floor. Update conditions.
47504 2011-10-09  Bruno Haible  <bruno@clisp.org>
47506         rint: Fix ordering constraints.
47507         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
47508         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
47509         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
47511 2011-10-09  Bruno Haible  <bruno@clisp.org>
47513         copysignl: Simplify for platforms where 'long double' == 'double'.
47514         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47515         alternative.
47516         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47517         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47518         * modules/copysignl (Depends-on): Add copysign. Update conditions.
47520 2011-10-09  Bruno Haible  <bruno@clisp.org>
47522         Tests for module 'rintl'.
47523         * modules/rintl-tests: New file.
47524         * tests/test-rintl.c: New file.
47526         New module 'rintl'.
47527         * lib/math.in.h (rintl): New declaration.
47528         * lib/rintl.c: New file.
47529         * m4/rintl.m4: New file.
47530         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
47531         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
47532         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
47533         * modules/rintl: New file.
47534         * tests/test-math-c++.cc: Check the declaration of rintl.
47535         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47536         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
47537         * doc/posix-functions/rintl.texi: Mention the new module.
47539 2011-10-09  Bruno Haible  <bruno@clisp.org>
47541         Tests for module 'rintf'.
47542         * modules/rintf-tests: New file.
47543         * tests/test-rintf.c: New file.
47545         New module 'rintf'.
47546         * lib/math.in.h (rintf): New declaration.
47547         * lib/rintf.c: New file.
47548         * m4/rintf.m4: New file.
47549         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
47550         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
47551         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
47552         * modules/rintf: New file.
47553         * tests/test-math-c++.cc: Check the declaration of rintf.
47554         * doc/posix-functions/rintf.texi: Mention the new module.
47556 2011-10-09  Bruno Haible  <bruno@clisp.org>
47558         rint: Support for MSVC.
47559         * lib/math.in.h (rint): New declaration.
47560         * lib/rint.c: New file.
47561         * m4/rint.m4: New file.
47562         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
47563         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
47564         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
47565         * modules/rint (Description): Fix.
47566         (Files): Add lib/rint.c, m4/rint.m4.
47567         (Depends-on): Add math.
47568         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
47569         gl_MATH_MODULE_INDICATOR.
47570         * tests/test-math-c++.cc: Check the declaration of rint.
47571         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47572         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
47573         * doc/posix-functions/rint.texi: Mention the replacement provided by
47574         the module.
47576         rint tests: More tests.
47577         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
47578         minus-zero.h, infinity.h, nan.h.
47579         (main): Skip the test if the current rounding mode is not standard. Add
47580         tests for negative numbers, minus zero, infinity, NaN.
47581         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
47582         tests/nan.h.
47583         (Depends-on): Add isnand-nolibm.
47585 2011-10-09  Bruno Haible  <bruno@clisp.org>
47587         Tests for module 'copysignl'.
47588         * modules/copysignl-tests: New file.
47589         * tests/test-copysignl.c: New file.
47591         New module 'copysignl'.
47592         * lib/math.in.h (copysignl): New declaration.
47593         * lib/copysignl.c: New file.
47594         * m4/copysignl.m4: New file.
47595         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
47596         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
47597         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
47598         HAVE_COPYSIGNL.
47599         * modules/copysignl: New file.
47600         * tests/test-math-c++.cc: Check the declaration of copysignl.
47601         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47602         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
47603         * doc/posix-functions/copysignl.texi: Mention the new module.
47605 2011-10-09  Bruno Haible  <bruno@clisp.org>
47607         Tests for module 'copysignf'.
47608         * modules/copysignf-tests: New file.
47609         * tests/test-copysignf.c: New file.
47611         New module 'copysignf'.
47612         * lib/math.in.h (copysignf): New declaration.
47613         * lib/copysignf.c: New file.
47614         * m4/copysignf.m4: New file.
47615         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
47616         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
47617         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
47618         HAVE_COPYSIGNF.
47619         * modules/copysignf: New file.
47620         * tests/test-math-c++.cc: Check the declaration of copysignf.
47621         * doc/posix-functions/copysignf.texi: Mention the new module.
47623 2011-10-09  Bruno Haible  <bruno@clisp.org>
47625         Ensure that HAVE_* variables are set to 1 before they are set to 0.
47626         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
47627         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
47628         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
47629         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
47630         gl_SIGNAL_H_DEFAULTS.
47632 2011-10-09  Bruno Haible  <bruno@clisp.org>
47634         poll: Make macro safer.
47635         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
47636         ac_cv_header_poll_h is not set.
47638 2011-10-09  Bruno Haible  <bruno@clisp.org>
47640         copysign: Provide replacement.
47641         * lib/math.in.h (copysign): New declaration.
47642         * lib/copysign.c: New file.
47643         * m4/copysign.m4: New file.
47644         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
47645         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
47646         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
47647         HAVE_COPYSIGN.
47648         * modules/copysign (Description): Clarify.
47649         (Files): Add lib/copysign.c, m4/copysign.m4.
47650         (Depends-on): Add math, signbit.
47651         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
47652         gl_MATH_MODULE_INDICATOR.
47653         * tests/test-math-c++.cc: Check the declaration of copysign.
47654         * doc/posix-functions/copysign.texi: Mention the effects of the module
47655         on Minix and MSVC.
47657 2011-10-09  Bruno Haible  <bruno@clisp.org>
47659         isinf: Ensure macro on AIX 5.1.
47660         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
47661         macro.
47662         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
47664 2011-10-09  Bruno Haible  <bruno@clisp.org>
47666         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
47667         * modules/snprintf-posix-tests (configure.ac): Require
47668         gl_LONG_DOUBLE_VS_DOUBLE.
47669         * modules/sprintf-posix-tests (configure.ac): Likewise.
47670         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
47671         * modules/vasprintf-posix-tests (configure.ac): Likewise.
47672         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
47673         * modules/vsprintf-posix-tests (configure.ac): Likewise.
47674         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
47675         tests on platforms where 'long double' is the same as 'double'.
47676         * tests/test-sprintf-posix.h (test_function): Likewise.
47677         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47678         * tests/test-vasprintf-posix.c (test_function): Likewise.
47680         *printf: Fix for platforms where 'long double' == 'double'.
47681         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47682         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
47683         * modules/dprintf-posix (Files): Add m4/math_h.m4.
47684         * modules/fprintf-posix (Files): Likewise.
47685         * modules/obstack-printf-posix (Files): Likewise.
47686         * modules/snprintf-posix (Files): Likewise.
47687         * modules/sprintf-posix (Files): Likewise.
47688         * modules/vasnprintf (Files): Likewise.
47689         * modules/vasnprintf-posix (Files): Likewise.
47690         * modules/vasprintf-posix (Files): Likewise.
47691         * modules/vdprintf-posix (Files): Likewise.
47692         * modules/vfprintf-posix (Files): Likewise.
47693         * modules/vsnprintf-posix (Files): Likewise.
47694         * modules/vsprintf-posix (Files): Likewise.
47695         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47696         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47697         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47698         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47699         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47700         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47701         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47703         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
47704         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
47705         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47706         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
47707         'long double'.
47708         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
47710         isinf: Fix for platforms where 'long double' == 'double'.
47711         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47712         Don't blindly assume 80-bit 'long double'.
47714         isfinite: Fix for platforms where 'long double' == 'double'.
47715         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47716         Don't blindly assume 80-bit 'long double'.
47718         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
47719         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
47720         * modules/isfinite-tests (configure.ac): Require
47721         gl_LONG_DOUBLE_VS_DOUBLE.
47722         * modules/isinf-tests (configure.ac): Likewise.
47723         * modules/isnan-tests (configure.ac): Likewise.
47724         * modules/isnanl-tests (configure.ac): Likewise.
47725         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
47726         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
47727         tests on platforms where 'long double' is the same as 'double'.
47728         * tests/test-isinf.c (test_isinfl): Likewise.
47729         * tests/test-isnan.c (test_long_double): Likewise.
47730         * tests/test-isnanl.h (main): Likewise.
47732 2011-10-08  Bruno Haible  <bruno@clisp.org>
47734         Tests for module 'tanhf'.
47735         * modules/tanhf-tests: New file.
47736         * tests/test-tanhf.c: New file.
47738         New module 'tanhf'.
47739         * lib/math.in.h (tanhf): New declaration.
47740         * lib/tanhf.c: New file.
47741         * m4/tanhf.m4: New file.
47742         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
47743         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
47744         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
47745         * modules/tanhf: New file.
47746         * tests/test-math-c++.cc: Check the declaration of tanhf.
47747         * doc/posix-functions/tanhf.texi: Mention the new module.
47749         tanh: Use a .m4 file.
47750         * m4/tanh.m4: New file.
47751         * modules/tanh (Files): Add it.
47752         (configure.ac): Just invoke gl_FUNC_TANH.
47754 2011-10-08  Bruno Haible  <bruno@clisp.org>
47756         Tests for module 'coshf'.
47757         * modules/coshf-tests: New file.
47758         * tests/test-coshf.c: New file.
47760         New module 'coshf'.
47761         * lib/math.in.h (coshf): New declaration.
47762         * lib/coshf.c: New file.
47763         * m4/coshf.m4: New file.
47764         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
47765         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
47766         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
47767         * modules/coshf: New file.
47768         * tests/test-math-c++.cc: Check the declaration of coshf.
47769         * doc/posix-functions/coshf.texi: Mention the new module.
47771         cosh: Use a .m4 file.
47772         * m4/cosh.m4: New file.
47773         * modules/cosh (Files): Add it.
47774         (configure.ac): Just invoke gl_FUNC_COSH.
47776 2011-10-08  Bruno Haible  <bruno@clisp.org>
47778         Tests for module 'sinhf'.
47779         * modules/sinhf-tests: New file.
47780         * tests/test-sinhf.c: New file.
47782         New module 'sinhf'.
47783         * lib/math.in.h (sinhf): New declaration.
47784         * lib/sinhf.c: New file.
47785         * m4/sinhf.m4: New file.
47786         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
47787         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
47788         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
47789         * modules/sinhf: New file.
47790         * tests/test-math-c++.cc: Check the declaration of sinhf.
47791         * doc/posix-functions/sinhf.texi: Mention the new module.
47793         sinh: Use a .m4 file.
47794         * m4/sinh.m4: New file.
47795         * modules/sinh (Files): Add it.
47796         (configure.ac): Just invoke gl_FUNC_SINH.
47798 2011-10-08  Bruno Haible  <bruno@clisp.org>
47800         Tests for module 'atan2f'.
47801         * modules/atan2f-tests: New file.
47802         * tests/test-atan2f.c: New file.
47804         New module 'atan2f'.
47805         * lib/math.in.h (atan2f): New declaration.
47806         * lib/atan2f.c: New file.
47807         * m4/atan2f.m4: New file.
47808         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
47809         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
47810         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
47811         * modules/atan2f: New file.
47812         * tests/test-math-c++.cc: Check the declaration of atan2f.
47813         * doc/posix-functions/atan2f.texi: Mention the new module.
47815         atan2: Use a .m4 file.
47816         * m4/atan2.m4: New file.
47817         * modules/atan2 (Files): Add it.
47818         (configure.ac): Just invoke gl_FUNC_ATAN2.
47820 2011-10-08  Bruno Haible  <bruno@clisp.org>
47822         Tests for module 'atanf'.
47823         * modules/atanf-tests: New file.
47824         * tests/test-atanf.c: New file.
47826         New module 'atanf'.
47827         * lib/math.in.h (atanf): New declaration.
47828         * lib/atanf.c: New file.
47829         * m4/atanf.m4: New file.
47830         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
47831         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
47832         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
47833         * modules/atanf: New file.
47834         * tests/test-math-c++.cc: Check the declaration of atanf.
47835         * doc/posix-functions/atanf.texi: Mention the new module.
47837         atan: Use a .m4 file.
47838         * m4/atan.m4: New file.
47839         * modules/atan (Files): Add it.
47840         (configure.ac): Just invoke gl_FUNC_ATAN.
47842 2011-10-08  Bruno Haible  <bruno@clisp.org>
47844         Tests for module 'acosf'.
47845         * modules/acosf-tests: New file.
47846         * tests/test-acosf.c: New file.
47848         New module 'acosf'.
47849         * lib/math.in.h (acosf): New declaration.
47850         * lib/acosf.c: New file.
47851         * m4/acosf.m4: New file.
47852         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
47853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
47854         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
47855         * modules/acosf: New file.
47856         * tests/test-math-c++.cc: Check the declaration of acosf.
47857         * doc/posix-functions/acosf.texi: Mention the new module.
47859         acos: Use a .m4 file.
47860         * m4/acos.m4: New file.
47861         * modules/acos (Files): Add it.
47862         (configure.ac): Just invoke gl_FUNC_ACOS.
47864 2011-10-08  Bruno Haible  <bruno@clisp.org>
47866         Tests for module 'asinf'.
47867         * modules/asinf-tests: New file.
47868         * tests/test-asinf.c: New file.
47870         New module 'asinf'.
47871         * lib/math.in.h (asinf): New declaration.
47872         * lib/asinf.c: New file.
47873         * m4/asinf.m4: New file.
47874         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
47875         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
47876         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
47877         * modules/asinf: New file.
47878         * tests/test-math-c++.cc: Check the declaration of asinf.
47879         * doc/posix-functions/asinf.texi: Mention the new module.
47881         asin: Use a .m4 file.
47882         * m4/asin.m4: New file.
47883         * modules/asin (Files): Add it.
47884         (configure.ac): Just invoke gl_FUNC_ASIN.
47886 2011-10-08  Bruno Haible  <bruno@clisp.org>
47888         Tests for module 'tanf'.
47889         * modules/tanf-tests: New file.
47890         * tests/test-tanf.c: New file.
47892         New module 'tanf'.
47893         * lib/math.in.h (tanf): New declaration.
47894         * lib/tanf.c: New file.
47895         * m4/tanf.m4: New file.
47896         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
47897         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
47898         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
47899         * modules/tanf: New file.
47900         * tests/test-math-c++.cc: Check the declaration of tanf.
47901         * doc/posix-functions/tanf.texi: Mention the new module.
47903         tan: Use a .m4 file.
47904         * m4/tan.m4: New file.
47905         * modules/tan (Files): Add it.
47906         (configure.ac): Just invoke gl_FUNC_TAN.
47908 2011-10-08  Bruno Haible  <bruno@clisp.org>
47910         Tests for module 'cosf'.
47911         * modules/cosf-tests: New file.
47912         * tests/test-cosf.c: New file.
47914         New module 'cosf'.
47915         * lib/math.in.h (cosf): New declaration.
47916         * lib/cosf.c: New file.
47917         * m4/cosf.m4: New file.
47918         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
47919         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
47920         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
47921         * modules/cosf: New file.
47922         * tests/test-math-c++.cc: Check the declaration of cosf.
47923         * doc/posix-functions/cosf.texi: Mention the new module.
47925         cos: Use a .m4 file.
47926         * m4/cos.m4: New file.
47927         * modules/cos (Files): Add it.
47928         (configure.ac): Just invoke gl_FUNC_COS.
47930 2011-10-08  Bruno Haible  <bruno@clisp.org>
47932         Tests for module 'sinf'.
47933         * modules/sinf-tests: New file.
47934         * tests/test-sinf.c: New file.
47936         New module 'sinf'.
47937         * lib/math.in.h (sinf): New declaration.
47938         * lib/sinf.c: New file.
47939         * m4/sinf.m4: New file.
47940         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
47941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
47942         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
47943         * modules/sinf: New file.
47944         * tests/test-math-c++.cc: Check the declaration of sinf.
47945         * doc/posix-functions/sinf.texi: Mention the new module.
47947         sin: Use a .m4 file.
47948         * m4/sin.m4: New file.
47949         * modules/sin (Files): Add it.
47950         (configure.ac): Just invoke gl_FUNC_SIN.
47952 2011-10-08  Bruno Haible  <bruno@clisp.org>
47954         Tests for module 'powf'.
47955         * modules/powf-tests: New file.
47956         * tests/test-powf.c: New file.
47958         New module 'powf'.
47959         * lib/math.in.h (powf): New declaration.
47960         * lib/powf.c: New file.
47961         * m4/powf.m4: New file.
47962         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
47963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
47964         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
47965         * modules/powf: New file.
47966         * tests/test-math-c++.cc: Check the declaration of powf.
47967         * doc/posix-functions/powf.texi: Mention the new module.
47969         pow: Use a .m4 file.
47970         * m4/pow.m4: New file.
47971         * modules/pow (Files): Add it.
47972         (configure.ac): Just invoke gl_FUNC_POW.
47974 2011-10-08  Bruno Haible  <bruno@clisp.org>
47976         Tests for module 'log10f'.
47977         * modules/log10f-tests: New file.
47978         * tests/test-log10f.c: New file.
47980         New module 'log10f'.
47981         * lib/math.in.h (log10f): New declaration.
47982         * lib/log10f.c: New file.
47983         * m4/log10f.m4: New file.
47984         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
47985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
47986         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
47987         * modules/log10f: New file.
47988         * tests/test-math-c++.cc: Check the declaration of log10f.
47989         * doc/posix-functions/log10f.texi: Mention the new module.
47991         log10: Use a .m4 file.
47992         * m4/log10.m4: New file.
47993         * modules/log10 (Files): Add it.
47994         (configure.ac): Just invoke gl_FUNC_LOG10.
47996 2011-10-08  Bruno Haible  <bruno@clisp.org>
47998         Tests for module 'logf'.
47999         * modules/logf-tests: New file.
48000         * tests/test-logf.c: New file.
48002         New module 'logf'.
48003         * lib/math.in.h (logf): New declaration.
48004         * lib/logf.c: New file.
48005         * m4/logf.m4: New file.
48006         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
48007         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
48008         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
48009         * modules/logf: New file.
48010         * tests/test-math-c++.cc: Check the declaration of logf.
48011         * doc/posix-functions/logf.texi: Mention the new module.
48013         log: Use a .m4 file.
48014         * m4/log.m4: New file.
48015         * modules/log (Files): Add it.
48016         (configure.ac): Just invoke gl_FUNC_LOG.
48018 2011-10-08  Bruno Haible  <bruno@clisp.org>
48020         Tests for module 'expf'.
48021         * modules/expf-tests: New file.
48022         * tests/test-expf.c: New file.
48024         New module 'expf'.
48025         * lib/math.in.h (expf): New declaration.
48026         * lib/expf.c: New file.
48027         * m4/expf.m4: New file.
48028         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
48029         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
48030         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
48031         * modules/expf: New file.
48032         * tests/test-math-c++.cc: Check the declaration of expf.
48033         * doc/posix-functions/expf.texi: Mention the new module.
48035         exp: Use a .m4 file.
48036         * m4/exp.m4: New file.
48037         * modules/exp (Files): Add it.
48038         (configure.ac): Just invoke gl_FUNC_EXP.
48040 2011-10-08  Bruno Haible  <bruno@clisp.org>
48042         Tests for module 'sqrtf'.
48043         * modules/sqrtf-tests: New file.
48044         * tests/test-sqrtf.c: New file.
48046         New module 'sqrtf'.
48047         * lib/math.in.h (sqrtf): New declaration.
48048         * lib/sqrtf.c: New file.
48049         * m4/sqrtf.m4: New file.
48050         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
48051         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
48052         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
48053         * modules/sqrtf: New file.
48054         * tests/test-math-c++.cc: Check the declaration of sqrtf.
48055         * doc/posix-functions/sqrtf.texi: Mention the new module.
48057 2011-10-08  Bruno Haible  <bruno@clisp.org>
48059         Tests: Avoid link failures w.r.t. libintl.
48060         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
48061         $(LIBINTL).
48062         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
48063         $(LIBINTL).
48064         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
48065         against $(LIBINTL).
48066         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
48067         $(LIBINTL).
48068         * modules/openat-tests (Makefile.am): Link test-fchmodat against
48069         $(LIBINTL).
48070         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
48072 2011-10-08  Bruno Haible  <bruno@clisp.org>
48074         pow tests: Defeat compiler optimizations.
48075         * tests/test-pow.c (main): Assign arguments to x and y before use.
48077 2011-10-08  Bruno Haible  <bruno@clisp.org>
48079         gnulib-tool: Improve last commit.
48080         * gnulib-tool (func_modules_transitive_closure): Simplify code.
48081         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
48082         ignore dependencies that are not among the modules list.
48084 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
48086         gnulib-tool: don't follow dependencies to avoided modules
48087         This fixes a bug that is related to the previous one.
48088         * gnulib-tool (func_modules_transitive_closure)
48089         (func_emit_autoconf_snippets):
48090         Check whether a dependency is acceptable before using it.
48091         (--extract-dependencies): Report an error if --avoid is also used,
48092         since this combination of options is not yet supported.
48094         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
48095         Problem reported by Peter Dyballa in
48096         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
48097         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
48098         when echoing "$condition".
48100 2011-10-07  Bruno Haible  <bruno@clisp.org>
48102         Fix documentation about math functions on MacOS X.
48103         * doc/posix-functions/exp2.texi: Don't say the function is missing on
48104         MacOS X 10.5.
48105         * doc/posix-functions/fdim.texi: Likewise.
48106         * doc/posix-functions/feclearexcept.texi: Likewise.
48107         * doc/posix-functions/fegetenv.texi: Likewise.
48108         * doc/posix-functions/fegetround.texi: Likewise.
48109         * doc/posix-functions/feholdexcept.texi: Likewise.
48110         * doc/posix-functions/feraiseexcept.texi: Likewise.
48111         * doc/posix-functions/fesetenv.texi: Likewise.
48112         * doc/posix-functions/fesetround.texi: Likewise.
48113         * doc/posix-functions/fetestexcept.texi: Likewise.
48114         * doc/posix-functions/feupdateenv.texi: Likewise.
48115         * doc/posix-functions/fmax.texi: Likewise.
48116         * doc/posix-functions/fmin.texi: Likewise.
48117         * doc/posix-functions/log2.texi: Likewise.
48118         * doc/posix-functions/modff.texi: Likewise.
48119         * doc/posix-functions/nan.texi: Likewise.
48120         * doc/posix-functions/nanf.texi: Likewise.
48121         * doc/posix-functions/nextafterf.texi: Likewise.
48122         * doc/posix-functions/remquo.texi: Likewise.
48124 2011-10-07  Bruno Haible  <bruno@clisp.org>
48126         modff: Drop assumption about library that defines modff.
48127         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
48128         AC_CHECK_FUNCS.
48129         * modules/modff (Files): Add m4/mathfunc.m4.
48131 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
48133         raise tests: Avoid a GCC warning.
48134         * tests/test-raise.c (handler): Use _Noreturn.
48136 2011-10-07  Bruno Haible  <bruno@clisp.org>
48138         Tests for module 'ldexpf'.
48139         * modules/ldexpf-tests: New file.
48140         * tests/test-ldexpf.c: New file.
48142         New module 'ldexpf'.
48143         * lib/math.in.h (ldexpf): New declaration.
48144         * lib/ldexpf.c: New file.
48145         * m4/ldexpf.m4: New file.
48146         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
48147         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
48148         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
48149         * modules/ldexpf: New file.
48150         * tests/test-math-c++.cc: Check the declaration of ldexpf.
48151         * doc/posix-functions/ldexpf.texi: Mention the new module.
48153 2011-10-06  Bruno Haible  <bruno@clisp.org>
48155         frexpf: Work around problems on IRIX and mingw.
48156         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
48157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
48158         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
48159         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
48160         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
48161         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
48162         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
48164 2011-10-06  Bruno Haible  <bruno@clisp.org>
48166         fabsf: Drop assumption about library that defines fabsf.
48167         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
48168         AC_CHECK_FUNCS.
48169         * modules/fabsf (Files): Add m4/mathfunc.m4.
48171 2011-10-06  Bruno Haible  <bruno@clisp.org>
48173         frexpf: Drop assumption about library that defines frexpf.
48174         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
48175         'int *', 'float *', 'long double *', 'float', 'long double'.
48176         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
48177         AC_CHECK_FUNCS.
48178         * modules/frexpf (Files): Add m4/mathfunc.m4.
48180         Tests for module 'frexpf'.
48181         * modules/frexpf-tests: New file.
48182         * tests/test-frexpf.c: New file.
48184         New module 'frexpf'.
48185         * lib/math.in.h (frexpf): New declaration.
48186         * lib/frexpf.c: New file.
48187         * m4/frexpf.m4: New file.
48188         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
48189         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
48190         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
48191         * modules/frexpf: New file.
48192         * tests/test-math-c++.cc: Check the declaration of frexpf.
48193         * doc/posix-functions/frexpf.texi: Mention the new module.
48195 2011-10-06  Bruno Haible  <bruno@clisp.org>
48197         math: Sort function declarations of math.in.h.
48198         * lib/math.in.h (frexp, logb): Move declarations.
48200 2011-10-05  Bruno Haible  <bruno@clisp.org>
48202         Tests for module 'modff'.
48203         * modules/modff-tests: New file.
48204         * tests/test-modff.c: New file.
48206         New module 'modff'.
48207         * lib/math.in.h (modff): New declaration.
48208         * lib/modff.c: New file.
48209         * m4/modff.m4: New file.
48210         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
48211         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
48212         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
48213         * modules/modff: New file.
48214         * tests/test-math-c++.cc: Check the declaration of modff.
48215         * doc/posix-functions/modff.texi: Mention the new module.
48217         modf tests: Make test sharper.
48218         * tests/test-modf.c (main): Strengthen upper bound.
48220         modf: Use a .m4 file.
48221         * m4/modf.m4: New file.
48222         * modules/modf (Files): Add it.
48223         (configure.ac): Just invoke gl_FUNC_MODF.
48225 2011-10-05  Bruno Haible  <bruno@clisp.org>
48227         Tests for module 'fmodf'.
48228         * modules/fmodf-tests: New file.
48229         * tests/test-fmodf.c: New file.
48231         New module 'fmodf'.
48232         * lib/math.in.h (fmodf): New declaration.
48233         * lib/fmodf.c: New file.
48234         * m4/fmodf.m4: New file.
48235         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
48236         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
48237         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
48238         * modules/fmodf: New file.
48239         * tests/test-math-c++.cc: Check the declaration of fmodf.
48240         * doc/posix-functions/fmodf.texi: Mention the new module.
48242         fmod: Use a .m4 file.
48243         * m4/fmod.m4: New file.
48244         * modules/fmod (Files): Add it.
48245         (configure.ac): Just invoke gl_FUNC_FMOD.
48247 2011-10-05  Bruno Haible  <bruno@clisp.org>
48249         Tests for module 'fabsf'.
48250         * modules/fabsf-tests: New file.
48251         * tests/test-fabsf.c: New file.
48253         New module 'fabsf'.
48254         * lib/math.in.h (fabsf): New declaration.
48255         * lib/fabsf.c: New file.
48256         * m4/fabsf.m4: New file.
48257         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
48258         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
48259         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
48260         * modules/fabsf: New file.
48261         * tests/test-math-c++.cc: Check the declaration of fabsf.
48262         * doc/posix-functions/fabsf.texi: Mention the new module.
48264         fabs: Use a .m4 file.
48265         * m4/fabs.m4: New file.
48266         * modules/fabs (Files): Add it.
48267         (configure.ac): Just invoke gl_FUNC_FABS.
48269 2011-10-05  Jim Meyering  <meyering@redhat.com>
48271         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
48272         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
48273         ls -lL regression introduced in coreutils-8.12, it does so at the
48274         cost of an additional stat call in the common case.  Besides, now
48275         that the kernel change that prompted commit 95f7c57f has been reverted
48276         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
48277         we have no use for commit 95f7c57f, "file-has-acl: use
48278         acl_extended_file_nofollow if available".
48280 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
48282         file-has-acl: revert unintended change in behavior of ls -L
48283         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
48284         derived from...
48285         (file_has_acl): ...code here.  Call it.
48286         This problem was introduced with 2011-07-22 commit 95f7c57f,
48287         "file-has-acl: use acl_extended_file_nofollow if available".
48288         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
48290 2011-10-03  Bruno Haible  <bruno@clisp.org>
48292         poll: Avoid link errors on MSVC.
48293         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
48294         * modules/poll (Depends-on): Add sockets.
48295         (Link): New section.
48296         * NEWS: Mention the change.
48297         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
48298         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
48299         $(LIB_POLL) instead of $(LIBSOCKET).
48301 2011-10-03  Bruno Haible  <bruno@clisp.org>
48303         sys_select tests: Fix link error on MSVC 9.
48304         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
48305         with $(LIB_SELECT) instead of $(LIBSOCKET).
48307 2011-10-03  Bruno Haible  <bruno@clisp.org>
48309         sys_select: Fix compilation error on mingw.
48310         * lib/sys_select.in.h: On native Windows, include <io.h>.
48312 2011-10-03  Bruno Haible  <bruno@clisp.org>
48314         wmemset: Support for MSVC.
48315         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
48316         whether wmemset() exists.
48318 2011-10-03  Bruno Haible  <bruno@clisp.org>
48320         wmemmove: Support for MSVC.
48321         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
48322         whether wmemmove() exists.
48324 2011-10-03  Bruno Haible  <bruno@clisp.org>
48326         wmemcpy: Support for MSVC.
48327         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
48328         whether wmemcpy() exists.
48330 2011-10-03  Bruno Haible  <bruno@clisp.org>
48332         wmemcmp: Support for MSVC.
48333         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
48334         whether wmemcmp() exists.
48336 2011-10-03  Bruno Haible  <bruno@clisp.org>
48338         wmemchr: Support for MSVC.
48339         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
48340         whether wmemchr() exists.
48342 2011-10-03  Bruno Haible  <bruno@clisp.org>
48344         glthread/*, strsignal: Support for MSVC.
48345         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
48346         including <winsock.h> on MSVC 9.
48347         * lib/glthread/lock.h: Likewise.
48348         * lib/glthread/thread.h: Likewise.
48349         * lib/glthread/tls.h: Likewise.
48350         * lib/glthread/yield.h: Likewise.
48351         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
48352         if HAVE_UNISTD_H is false.
48353         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
48355 2011-10-03  Bruno Haible  <bruno@clisp.org>
48357         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
48358         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
48359         Set to 100000.
48361 2011-10-03  Bruno Haible  <bruno@clisp.org>
48363         acl: Fix specification.
48364         * lib/file-has-acl.c (file_has_acl): Fix specification.
48366 2011-10-03  Bruno Haible  <bruno@clisp.org>
48368         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
48369         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
48370         (compute_curr_prefix, shared_library_fullname,
48371         find_shared_library_fullname, get_shared_library_fullname, relocate):
48372         Use it together with PIC && INSTALLDIR.
48373         Reported by <jojelino@gmail.com>
48374         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
48376 2011-10-01  Jim Meyering  <meyering@redhat.com>
48378         maint.mk: adjust a release-related rule not to require use of gzip
48379         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
48380         Instead, check each file in $(DIST_ARCHIVES).  This is better for
48381         projects that build only .tar.xz files.  Also fix an erroneous test.
48383         test-linkat: don't leave behind a temporary file
48384         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
48385         Otherwise, coreutils' "make distcheck" would fail with this:
48386           Only in /c/cu/tests/torture/coreutils/test/\
48387             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
48388           make[2]: *** [my-distcheck] Error 1
48390         float, math: add omitted file
48391         * lib/itold.c: Add file, required for yesterday's float change.
48393 2011-10-01  Bruno Haible  <bruno@clisp.org>
48395         isinf: Fix for OpenBSD/x86.
48396         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
48397         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
48398         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
48400 2011-10-01  Bruno Haible  <bruno@clisp.org>
48402         isfinite: Fix syntax error in configure test.
48403         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
48405         isfinite: Fix typo.
48406         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
48407         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
48409 2011-10-01  Bruno Haible  <bruno@clisp.org>
48411         nonblocking tests: Fix test failure on Linux/IA-64.
48412         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
48413         Set to 270000.
48415 2011-10-01  Bruno Haible  <bruno@clisp.org>
48417         mkfifoat tests: Fix a test failure on mingw.
48418         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
48419         with error ENOSYS.
48421 2011-09-30  Bruno Haible  <bruno@clisp.org>
48423         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
48424         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
48425         'long double'. Set REPLACE_ITOLD.
48426         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
48427         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
48428         * lib/itold.c: New file.
48429         * modules/float (Files): Add lib/itold.c.
48430         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
48431         (Makefile.am): Substitute REPLACE_ITOLD.
48432         * modules/math (Depends-on): Add float.
48433         (Makefile.am): Substitute REPLACE_ITOLD.
48434         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
48435         * doc/posix-headers/math.texi: Likewise.
48436         * doc/posix-functions/logl.texi: Likewise.
48438 2011-09-30  Bruno Haible  <bruno@clisp.org>
48440         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
48441         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
48442         Set to 140000.
48444 2011-09-30  Bruno Haible  <bruno@clisp.org>
48446         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
48447         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
48448         invocation, say "right after AC_PROG_CC_STDC", not "right after
48449         AC_PROG_CC".
48450         Reported by Gary V. Vaughan <gary@gnu.org>.
48452 2011-09-30  Bruno Haible  <bruno@clisp.org>
48454         Centralize C99 requirement.
48455         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
48456         * modules/stdarg (configure.ac-early): Invoke it instead of
48457         AC_PROG_CC_STDC.
48458         Reported by Gary V. Vaughan and Paul Eggert.
48460 2011-09-29  Bruno Haible  <bruno@clisp.org>
48462         float: Fix LDBL_MAX value on Linux/PowerPC.
48463         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
48464         on Linux/PowerPC.
48465         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
48466         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
48467         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
48468         platform.
48469         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
48471 2011-09-29  Bruno Haible  <bruno@clisp.org>
48473         doc: Improve doc about gl_EARLY.
48474         * doc/gnulib-tool.texi (Initial import): Mention where to place an
48475         AC_PROG_CC_STDC invocation.
48476         Reported by Gary V. Vaughan <gary@gnu.org>.
48478 2011-09-28  Bruno Haible  <bruno@clisp.org>
48480         fgetc, fputc, fread, fwrite tests: Fix link error.
48481         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
48482         on non-MSVC platforms.
48483         * tests/test-fputc.c (main): Likewise.
48484         * tests/test-fread.c (main): Likewise.
48485         * tests/test-fwrite.c (main): Likewise.
48486         Reported by Jim Meyering.
48488 2011-09-27  Bruno Haible  <bruno@clisp.org>
48490         fputc, fwrite tests: Avoid test failure on MSVC.
48491         * tests/test-fgetc.c: Include msvc-inval.h.
48492         (main): Invoke gl_msvc_inval_ensure_handler.
48493         * tests/test-fputc.c: Include msvc-inval.h.
48494         (main): Invoke gl_msvc_inval_ensure_handler.
48495         * tests/test-fread.c: Include msvc-inval.h.
48496         (main): Invoke gl_msvc_inval_ensure_handler.
48497         * tests/test-fwrite.c: Include msvc-inval.h.
48498         (main): Invoke gl_msvc_inval_ensure_handler.
48499         * modules/fgetc-tests (Depends-on): Add msvc-inval.
48500         * modules/fputc-tests (Depends-on): Likewise.
48501         * modules/fread-tests (Depends-on): Likewise.
48502         * modules/fwrite-tests (Depends-on): Likewise.
48504 2011-09-27  Bruno Haible  <bruno@clisp.org>
48506         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
48507         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
48508         (raise): Remove older, duplicated declaration.
48509         (_gl_raise_SIGPIPE): New declaration.
48510         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
48511         (rpl_raise): Remove function.
48512         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
48513         a gnulib-defined SIGPIPE here.
48514         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
48515         'sigprocmask' has detected missing signal-blocking and the module
48516         'sigpipe' is enabled.
48517         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
48519 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
48521         base64-tests: avoid memory leak
48522         * tests/test-base64.c (main): Plug memory leak.
48524         base32: new module
48525         * modules/base32: New module.
48526         * lib/base32.c: New file.
48527         * lib/base32.h: Likewise.
48528         * m4/base32.m4: Likewise.
48529         * modules/base32-tests: New test.
48530         * tests/test-base32.c: Likewise.
48531         * MODULES.html.sh (Misc): Mention it.
48533 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
48535         gnulib: use more-standard license notice wording
48536         * gnulib-tool (func_emit_copyright_notice): When emitting a
48537         license notice into a file, use the standard wording as suggested
48538         by the current information for GNU maintainers, except say "file"
48539         rather than "program".  The new wording gives a license version
48540         number, which addresses an issue raised by Glenn Morris in
48541         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
48542         * m4/onceonly.m4: Use that same wording here, too.
48544         dup2: minor simplification
48545         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
48546         as lib/dup2.c no longer uses 'inline'.
48548 2011-09-25  Bruno Haible  <bruno@clisp.org>
48550         strings: Fix compilation error on MSVC.
48551         * lib/strings.in.h: Include <stddef.h> for size_t.
48553 2011-09-25  Bruno Haible  <bruno@clisp.org>
48555         fflush et al.: Document limitation on MSVC.
48556         * doc/posix-functions/fflush.texi: Document possible crash in handling
48557         mode other than DEFAULT_HANDLING.
48558         * doc/posix-functions/fgetc.texi: Likewise.
48559         * doc/posix-functions/fputc.texi: Likewise.
48560         * doc/posix-functions/fread.texi: Likewise.
48561         * doc/posix-functions/fwrite.texi: Likewise.
48563 2011-09-25  Bruno Haible  <bruno@clisp.org>
48565         msvc-inval: Allow three invalid parameter handling modes.
48566         * lib/msvc-inval.h: Don't include <stdlib.h> here.
48567         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
48568         macros.
48569         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
48570         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
48571         SANE_LIBRARY_HANDLING as a no-op.
48572         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
48573         <stdlib.h>.
48574         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
48576 2011-09-25  Bruno Haible  <bruno@clisp.org>
48578         msvc-inval: Make handler multithread-safe.
48579         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
48580         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
48581         declarations.
48582         (gl_msvc_inval_current): New declaration.
48583         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48584         Operate on the structure returned by gl_msvc_inval_current().
48585         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
48586         Remove varaiables.
48587         (tls_index, tls_initialized): New variables.
48588         (not_per_thread): New variable.
48589         (gl_msvc_inval_current): New function.
48590         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
48591         returned by gl_msvc_inval_current().
48593 2011-09-25  Bruno Haible  <bruno@clisp.org>
48595         msvc-inval: Install handler globally.
48596         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
48597         !_MSC_VER.
48598         (gl_msvc_invalid_parameter_handler): Remove declaration.
48599         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
48600         declarations.
48601         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48602         Install the handler globally, don't uninstall it.
48603         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
48604         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
48605         currently valid, call RaiseException instead.
48606         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
48607         for !_MSC_VER.
48609 2011-09-25  Bruno Haible  <bruno@clisp.org>
48611         strerror_r-posix: Fix for MSVC 9.
48612         * lib/strerror_r.c (local_snprintf): New function.
48613         (snprintf): Define to local_snprintf, not to _snprintf.
48615 2011-09-25  Bruno Haible  <bruno@clisp.org>
48617         ftruncate: Support for MSVC 9.
48618         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
48619         (chsize_nothrow): New function.
48620         (chsize): Redefine as a macro.
48621         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
48622         * modules/ftruncate (Depends-on): Add msvc-inval.
48624 2011-09-25  Bruno Haible  <bruno@clisp.org>
48626         New module 'fstat'.
48627         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
48628         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
48629         * lib/fchdir.c (rpl_fstat): Remove function.
48630         * m4/fstat.m4: New file.
48631         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
48632         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
48633         declared.
48634         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
48635         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
48636         * modules/fstat: New file.
48637         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
48638         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
48639         is set.
48640         * doc/posix-functions/fstat.texi: Mention the new module and the
48641         problem on MSVC.
48642         * NEWS: Mention the change.
48643         * modules/acl (Depends-on): Add fstat.
48644         * modules/chdir-safer (Depends-on): Likewise.
48645         * modules/chown (Depends-on): Likewise.
48646         * modules/copy-file (Depends-on): Likewise.
48647         * modules/fchdir (Depends-on): Likewise.
48648         * modules/fdopendir (Depends-on): Likewise.
48649         * modules/fopen (Depends-on): Likewise.
48650         * modules/fts (Depends-on): Likewise.
48651         * modules/getcwd (Depends-on): Likewise.
48652         * modules/isapipe (Depends-on): Likewise.
48653         * modules/linkat (Depends-on): Likewise.
48654         * modules/lseek (Depends-on): Likewise.
48655         * modules/mkdir-p (Depends-on): Likewise.
48656         * modules/open (Depends-on): Likewise.
48657         * modules/openat (Depends-on): Likewise.
48658         * modules/read-file (Depends-on): Likewise.
48659         * modules/renameat (Depends-on): Likewise.
48660         * modules/utimens (Depends-on): Likewise.
48662 2011-09-25  Bruno Haible  <bruno@clisp.org>
48664         linkat: Fix compilation on MSVC 9.
48665         * lib/linkat.c: Don't include <stdint.h>.
48667 2011-09-25  Bruno Haible  <bruno@clisp.org>
48669         fclose: Support for MSVC 9.
48670         * lib/fclose.c: Include msvc-inval.h.
48671         (fclose_nothrow): New function.
48672         (rpl_fclose): Use it.
48673         * modules/fclose (Depends-on): Add msvc-inval.
48674         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
48676 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
48678         dup2: minor simplifications
48679         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
48680         that it's a performance win.
48681         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
48682         ! defined __CYGWIN__)" to "ifdef F_GETFL".
48684 2011-09-24  Jim Meyering  <meyering@redhat.com>
48686         test-futimens: avoid a warning from gcc -Wshadow
48687         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
48688         to avoid a shadowing warning.
48690 2011-09-24  Bruno Haible  <bruno@clisp.org>
48692         fdopen: Support for MSVC 9.
48693         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
48694         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
48695         * lib/fdopen.c: Include msvc-inval.h.
48696         (fdopen_nothrow): New function.
48697         (rpl_fdopen): Use it.
48698         * modules/fdopen (Depends-on): Add msvc-inval.
48699         * modules/fclose-tests (Depends-on): Add fdopen.
48700         * modules/fflush-tests (Depends-on): Likewise.
48701         * modules/fgetc-tests (Depends-on): Likewise.
48702         * modules/fputc-tests (Depends-on): Likewise.
48703         * modules/fread-tests (Depends-on): Likewise.
48704         * modules/freopen-tests (Depends-on): Likewise.
48705         * modules/fseeko-tests (Depends-on): Likewise.
48706         * modules/ftello-tests (Depends-on): Likewise.
48707         * modules/fwrite-tests  (Depends-on): Likewise.
48708         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
48710 2011-09-24  Bruno Haible  <bruno@clisp.org>
48712         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
48713         * modules/fgetc-tests (Depends-on): Add unistd.
48714         * modules/fputc-tests (Depends-on): Likewise.
48715         * modules/fread-tests (Depends-on): Likewise.
48716         * modules/fwrite-tests (Depends-on): Likewise.
48718 2011-09-24  Bruno Haible  <bruno@clisp.org>
48720         dup: Simplify autoconf test.
48721         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
48722         on gl_MSVC_INVAL's result.
48724 2011-09-24  Bruno Haible  <bruno@clisp.org>
48726         Tests for function fwrite().
48727         * modules/fwrite-tests: New file.
48728         * tests/test-fwrite.c: New file.
48729         * modules/stdio-tests (Depends-on): Add fwrite-tests.
48731         Tests for function fread().
48732         * modules/fread-tests: New file.
48733         * tests/test-fread.c: New file.
48734         * modules/stdio-tests (Depends-on): Add fread-tests.
48736         Activate fputc tests.
48737         * modules/stdio-tests (Depends-on): Add fputc-tests.
48739         Enhance fgetc, fputc tests.
48740         * tests/test-fgetc.c (main): Also test the stream's error indicator.
48741         * tests/test-fputc.c (main): Likewise.
48743 2011-09-24  Bruno Haible  <bruno@clisp.org>
48745         write: Support for MSVC 9.
48746         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48747         is not 1.
48748         * lib/write.c (write_nothrow): New function.
48749         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
48750         not 1. Use write_nothrow.
48751         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
48752         invalid parameter handler.
48753         (gl_PREREQ_WRITE): New macro.
48754         * modules/write (Depends-on): Add msvc-inval.
48755         (configure.ac): Invoke gl_PREREQ_WRITE.
48756         * doc/posix-functions/write.texi: Mention the problem on MSVC.
48758 2011-09-24  Bruno Haible  <bruno@clisp.org>
48760         read: Fix last commit.
48761         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
48763 2011-09-24  Bruno Haible  <bruno@clisp.org>
48765         dup2: Fix last commit.
48766         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
48767         (rpl_dup2): Disable fcntl workaround on native Windows.
48769         sigprocmask: Make code safer.
48770         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
48771         section that changes macro definitions for this compilation unit.
48773 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
48775         dup2: clarify by coalescing Windows-specific material
48776         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
48777         "msvc-nothrow.h"' to the Windows-specific section, so that the
48778         Emacs source need not contain these include files.
48779         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
48780         Windows-specific fixes into this function rather than just the
48781         nothrow fix, as this shortens and clarifies the code.  Always
48782         define as a function, as that's a bit cleaner than having it be
48783         sometimes a function and sometimes a macro.
48784         (rpl_dup2): Move the Windows-specific stuff out of here and into
48785         ms_windows_dup2.  Don't protect the Haiku-related fix with
48786         "#if !defined __linux__", as the same code also works around
48787         a Linux kernel bug, and it doesn't add any system calls on any
48788         platform.  Add comment about FreeBSD 6.1.
48790         sigprocmask: move #include directive
48791         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
48792         Windows-specific section, so that the Emacs source need not
48793         contain msvc-inval.h.
48795 2011-09-23  Bruno Haible  <bruno@clisp.org>
48797         read: Support for MSVC 9.
48798         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48799         is not 1.
48800         * lib/read.c (read_nothrow): New function.
48801         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
48802         read_nothrow.
48803         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
48804         invalid parameter handler.
48805         (gl_PREREQ_READ): New macro.
48806         * modules/read (Depends-on): Add msvc-inval.
48807         (configure.ac): Invoke gl_PREREQ_READ.
48808         * doc/posix-functions/read.texi: Mention the problem on MSVC.
48810 2011-09-23  Bruno Haible  <bruno@clisp.org>
48812         close: Support for MSVC 9.
48813         * lib/close.c: Include <errno.h>, msvc-inval.h.
48814         (close_nothrow): New function.
48815         (rpl_close): Use it.
48816         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
48817         invalid parameter handler.
48818         * modules/close (Depends-on): Add msvc-inval.
48819         * modules/dup2-tests (Depends-on): Add close.
48820         * modules/dup3-tests (Depends-on): Likewise.
48821         * modules/fcntl-tests (Depends-on): Likewise.
48822         * modules/spawn-pipe-tests (Depends-on): Likewise.
48823         * modules/unistd-safer-tests (Depends-on): Likewise.
48824         * doc/posix-functions/close.texi: Mention the problem on MSVC.
48826 2011-09-23  Bruno Haible  <bruno@clisp.org>
48828         New module 'dup'.
48829         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
48830         Allow replacement.
48831         * lib/dup.c: New file.
48832         * lib/fchdir.c (rpl_dup): Remove function.
48833         * m4/dup.m4: New file.
48834         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
48835         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
48836         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
48837         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
48838         * modules/dup: New file.
48839         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
48840         'dup' module is in use.
48841         * modules/fdopendir (Depends-on): Add dup.
48842         * modules/fdutimensat-tests (Depends-on): Likewise.
48843         * modules/fts (Depends-on): Likewise.
48844         * modules/futimens-tests (Depends-on): Likewise.
48845         * modules/posix_spawnp-tests (Depends-on): Likewise.
48846         * modules/unistd-safer-tests (Depends-on): Likewise.
48847         * modules/utimens-tests (Depends-on): Likewise.
48848         * doc/posix-functions/dup.texi: Mention the new module and the problem
48849         on MSVC.
48851 2011-09-23  Bruno Haible  <bruno@clisp.org>
48853         getdtablesize: Support for MSVC 9.
48854         * lib/getdtablesize.c: Include msvc-inval.h.
48855         (_setmaxstdio_nothrow): New function.
48856         (_setmaxstdio): Redefine it.
48857         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
48858         * modules/getdtablesize (Depends-on): Add msvc-inval.
48859         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
48861 2011-09-23  Bruno Haible  <bruno@clisp.org>
48863         signal-h: Rename from signal.
48864         * modules/signal-h: Renamed from modules/signal.
48865         * modules/pthread_sigmask (Depends-on): Update.
48866         * modules/raise (Depends-on): Likewise.
48867         * modules/sigaction (Depends-on): Likewise.
48868         * modules/sigpipe (Depends-on): Likewise.
48869         * modules/sigprocmask (Depends-on): Likewise.
48870         * modules/sys_select (Depends-on): Likewise.
48871         * modules/signal-h-tests: Renamed from modules/signal-tests.
48872         (Files, Depends-on, Makefile.am): Update.
48873         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
48874         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
48875         (Files, Makefile.am): Update.
48876         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
48877         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
48878         * modules/signal: New placeholder file.
48879         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
48880         * doc/posix-headers/signal.texi: Update.
48881         * NEWS: Mention the change.
48883 2011-09-23  Bruno Haible  <bruno@clisp.org>
48885         sigprocmask: Avoid crashes through signal() on MSVC 9.
48886         * lib/sigprocmask.c: Include msvc-inval.h.
48887         (signal_nothrow): New function.
48888         (signal): Redefine it.
48889         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
48890         * modules/sigprocmask (Depends-on): Add msvc-inval.
48891         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
48893 2011-09-23  Bruno Haible  <bruno@clisp.org>
48895         Tests for module 'raise'.
48896         * modules/raise-tests: New file.
48897         * tests/test-raise.c: New file.
48899         raise: Support for MSVC.
48900         * lib/signal.in.h (raise): New declaration.
48901         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
48902         for native Windows platforms.
48903         * m4/raise.m4: New file.
48904         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
48905         HAVE_RAISE, REPLACE_RAISE.
48906         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
48907         REPLACE_RAISE.
48908         * modules/raise (Status, Notice): Remove fields.
48909         (Files): Add m4/raise.m4.
48910         (Depends-on): Add signal, msvc-inval.
48911         (configure.ac): Use the common idioms.
48912         (Maintainer): Add me.
48913         * tests/test-signal-c++.cc: Check the signature of raise.
48914         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
48916 2011-09-23  Bruno Haible  <bruno@clisp.org>
48918         pipe2: Fix compilation on pre-C99 compilers.
48919         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
48921 2011-09-23  Bruno Haible  <bruno@clisp.org>
48923         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
48924         * lib/msvc-nothrow.h: New file.
48925         * lib/msvc-nothrow.c: New file.
48926         * m4/msvc-nothrow.m4: New file.
48927         * modules/msvc-nothrow: New file.
48928         * lib/dup2.c: Include msvc-nothrow.h.
48929         (rpl_dup2): No need to protect _get_osfhandle call here.
48930         * lib/accept4.c: Include msvc-nothrow.h.
48931         * lib/error.c: Likewise.
48932         * lib/fcntl.c: Likewise.
48933         * lib/lseek.c: Likewise.
48934         * lib/nonblocking.c: Likewise.
48935         * lib/poll.c: Likewise.
48936         * lib/read.c: Likewise.
48937         * lib/select.c: Likewise.
48938         * lib/sockets.h: Likewise.
48939         * lib/sockets.c: Likewise.
48940         * lib/stdio-read.c: Likewise.
48941         * lib/stdio-write.c: Likewise.
48942         * lib/write.c: Likewise.
48943         * lib/w32sock.h: Likewise.
48944         * lib/w32spawn.h: Likewise.
48945         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
48946         * lib/fsync.c: Likewise.
48947         * lib/isapipe.c: Likewise.
48948         * modules/dup2 (Depends-on): Add msvc-nothrow.
48949         * modules/accept4 (Depends-on): Likewise.
48950         * modules/error (Depends-on): Likewise.
48951         * modules/fcntl (Depends-on): Likewise.
48952         * modules/lseek (Depends-on): Likewise.
48953         * modules/nonblocking (Depends-on): Likewise.
48954         * modules/poll (Depends-on): Likewise.
48955         * modules/read (Depends-on): Likewise.
48956         * modules/select (Depends-on): Likewise.
48957         * modules/sockets (Depends-on): Likewise.
48958         * modules/sigpipe (Depends-on): Likewise.
48959         * modules/write (Depends-on): Likewise.
48960         * modules/accept (Depends-on): Likewise.
48961         * modules/bind (Depends-on): Likewise.
48962         * modules/connect (Depends-on): Likewise.
48963         * modules/gethostname (Depends-on): Likewise.
48964         * modules/getpeername (Depends-on): Likewise.
48965         * modules/getsockname (Depends-on): Likewise.
48966         * modules/getsockopt (Depends-on): Likewise.
48967         * modules/ioctl (Depends-on): Likewise.
48968         * modules/listen (Depends-on): Likewise.
48969         * modules/recv (Depends-on): Likewise.
48970         * modules/recvfrom (Depends-on): Likewise.
48971         * modules/send (Depends-on): Likewise.
48972         * modules/sendto (Depends-on): Likewise.
48973         * modules/setsockopt (Depends-on): Likewise.
48974         * modules/shutdown (Depends-on): Likewise.
48975         * modules/socket (Depends-on): Likewise.
48976         * modules/execute (Depends-on): Likewise.
48977         * modules/spawn-pipe (Depends-on): Likewise.
48978         * modules/flock (Depends-on): Likewise.
48979         * modules/fsync (Depends-on): Likewise.
48980         * modules/isapipe (Depends-on): Likewise.
48981         * tests/test-cloexec.c: Include msvc-nothrow.h.
48982         * tests/test-dup-safer.c: Likewise.
48983         * tests/test-dup2.c: Likewise.
48984         * tests/test-dup3.c: Likewise.
48985         * tests/test-fcntl.c: Likewise.
48986         * tests/test-pipe.c: Likewise.
48987         * tests/test-pipe2.c: Likewise.
48988         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
48989         * modules/unistd-safer-tests (Depends-on): Likewise.
48990         * modules/dup2-tests (Depends-on): Likewise.
48991         * modules/dup3-tests (Depends-on): Likewise.
48992         * modules/fcntl-tests (Depends-on): Likewise.
48993         * modules/pipe-posix-tests (Depends-on): Likewise.
48994         * modules/pipe2-tests (Depends-on): Likewise.
48996 2011-09-23  Bruno Haible  <bruno@clisp.org>
48998         dup2: Make code more maintainable.
48999         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
49000         (rpl_dup2): Use it.
49001         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
49002         * modules/dup2 (configure.ac): Invoke it.
49003         Reported by Paul Eggert.
49005 2011-09-23  Bruno Haible  <bruno@clisp.org>
49007         msvc-inval: Fix compilation error.
49008         * lib/msvc-inval.h: Include <excpt.h>.
49010 2011-09-23  Bruno Haible  <bruno@clisp.org>
49012         mkdir: Tweak for MSVC 9.
49013         * lib/sys_stat.in.h: Update comments.
49014         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
49016         Tests for module 'chdir'.
49017         * modules/chdir-tests: New file.
49018         * tests/test-chdir.c: New file.
49020         New module 'chdir'.
49021         * modules/chdir: New file.
49022         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
49023         (chdir): New declaration.
49024         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
49025         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
49026         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
49027         * tests/test-unistd-c++.cc: Check signature of chdir.
49028         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
49029         * modules/chdir-long (Depends-on): Add chdir.
49030         * modules/fchdir (Depends-on): Likewise.
49031         * modules/rename (Depends-on): Likewise.
49032         * modules/savewd (Depends-on): Likewise.
49034         rmdir: Support for mingw, MSVC 9.
49035         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
49036         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
49038         getcwd: Tweak for MSVC 9.
49039         * lib/unistd.in.h: Update comments.
49040         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
49042 2011-09-22  Bruno Haible  <bruno@clisp.org>
49044         strerror_r-posix: Avoid a link error on MSVC.
49045         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
49046         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
49048 2011-09-22  Bruno Haible  <bruno@clisp.org>
49050         select: Avoid link errors on MSVC.
49051         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
49052         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
49053         * modules/pselect (Link): Likewise.
49054         * NEWS: Mention the change.
49055         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
49056         test-select-stdin against $(LIB_SELECT).
49057         * modules/pselect-tests (Makefile.am): Link test-pselect against
49058         $(LIB_SELECT).
49060 2011-09-22  Bruno Haible  <bruno@clisp.org>
49062         select: Avoid compilation error on MSVC.
49063         * lib/select.c: Don't include <stdbool.h>.
49065 2011-09-21  Bruno Haible  <bruno@clisp.org>
49067         Consolidate all uses of PATH_MAX in *.m4 files.
49068         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
49069         macros.
49070         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
49071         and gl_PATHMAX_SNIPPET.
49072         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49073         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49074         * modules/chdir-long (Files): Add m4/pathmax.m4.
49075         * modules/getcwd (Files): Likewise.
49077 2011-09-21  Bruno Haible  <bruno@clisp.org>
49079         ftruncate: Un-deprecate, concentrate on Win32 support.
49080         * modules/ftruncate (Status, Notice): Remove sections.
49081         (Depends-on): Add largefile.
49082         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
49083         non-mingw platforms.
49084         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
49085         include <io.h>.
49086         * modules/perror-tests (Depends-on): Add ftruncate.
49087         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
49088         'ftruncate' module.
49090 2011-09-21  Bruno Haible  <bruno@clisp.org>
49092         Add dependencies to new dirent related modules.
49093         * modules/opendir (Depends-on): Add closedir.
49094         * modules/getcwd (Depends-on): Add opendir, closedir.
49095         * modules/dirent-safer-tests (Depends-on): Likewise.
49096         * modules/fdopendir-tests (Depends-on): Likewise.
49097         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
49098         * modules/renameat-tests (Depends-on): Likewise.
49100 2011-09-21  Bruno Haible  <bruno@clisp.org>
49102         opendir: Avoid compilation error on mingw.
49103         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
49104         * modules/opendir (Depends-on): Add unistd.
49106 2011-09-21  Bruno Haible  <bruno@clisp.org>
49108         ftruncate tests: Avoid a test failure on mingw.
49109         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
49111 2011-09-21  Bruno Haible  <bruno@clisp.org>
49113         select tests: Avoid test failures on OSF/1 5.1 and mingw.
49114         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
49115         native Windows.
49117 2011-09-21  Bruno Haible  <bruno@clisp.org>
49119         New module 'fdopen'.
49120         * lib/stdio.in.h (fdopen): New declaration.
49121         * lib/fdopen.c: New file.
49122         * m4/fdopen.m4: New file.
49123         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
49124         REPLACE_FDOPEN.
49125         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
49126         REPLACE_FDOPEN.
49127         * modules/fdopen: New file.
49128         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
49129         * tests/test-stdio-c++.cc: Check signature of fdopen.
49130         * doc/posix-functions/fdopen.texi: Mention the new module.
49132 2011-09-21  Bruno Haible  <bruno@clisp.org>
49134         unlockpt tests: Avoid test failure on NetBSD 5.1.
49135         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
49136         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
49138 2011-09-21  Bruno Haible  <bruno@clisp.org>
49140         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
49141         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
49142         * tests/test-getlogin_r.c (main): Likewise.
49144 2011-09-20  Bruno Haible  <bruno@clisp.org>
49146         time tests: Don't require pid_t.
49147         * doc/posix-headers/time.texi: Revert last change.
49148         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
49149         * tests/test-time.c: Comment out the check for pid_t.
49151 2011-09-20  Bruno Haible  <bruno@clisp.org>
49153         fsync tests: Avoid a test failure on mingw.
49154         * tests/test-fsync.c (main): Allow a failure with EIO.
49156 2011-09-20  Bruno Haible  <bruno@clisp.org>
49158         euidaccess: Update comments.
49159         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
49161 2011-09-20  Bruno Haible  <bruno@clisp.org>
49163         Ensure EBADF returns for socket functions on mingw.
49164         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
49165         descriptor is invalid.
49166         * lib/bind.c (rpl_bind): Likewise.
49167         * lib/connect.c (rpl_connect): Likewise.
49168         * lib/getpeername.c (rpl_getpeername): Likewise.
49169         * lib/getsockname.c (rpl_getsockname): Likewise.
49170         * lib/getsockopt.c (rpl_getsockopt): Likewise.
49171         * lib/listen.c (rpl_listen): Likewise.
49172         * lib/recv.c (rpl_recv): Likewise.
49173         * lib/recvfrom.c (rpl_recvfrom): Likewise.
49174         * lib/send.c (rpl_send): Likewise.
49175         * lib/sendto.c (rpl_sendto): Likewise.
49176         * lib/setsockopt.c (rpl_setsockopt): Likewise.
49177         * lib/shutdown.c (rpl_shutdown): Likewise.
49179 2011-09-20  Bruno Haible  <bruno@clisp.org>
49181         select tests: EBADF tests.
49182         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
49183         test_bad_fd): New functions.
49184         (test_function): Invoke also test_bad_fd.
49186 2011-09-20  Bruno Haible  <bruno@clisp.org>
49188         Tests for module 'posix_spawn_file_actions_addopen.
49189         * modules/posix_spawn_file_actions_addopen-tests: New file.
49190         * tests/test-posix_spawn_file_actions_addopen.c: New file.
49192         Tests for module 'posix_spawn_file_actions_adddup2'.
49193         * modules/posix_spawn_file_actions_adddup2-tests: New file.
49194         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
49196         Tests for module 'posix_spawn_file_actions_addclose'.
49197         * modules/posix_spawn_file_actions_addclose-tests: New file.
49198         * tests/test-posix_spawn_file_actions_addclose.c: New file.
49200 2011-09-20  Bruno Haible  <bruno@clisp.org>
49202         Tests for module 'unlockpt'.
49203         * modules/unlockpt-tests: New file.
49204         * tests/test-unlockpt.c: New file.
49205         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
49207         Tests for module 'grantpt'.
49208         * modules/grantpt-tests: New file.
49209         * tests/test-grantpt.c: New file.
49210         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
49212 2011-09-20  Bruno Haible  <bruno@clisp.org>
49214         freopen tests: EBADF tests.
49215         * tests/test-freopen.c: Include errno.h, unistd.h.
49216         (main): Add tests for EBADF, commented out for the moment.
49218         fclose tests: EBADF tests.
49219         * tests/test-fclose.c (main): Add tests for EBADF.
49221         fflush tests: EBADF tests.
49222         * tests/test-fflush.c: Include errno.h, macros.h.
49223         (main): Add tests for EBADF.
49225         ftello tests: EBADF tests.
49226         * tests/test-ftello4.sh: New file.
49227         * tests/test-ftello4.c: New file.
49228         * modules/ftello-tests (Files): Add them.
49229         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
49231         fseeko tests: EBADF tests.
49232         * tests/test-fseeko4.sh: New file.
49233         * tests/test-fseeko4.c: New file.
49234         * modules/fseeko-tests (Files): Add them.
49235         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
49237         Tests for function fputc().
49238         * modules/fputc-tests: New file.
49239         * tests/test-fputc.c: New file.
49240         * modules/stdio-tests (Depends-on): Add fputc-tests.
49242         Tests for function fgetc().
49243         * modules/fgetc-tests: New file.
49244         * tests/test-fgetc.c: New file.
49245         * modules/stdio-tests (Depends-on): Add fgetc-tests.
49247         Tests for function fdopen().
49248         * modules/fdopen-tests: New file.
49249         * tests/test-fdopen.c: New file.
49250         * modules/stdio-tests (Depends-on): Add fdopen-tests.
49252         Tests for module 'vdprintf'.
49253         * modules/vdprintf-tests: New file.
49254         * tests/test-vdprintf.c: New file.
49256         Tests for module 'dprintf'.
49257         * modules/dprintf-tests: New file.
49258         * tests/test-dprintf.c: New file.
49260 2011-09-20  Bruno Haible  <bruno@clisp.org>
49262         Tests for module 'ioctl'.
49263         * modules/ioctl-tests: New file.
49264         * tests/test-ioctl.c: New file.
49266 2011-09-20  Bruno Haible  <bruno@clisp.org>
49268         fcntl tests: EBADF tests.
49269         * tests/test-fcntl.c (main): Add more tests for EBADF.
49271 2011-09-20  Bruno Haible  <bruno@clisp.org>
49273         utimensat tests: EBADF tests.
49274         * tests/test-utimensat.c (main): Add tests for EBADF.
49276         renameat tests: EBADF tests.
49277         * tests/test-renameat.c (main): Add tests for EBADF.
49279         mkfifoat tests: EBADF tests.
49280         * tests/test-mkfifoat.c (main): Add tests for EBADF.
49282         readlinkat tests: EBADF tests.
49283         * tests/test-readlinkat.c (main): Add tests for EBADF.
49285         symlinkat tests: EBADF tests.
49286         * tests/test-symlinkat.c (main): Add tests for EBADF.
49288         linkat tests: EBADF tests.
49289         * tests/test-linkat.c (main): Add tests for EBADF.
49291         Tests for module 'faccessat'.
49292         * modules/faccessat-tests: New file.
49293         * tests/test-faccessat.c: New file.
49295         fdopendir tests: EBADF tests.
49296         * tests/test-fdopendir.c (main): Add more tests for EBADF.
49298         openat tests: EBADF tests.
49299         * tests/test-fchownat.c (main): Add tests for EBADF.
49300         * tests/test-fstatat.c (main): Likewise.
49301         * tests/test-mkdirat.c (main): Likewise.
49302         * tests/test-openat.c (main): Likewise.
49303         * tests/test-unlinkat.c (main): Likewise.
49304         * tests/test-fchmodat.c: New file.
49305         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
49306         (Makefile.am): Also run 'test-fchmodat'.
49308 2011-09-20  Bruno Haible  <bruno@clisp.org>
49310         utimens, futimens, fdutimensat tests: EBADF tests.
49311         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
49313         Tests for function fstat().
49314         * modules/fstat-tests: New file.
49315         * tests/test-fstat.c: New file.
49316         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
49318 2011-09-20  Bruno Haible  <bruno@clisp.org>
49320         test-ttyname_r tests: EBADF tests.
49321         * tests/test-ttyname_r.c (main): Add tests for EBADF.
49323         Tests for module 'isatty'.
49324         * modules/isatty-tests: New file.
49325         * tests/test-isatty.c: New file.
49327         Tests for module 'write'.
49328         * modules/write-tests: New file.
49329         * tests/test-write.c: New file.
49331         Tests for module 'read'.
49332         * modules/read-tests: New file.
49333         * tests/test-read.c: New file.
49335         pwrite tests: EBADF tests.
49336         * tests/test-pwrite.c (main): Add tests for EBADF.
49338         pread tests: EBADF tests.
49339         * tests/test-pread.c (main): Add tests for EBADF.
49341         lseek tests: EBADF tests.
49342         * tests/test-lseek.c (main): Add more tests for EBADF.
49344         Tests for module 'ftruncate'.
49345         * modules/ftruncate-tests: New file.
49346         * tests/test-ftruncate.sh: New file.
49347         * tests/test-ftruncate.c: New file.
49349         fsync tests: EBADF tests.
49350         * tests/test-fsync.c (main): Add more tests for EBADF.
49352         fdatasync tests: EBADF tests.
49353         * tests/test-fdatasync.c (main): Add more tests for EBADF.
49355         Tests for module 'fchown'.
49356         * modules/fchown-tests: New file.
49357         * tests/test-fchown.c: New file.
49359         Tests for module 'fchmod'.
49360         * modules/fchmod-tests: New file.
49361         * tests/test-fchmod.c: New file.
49363         fchdir tests: EBADF tests.
49364         * tests/test-fchdir.c (main): Add more tests for EBADF.
49366         dup2 tests: EBADF tests.
49367         * tests/test-dup2.c (main): Add more tests for EBADF.
49369         Tests for module 'dup'.
49370         * modules/dup-tests: New file.
49371         * tests/test-dup.c: New file.
49373         Tests for module 'close'.
49374         * modules/close-tests: New file.
49375         * tests/test-close.c: New file.
49377 2011-09-20  Bruno Haible  <bruno@clisp.org>
49379         Tests for module 'shutdown'.
49380         * modules/shutdown-tests: New file.
49381         * tests/test-shutdown.c: New file.
49383         Tests for module 'setsockopt'.
49384         * modules/setsockopt-tests: New file.
49385         * tests/test-setsockopt.c: New file.
49387         Tests for module 'sendto'.
49388         * modules/sendto-tests: New file.
49389         * tests/test-sendto.c: New file.
49391         Tests for module 'send'.
49392         * modules/send-tests: New file.
49393         * tests/test-send.c: New file.
49395         Tests for module 'recvfrom'.
49396         * modules/recvfrom-tests: New file.
49397         * tests/test-recvfrom.c: New file.
49399         Tests for module 'recv'.
49400         * modules/recv-tests: New file.
49401         * tests/test-recv.c: New file.
49403         Tests for module 'listen'.
49404         * modules/listen-tests: New file.
49405         * tests/test-listen.c: New file.
49407         Tests for module 'getsockopt'.
49408         * modules/getsockopt-tests: New file.
49409         * tests/test-getsockopt.c: New file.
49411         Tests for module 'getsockname'.
49412         * modules/getsockname-tests: New file.
49413         * tests/test-getsockname.c: New file.
49415         Tests for module 'getpeername'.
49416         * modules/getpeername-tests: New file.
49417         * tests/test-getpeername.c: New file.
49419         Tests for module 'connect'.
49420         * modules/connect-tests: New file.
49421         * tests/test-connect.c: New file.
49423         Tests for module 'bind'.
49424         * modules/bind-tests: New file.
49425         * tests/test-bind.c: New file.
49427         accept4 tests: Fix for native Windows.
49428         * tests/test-accept4.c: Include sockets.h.
49429         (main): Invoke gl_sockets_startup.
49430         * modules/accept4-tests (Depends-on): Add sockets.
49432         accept tests: Fix for native Windows.
49433         * tests/test-accept.c: Include sockets.h.
49434         (main): Invoke gl_sockets_startup.
49435         * modules/accept-tests (Depends-on): Add sockets.
49437 2011-09-19  Bruno Haible  <bruno@clisp.org>
49439         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
49440         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
49441         do...while(0).
49442         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
49443         Suggested by Paul Eggert.
49445 2011-09-19  Bruno Haible  <bruno@clisp.org>
49447         sched: Ensure pid_t is defined.
49448         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
49449         not define pid_t.
49450         * lib/sched.in.h: Include <sys/types.h>.
49451         * doc/posix-headers/sched.texi: Mention the pid_t problem.
49452         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49454 2011-09-19  Bruno Haible  <bruno@clisp.org>
49456         msvc-inval: Ensure the entire expansion is a single statement.
49457         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
49458         of braces.
49460 2011-09-19  Jim Meyering  <meyering@redhat.com>
49462         tests: use printf, not echo in init.sh's warn_ function
49463         * tests/init.sh (warn_): Use printf, not echo.  The latter would
49464         misbehave when given strings containing a backslash or starting
49465         with e.g., -n.  James Youngman suggested setting IFS.
49467 2011-09-19  Eric Blake  <eblake@redhat.com>
49469         futimens: enhance test
49470         * tests/test-futimens.h (test_futimens): Also check for EBADF on
49471         closed non-negative fd.
49473         date: accept 'hence' as opposite of 'ago'
49474         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
49475         * tests/test-parse-datetime.c (main): Enhance test.
49476         Suggested by Jesse Wilson.
49478 2011-09-19  Jim Meyering  <meyering@redhat.com>
49480         getcwd: don't fail in a deep directory on a system without openat
49481         Before this change, getcwd would fail when called from a directory
49482         of depth PATH_MAX / 3 or greater.  That was due to the fact that
49483         the non-openat implementation used "..", "../..", "../../..", etc.
49484         to access ancestor directories.  With too many, that string would
49485         be longer than PATH_MAX.
49486         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
49487         using gnulib's openat replacement.
49488         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
49489         we're using the replacement function.
49491 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
49493         maint.mk: avoid warnings from perl about missing files
49494         * top/maint.mk (def_sym_regex): Ignore files listed in
49495         $(gl_other_headers_) that do not exist, say because a project
49496         does not use a corresponding module.
49498 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49500         stat: use pathmax.h only if needed
49501         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
49502         This is better for Emacs, which does not have a mingw port and
49503         therefore can avoid the pathmax module.
49505         utimens: remove dependency on dup2
49506         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
49507         to work around the Linux kernel bug.
49508         * modules/utimens (Depends-on): Remove dup2.
49510 2011-09-18  Bruno Haible  <bruno@clisp.org>
49512         inet_ntop, inet_pton: Look for it also in libresolv.
49513         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
49514         libnsl, search for it in libresolv.
49515         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49516         Needed on Solaris 7.
49518 2011-09-18  Bruno Haible  <bruno@clisp.org>
49520         accept, accept4 tests: Avoid link error on Solaris.
49521         * modules/accept-tests (Makefile.am): Link test-accept against
49522         $(LIBSOCKET).
49523         * modules/accept4-tests (Makefile.am): Link test-accept4 against
49524         $(LIBSOCKET).
49526         accept4: Avoid link error on Solaris.
49527         * modules/accept4 (Link): New section.
49529         socket functions: Avoid link errors on Solaris.
49530         * modules/accept (Depends-on): Add socketlib.
49531         (Link): New section.
49532         * modules/bind (Depends-on): Add socketlib.
49533         (Link): New section.
49534         * modules/connect (Depends-on): Add socketlib.
49535         (Link): New section.
49536         * modules/getpeername (Depends-on): Add socketlib.
49537         (Link): New section.
49538         * modules/getsockname (Depends-on): Add socketlib.
49539         (Link): New section.
49540         * modules/getsockopt (Depends-on): Add socketlib.
49541         (Link): New section.
49542         * modules/listen (Depends-on): Add socketlib.
49543         (Link): New section.
49544         * modules/recv (Depends-on): Add socketlib.
49545         (Link): New section.
49546         * modules/recvfrom (Depends-on): Add socketlib.
49547         (Link): New section.
49548         * modules/send (Depends-on): Add socketlib.
49549         (Link): New section.
49550         * modules/sendto (Depends-on): Add socketlib.
49551         (Link): New section.
49552         * modules/setsockopt (Depends-on): Add socketlib.
49553         (Link): New section.
49554         * modules/shutdown (Depends-on): Add socketlib.
49555         (Link): New section.
49556         * modules/socket (Depends-on): Add socketlib.
49557         (Link): New section.
49559 2011-09-18  Bruno Haible  <bruno@clisp.org>
49561         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
49562         * tests/test-ptsname.c (main): Terminate the test if it takes longer
49563         than 5 seconds.
49564         * modules/ptsname-tests (configure.ac): Test for alarm.
49566 2011-09-18  Bruno Haible  <bruno@clisp.org>
49568         posix_spawn_file_actions_add*: Fix module dependencies.
49569         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
49570         posix_spawn_file_actions_init.
49571         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
49572         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
49574 2011-09-18  Bruno Haible  <bruno@clisp.org>
49576         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
49577         * tests/test-rename.h (test_rename): Allow error code EEXIST.
49578         * tests/test-renameat.c (main): Likewise.
49580 2011-09-18  Bruno Haible  <bruno@clisp.org>
49582         Tests for module 'accept4'.
49583         * modules/accept4-tests: New file.
49584         * tests/test-accept4.c: New file.
49586 2011-09-18  Bruno Haible  <bruno@clisp.org>
49588         Tests for module 'accept'.
49589         * modules/accept-tests: New file.
49590         * tests/test-accept.c: New file.
49592 2011-09-18  Bruno Haible  <bruno@clisp.org>
49594         dup2: Support for MSVC.
49595         * lib/dup2.c: Include msvc-inval.h.
49596         (rpl_dup2): Handle invalid parameter notifications during dup2 and
49597         _get_osfhandle calls.
49598         * modules/dup2 (Depends-on): Add msvc-inval.
49599         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
49601         New module 'msvc-inval'.
49602         * lib/msvc-inval.h: New file.
49603         * lib/msvc-inval.c: New file.
49604         * m4/msvc-inval.m4: New file.
49605         * modules/msvc-inval: New file.
49607 2011-09-17  Bruno Haible  <bruno@clisp.org>
49609         Tests for module 'pclose'.
49610         * modules/pclose-tests: New file.
49612         New module 'pclose'.
49613         * lib/stdio.in.h (pclose): New declaration.
49614         * lib/pclose.c: New file.
49615         * m4/pclose.m4: New file.
49616         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
49617         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
49618         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
49619         * modules/pclose: New file.
49620         * modules/popen-tests (Depends-on): Add pclose.
49621         * modules/popen-safer-tests (Depends-on): Likewise.
49622         * doc/posix-functions/pclose.texi: Mention the new module.
49624 2011-09-17  Bruno Haible  <bruno@clisp.org>
49626         popen: Support for MSVC.
49627         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
49628         * lib/popen.c (popen): Provide alternate definition for native Windows.
49629         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
49630         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
49631         * modules/popen (Depends-on, configure.ac): Update condition.
49632         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
49633         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
49634         fixed.
49636 2011-09-17  Bruno Haible  <bruno@clisp.org>
49638         isnanl, isnand, isnanf: Work around MSVC bug.
49639         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
49641 2011-09-17  Bruno Haible  <bruno@clisp.org>
49643         sys_socket tests: Fix recent mistake.
49644         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
49646 2011-09-17  Bruno Haible  <bruno@clisp.org>
49648         putenv: Support for MSVC.
49649         * modules/putenv (Depends-on): Add environ.
49650         * lib/putenv.c (environ): Disable declaration.
49651         * lib/unistd.in.h: Update comment.
49653 2011-09-17  Bruno Haible  <bruno@clisp.org>
49655         math: Avoid macro redefinition warnings on MSVC.
49656         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
49657         Undefine before redefining.
49659 2011-09-17  Bruno Haible  <bruno@clisp.org>
49661         doc: Mention functions which are declared as macros.
49662         * doc/posix-functions/*[fl].texi: Mention that some functions are
49663         defined as macros with arguments only.
49665 2011-09-17  Bruno Haible  <bruno@clisp.org>
49667         Add dependencies to new dirent related modules.
49668         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
49669         * modules/fts (Depends-on): Likewise.
49670         * modules/glob (Depends-on): Likewise.
49671         * modules/savedir (Depends-on): Likewise.
49672         * modules/scandir (Depends-on): Likewise.
49673         * modules/dirent-safer (Depends-on): Add opendir, closedir.
49674         * modules/fdopendir (Depends-on): Add opendir.
49676 2011-09-17  Bruno Haible  <bruno@clisp.org>
49678         inet_pton: Support for MSVC on Windows Vista or newer.
49679         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
49680         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
49681         HAVE_DECL_INET_PTON is defined.
49682         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49683         On platforms with <winsock2.h>, test whether inet_pton is declared in
49684         <ws2tcpip.h>. If so, arrange to replace it.
49685         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49686         REPLACE_INET_PTON.
49687         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
49688         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
49689         (Depends-on, configure.ac): Update condition.
49690         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
49692 2011-09-17  Bruno Haible  <bruno@clisp.org>
49694         inet_ntop: Support for MSVC on Windows Vista or newer.
49695         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
49696         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
49697         HAVE_DECL_INET_NTOP is defined.
49698         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49699         On platforms with <winsock2.h>, test whether inet_ntop is declared in
49700         <ws2tcpip.h>. If so, arrange to replace it.
49701         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49702         REPLACE_INET_NTOP.
49703         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
49704         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
49705         (Depends-on, configure.ac): Update condition.
49706         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
49708 2011-09-16  Eric Blake  <eblake@redhat.com>
49710         test-fsync: yet another enhancement
49711         * tests/test-fsync.c (main): Also test behavior on read-only text
49712         file.
49714 2011-09-16  Bruno Haible  <bruno@clisp.org>
49716         Enhance fsync, fdatasync tests.
49717         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
49718         * tests/test-fdatasync.c (main): Likewise.
49720 2011-09-16  Bruno Haible  <bruno@clisp.org>
49722         Support for MSVC compiler: Ensure mode_t gets defined.
49723         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
49724         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49725         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49726         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
49727         * tests/test-fcntl-h.c: Check that mode_t is defined.
49728         * tests/test-sys_stat.c: Likewise.
49729         * tests/test-sys_types.c: Likewise.
49730         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
49731         * doc/posix-headers/sys_stat.texi: Likewise.
49732         * doc/posix-headers/sys_types.texi: Likewise.
49734 2011-09-16  Bruno Haible  <bruno@clisp.org>
49736         sys_stat: Support for MSVC.
49737         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
49738         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
49739         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
49740         MSVC.
49742 2011-09-16  Bruno Haible  <bruno@clisp.org>
49744         Support for MSVC compiler: Ensure off_t gets defined.
49745         * lib/unistd.in.h: Include <sys/types.h>.
49746         * tests/test-fcntl-h.c: Check that off_t is defined.
49747         * tests/test-sys_stat.c: Likewise.
49748         * tests/test-sys_types.c: Likewise.
49750 2011-09-16  Eric Blake  <eblake@redhat.com>
49752         fdatasync: port to Solaris
49753         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
49754         * modules/fdatasync (Link): Document it.
49755         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
49757         fdatasync: port to MacOS X 10.7
49758         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
49759         declared.
49760         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
49761         * modules/unistd (Makefile.am): Substitute it.
49762         * lib/unistd.in.h (fdatasync): Declare on MacOS.
49763         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
49765         fdatasync: minor improvements
49766         * modules/fdatasync (Depends-on): Add condition for fsync.
49767         * lib/fdatasync.c (fdatasync): Add comment.
49768         * tests/test-unistd-c++.cc: Test fdatasync.
49770         unistd: update refs to newer POSIX
49771         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
49772         Suggested by Bruno Haible.
49774         fdatasync: new module
49775         * modules/fsync (Description): Document difference to fdatasync.
49776         * modules/fdatasync: New module.
49777         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
49778         * lib/fdatasync.c (fdatasync): Likewise.
49779         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
49780         defaults.
49781         * modules/unistd (Makefile.am): Set witnesses.
49782         * lib/unistd.in.h (fdatasync): Declare.
49783         * MODULES.html.sh: Document it.
49784         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
49785         * modules/fdatasync-tests: New test.
49786         * tests/test-fdatasync.c: Likewise.
49788 2011-09-16  Eric Blake  <eblake@redhat.com>
49790         test-fsync: enhance tests
49791         * modules/fsync-tests (Depends-on): Add errno, for mingw.
49792         * tests/test-fsync.c (main): Enhance test.
49794 2011-09-15  Bruno Haible  <bruno@clisp.org>
49796         Support for MSVC compiler: Ensure ssize_t gets defined.
49797         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
49798         * doc/posix-headers/stdio.texi: Likewise.
49799         * modules/stdio (Depends-on): Add ssize_t.
49800         * modules/sys_socket (Depends-on): Likewise.
49801         * modules/sys_types (Depends-on): Likewise.
49802         * modules/sys_uio (Depends-on): Likewise.
49803         * modules/unistd (Depends-on): Likewise.
49804         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
49805         * tests/test-sys_types.c: Check that ssize_t is defined.
49807 2011-09-14  Bruno Haible  <bruno@clisp.org>
49809         Avoid using #, the m4 comment starter character, near brackets.
49810         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
49811         delimiter character in sed expressions.
49812         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
49813         Suggested by Eric Blake.
49815         Properly quote AC_CHECK_DECLS' 4th argument.
49816         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
49817         argument.
49818         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49819         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
49820         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49821         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
49822         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49823         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
49824         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
49825         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
49826         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
49827         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49828         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
49829         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49830         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49831         * m4/isinf.m4 (gl_ISINF): Likewise.
49832         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49833         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49834         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49835         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
49836         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
49837         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
49838         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49839         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
49840         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
49841         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49842         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49843         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49844         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
49845         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49846         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49847         Reported by Eric Blake.
49849         Properly quote AC_CHECK_DECL's 4th argument.
49850         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
49851         argument.
49852         * m4/argp.m4 (gl_ARGP): Likewise.
49853         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49854         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49855         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49856         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49857         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
49858         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
49859         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
49860         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49861         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49862         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49863         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49864         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49865         Reported by Eric Blake.
49867 2011-09-14  Eric Blake  <eblake@redhat.com>
49869         opendir: avoid compile warning
49870         * lib/opendir.c (includes): Always include errno.h.
49871         Reported by Tatsuro MATSUOKA.
49873 2011-09-14  Jim Meyering  <meyering@redhat.com>
49875         maint.mk: sc_tight_scope: propagate failure from sub-make
49876         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
49877         Reported by Martin von Gagern.
49879 2011-09-13  Bruno Haible  <bruno@clisp.org>
49881         tempname: Support for MSVC.
49882         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
49883         MSVC.
49884         * modules/tempname (Depends-on): Add fcntl-h.
49886 2011-09-13  Bruno Haible  <bruno@clisp.org>
49888         sys_time: Support for MSVC.
49889         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
49890         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
49891         include <winsock2.h>.
49892         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
49893         function declarations that collide with POSIX.
49894         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
49895         (Makefile.am): Substitute HAVE_WINSOCK2_H.
49897 2011-09-13  Bruno Haible  <bruno@clisp.org>
49899         stat: Support for MSVC.
49900         * lib/stat.c: Include pathmax.h.
49901         * modules/stat (Depends-on): Add pathmax.
49903         pathmax: Support for native Windows.
49904         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
49906 2011-09-12  Bruno Haible  <bruno@clisp.org>
49908         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
49909         * lib/dirent.in.h (struct dirent): New type.
49910         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
49911         DT_WHT): New macros.
49912         (DIR): New type.
49913         (opendir, closedir): Declare only if the module 'opendir' is enabled.
49914         (readdir, rewinddir): New declarations.
49915         * lib/dirent-private.h: New file.
49916         * lib/opendir.c: New file.
49917         * lib/readdir.c: New file.
49918         * lib/rewinddir.c: New file.
49919         * lib/closedir.c: New file.
49920         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
49921         * m4/opendir.m4: New file.
49922         * m4/readdir.m4: New file.
49923         * m4/rewinddir.m4: New file.
49924         * m4/closedir.m4: New file.
49925         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
49926         REPLACE_CLOSEDIR here.
49927         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
49928         readdir, rewinddir are declared.
49929         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
49930         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
49931         HAVE_REWINDDIR, HAVE_CLOSEDIR.
49932         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
49933         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
49934         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
49935         * modules/opendir: New file.
49936         * modules/readdir: New file.
49937         * modules/rewinddir: New file.
49938         * modules/closedir: New file.
49939         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
49940         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
49941         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
49942         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
49943         * NEWS: Mention the 'fchdir' change.
49945 2011-09-11  Bruno Haible  <bruno@clisp.org>
49947         asm-underscore.m4: Support for MSVC.
49948         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
49949         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
49951 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
49953         Doc about crypt functions.
49954         * doc/posix-functions/crypt.texi: Expand range of glibc versions
49955         needing for _GNU_SOURCE to get crypt.
49956         * doc/posix-functions/encrypt.texi: Likewise.
49957         * doc/posix-functions/setkey.texi: Likewise.
49959 2011-09-11  Bruno Haible  <bruno@clisp.org>
49961         doc: Update regarding MSVC 9.
49962         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
49963         tested".
49964         * doc/posix-functions/*.texi: Update with info about MSVC 9.
49965         * doc/posix-headers/*.texi: Likewise.
49966         * doc/pastposix-functions/*.texi: Likewise.
49967         * doc/glibc-functions/*.texi: Likewise.
49968         * doc/glibc-headers/*.texi: Likewise.
49970 2011-09-11  Bruno Haible  <bruno@clisp.org>
49972         unistd et al.: Don't assume <unistd.h> exists.
49973         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
49974         does not exist.
49975         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
49976         exist. But include <stdlib.h>.
49977         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
49978         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
49979         symlink() does not exist.
49980         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
49981         include <io.h> instead.
49982         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
49983         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
49984         include <direct.h> instead.
49985         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49986         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49987         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
49988         <io.h> instead.
49989         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
49990         correctly if the system does not have hard links.
49991         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
49992         <direct.h> instead.
49993         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
49994         it when looking for function declarations.
49995         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
49996         <direct.h> and <io.h> instead.
49997         * doc/posix-headers/unistd.texi: More details about MSVC problem.
49999 2011-09-11  Bruno Haible  <bruno@clisp.org>
50001         strcase: Support for MSVC.
50002         * modules/strcase (Status, Notice): Remove obsoletion mark.
50003         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
50004         * doc/posix-functions/strncasecmp.texi: Likewise.
50006         strings: Don't assume <strings.h> exists.
50007         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
50008         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
50009         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
50010         * doc/posix-headers/strings.texi: Mention the MSVC problem.
50012 2011-09-11  Bruno Haible  <bruno@clisp.org>
50014         dirent: Don't assume <dirent.h> exists.
50015         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
50016         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
50017         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
50018         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
50020 2011-09-11  Bruno Haible  <bruno@clisp.org>
50022         Fix wint_t on MSVC.
50023         * lib/wchar.in.h (wint_t): On MSVC, override it.
50024         * lib/wctype.in.h (wint_t): Likewise.
50025         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
50026         MSVC.
50027         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
50028         * doc/posix-headers/wctype.texi: Likewise.
50030 2011-09-11  Bruno Haible  <bruno@clisp.org>
50032         sys_types: Fix typo.
50033         * lib/sys_types.in.h: Fix typo in comment.
50034         Reported by Paul Eggert.
50036         Support for MSVC compiler: Ensure size_t gets defined.
50037         * modules/strings (Depends-on): Add 'sys_types'.
50038         * modules/sys_uio (Depends-on): Likewise.
50039         * lib/sys_uio.in.h: Update comment.
50041         C++ tests for module 'sys_types'.
50042         * modules/sys_types-c++-tests: New file.
50043         * tests/test-sys_types-c++.cc: New file.
50045         Tests for module 'sys_types'.
50046         * modules/sys_types-tests: New file.
50047         * tests/test-sys_types.c: New file.
50049         New module 'sys_types'.
50050         * lib/sys_types.in.h: New file.
50051         * m4/sys_types_h.m4: New file.
50052         * modules/sys_types: New file.
50053         * doc/posix-headers/sys_types.texi: Mention the new module and the
50054         size_t problem on MSVC 9.
50056 2011-09-11  Bruno Haible  <bruno@clisp.org>
50058         Support for MSVC compiler: Avoid division by a literal 0.
50059         * lib/math.in.h (NAN): Define through a function call also on MSVC.
50060         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
50061         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
50062         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
50063         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
50064         * tests/infinity.h: New file.
50065         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
50066         on MSVC.
50067         * tests/test-ceilf1.c: Include infinity.h.
50068         (main): Use Infinityf.
50069         * tests/test-ceil1.c: Include infinity.h.
50070         (main): Use Infinityd.
50071         * tests/test-ceill.c: Include infinity.h.
50072         (main): Use Infinityl.
50073         * tests/test-dprintf-posix.c: Include infinity.h.
50074         (test_function): Use Infinityd.
50075         * tests/test-floorf1.c: Include infinity.h.
50076         (main): Use Infinityf.
50077         * tests/test-floor1.c: Include infinity.h.
50078         (main): Use Infinityd.
50079         * tests/test-floorl.c: Include infinity.h.
50080         (main): Use Infinityl.
50081         * tests/test-fprintf-posix.c: Include infinity.h.
50082         (test_function): Use Infinityd.
50083         * tests/test-frexp.c: Include infinity.h.
50084         (main): Use Infinityd.
50085         * tests/test-frexpl.c: Include infinity.h.
50086         (main): Use Infinityl.
50087         * tests/test-isfinite.c: Include infinity.h.
50088         (test_isfinitef): Use Infinityf.
50089         (test_isfinited): Use Infinityd.
50090         (test_isfinitel): Use Infinityl.
50091         * tests/test-isinf.c: Include infinity.h.
50092         (test_isinff): Use Infinityf.
50093         (test_isinfd): Use Infinityd.
50094         (test_isinfl): Use Infinityl.
50095         * tests/test-isnan.c: Include infinity.h.
50096         (test_float): Use Infinityf.
50097         (test_double): Use Infinityd.
50098         (test_long_double): Use Infinityl.
50099         * tests/test-isnanf.h: Include infinity.h.
50100         (main): Use Infinityf.
50101         * tests/test-isnand.h: Include infinity.h.
50102         (main): Use Infinityd.
50103         * tests/test-isnanl.h: Include infinity.h.
50104         (main): Use Infinityl.
50105         * tests/test-ldexpl.c: Include infinity.h.
50106         (main): Use Infinityl.
50107         * tests/test-printf-posix.h: Include infinity.h.
50108         (test_function): Use Infinityd.
50109         * tests/test-roundf1.c: Include infinity.h.
50110         (main): Use Infinityf.
50111         * tests/test-round1.c: Include infinity.h.
50112         (main): Use Infinityd.
50113         * tests/test-roundl.c: Include infinity.h.
50114         (main): Use Infinityl.
50115         * tests/test-signbit.c: Include infinity.h.
50116         (test_signbitf): Use Infinityf.
50117         (test_signbitd): Use Infinityd.
50118         (test_signbitl): Use Infinityl.
50119         * tests/test-snprintf-posix.h: Include infinity.h.
50120         (test_function): Use Infinityd, Infinityl.
50121         * tests/test-sprintf-posix.h: Include infinity.h.
50122         (test_function): Use Infinityd, Infinityl.
50123         * tests/test-truncf1.c: Include infinity.h.
50124         (main): Use Infinityf.
50125         * tests/test-trunc1.c: Include infinity.h.
50126         (main): Use Infinityd.
50127         * tests/test-truncl.c: Include infinity.h.
50128         (main): Use Infinityl.
50129         * tests/test-vasnprintf-posix.c: Include infinity.h.
50130         (test_function): Use Infinityd, Infinityl.
50131         * tests/test-vasprintf-posix.c: Include infinity.h.
50132         (test_function): Use Infinityd, Infinityl.
50133         * modules/ceilf-tests (Files): Add tests/infinity.h.
50134         * modules/ceil-tests (Files): Likewise.
50135         * modules/ceill-tests (Files): Likewise.
50136         * modules/dprintf-posix-tests (Files): Likewise.
50137         * modules/floorf-tests (Files): Likewise.
50138         * modules/floor-tests (Files): Likewise.
50139         * modules/floorl-tests (Files): Likewise.
50140         * modules/fprintf-posix-tests (Files): Likewise.
50141         * modules/frexp-tests (Files): Likewise.
50142         * modules/frexp-nolibm-tests (Files): Likewise.
50143         * modules/frexpl-tests (Files): Likewise.
50144         * modules/frexpl-nolibm-tests (Files): Likewise.
50145         * modules/isfinite-tests (Files): Likewise.
50146         * modules/isinf-tests (Files): Likewise.
50147         * modules/isnan-tests (Files): Likewise.
50148         * modules/isnanf-tests (Files): Likewise.
50149         * modules/isnanf-nolibm-tests (Files): Likewise.
50150         * modules/isnand-tests (Files): Likewise.
50151         * modules/isnand-nolibm-tests (Files): Likewise.
50152         * modules/isnanl-tests (Files): Likewise.
50153         * modules/isnanl-nolibm-tests (Files): Likewise.
50154         * modules/ldexpl-tests (Files): Likewise.
50155         * modules/printf-posix-tests (Files): Likewise.
50156         * modules/roundf-tests (Files): Likewise.
50157         * modules/round-tests (Files): Likewise.
50158         * modules/roundl-tests (Files): Likewise.
50159         * modules/signbit-tests (Files): Likewise.
50160         * modules/snprintf-posix-tests (Files): Likewise.
50161         * modules/sprintf-posix-tests (Files): Likewise.
50162         * modules/truncf-tests (Files): Likewise.
50163         * modules/trunc-tests (Files): Likewise.
50164         * modules/truncl-tests (Files): Likewise.
50165         * modules/vasnprintf-posix-tests (Files): Likewise.
50166         * modules/vasprintf-posix-tests (Files): Likewise.
50167         * modules/vdprintf-posix-tests (Files): Likewise.
50168         * modules/vfprintf-posix-tests (Files): Likewise.
50169         * modules/vprintf-posix-tests (Files): Likewise.
50170         * modules/vsnprintf-posix-tests (Files): Likewise.
50171         * modules/vsprintf-posix-tests (Files): Likewise.
50172         * modules/xprintf-posix-tests (Files): Likewise.
50174 2011-09-11  Bruno Haible  <bruno@clisp.org>
50176         Ensure pid_t gets defined.
50177         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
50178         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
50179         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
50180         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
50181         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
50182         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
50183         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
50184         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
50185         * tests/test-fcntl-h.c: Check that pid_t is defined.
50186         * tests/test-sched.c: Likewise.
50187         * tests/test-termios.c: Likewise.
50188         * tests/test-time.c: Likewise.
50189         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
50190         * doc/posix-headers/signal.texi: Likewise.
50191         * doc/posix-headers/sys_types.texi: Likewise.
50192         * doc/posix-headers/time.texi: Likewise.
50194 2011-09-11  Bruno Haible  <bruno@clisp.org>
50196         acl: Fix compilation on Solaris 10 (older version).
50197         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
50198         of ACE_EVERYONE.
50199         * lib/set-mode-acl.c (qset_acl): Likewise.
50200         Reported by Christian Jullien <eligis@orange.fr>.
50202 2011-09-10  Bruno Haible  <bruno@clisp.org>
50204         iconv, unsetenv: Add support for MSVC compiler.
50205         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
50206         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
50208 2011-09-10  Bruno Haible  <bruno@clisp.org>
50210         *printf: Add support for MSVC compiler.
50211         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
50212         handles the exception caused by the %n directive. When cross-compiling,
50213         guess no on native Windows.
50214         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
50215         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
50216         emulate it through vsnprintf.
50217         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
50218         * doc/posix-functions/dprintf.texi: Update documentation regarding
50219         MSVC 9.
50220         * doc/posix-functions/fprintf.texi: Likewise.
50221         * doc/posix-functions/printf.texi: Likewise.
50222         * doc/posix-functions/snprintf.texi: Likewise.
50223         * doc/posix-functions/sprintf.texi: Likewise.
50224         * doc/posix-functions/swprintf.texi: Likewise.
50225         * doc/posix-functions/vdprintf.texi: Likewise.
50226         * doc/posix-functions/vfprintf.texi: Likewise.
50227         * doc/posix-functions/vprintf.texi: Likewise.
50228         * doc/posix-functions/vsnprintf.texi: Likewise.
50229         * doc/posix-functions/vsprintf.texi: Likewise.
50230         * doc/glibc-functions/asprintf.texi: Likewise.
50231         * doc/glibc-functions/obstack_printf.texi: Likewise.
50232         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50233         * doc/glibc-functions/vasprintf.texi: Likewise.
50235 2011-09-10  Bruno Haible  <bruno@clisp.org>
50237         nocrash: Add support for native Windows.
50238         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
50240 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
50241             Bruno Haible  <bruno@clisp.org>
50243         absolute-header, include-next: Add support for MSVC compiler.
50244         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
50245         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
50246         directory separator in #line directives.
50247         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
50248         recognize also backslash as directory separator in #line directives.
50250 2011-09-08  Jim Meyering  <meyering@redhat.com>
50252         maint.mk: mark the post-release commit log with "maint: " prefix
50253         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
50254         one-line commit-log summary.
50256 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
50257             Bruno Haible  <bruno@clisp.org>
50259         Doc about crypt functions.
50260         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
50261         systems.
50262         * doc/posix-functions/encrypt.texi: Likewise.
50263         * doc/posix-functions/setkey.texi: Likewise.
50265 2011-09-08  Simon Josefsson  <simon@josefsson.org>
50267         * lib/gc.h: Fix copyright header.
50269 2011-09-07  Bruno Haible  <bruno@clisp.org>
50271         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
50272         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
50273         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
50275 2011-09-07  Bruno Haible  <bruno@clisp.org>
50277         openat: Work around compilation error with OSF/1 5.1 DTK cc.
50278         * lib/fopen.c: Use different syntax for include of <stdio.h>.
50279         * lib/freopen.c: Likewise.
50280         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
50281         * lib/lstat.c: Likewise.
50282         * lib/stat.c: Likewise.
50283         * lib/open.c: Use different syntax for include of <fcntl.h>.
50284         * lib/openat.c: Include fcntl.h again, explicitly.
50286 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
50288         parse-datetime: document the newly accepted format
50289         * doc/parse-datetime.texi (Combined date and time of day items):
50290         New section.
50292 2011-09-06  Bruno Haible  <bruno@clisp.org>
50294         acl: Fix a test failure on newer Solaris 10 with ZFS.
50295         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
50296         ENOSYS as no ACL.
50297         Reported by Jim Meyering.
50299 2011-09-06  Bruno Haible  <bruno@clisp.org>
50301         acl: Update for AIX >= 5.3 with NFS.
50302         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
50303         ENOSYS as no ACL.
50305         acl: Fix a test failure on AIX >= 5.3 with NFS.
50306         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
50307         as no ACL.
50309 2011-09-06  Bruno Haible  <bruno@clisp.org>
50311         acl: Fix a test failure on IRIX 6.5 with NFS.
50312         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
50313         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
50314         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
50315         * lib/copy-acl.c (qcopy_acl): Likewise.
50317 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
50319         openat: port to AIX 7.1 with large files
50320         AIX 7.1 does a "#define openat open64at" if large files are in use,
50321         so we can't simply #undef openat.  Use the orig_openat trick (similar
50322         to orig_open in lib/open.c) to work around the problem.  Problem
50323         reported by Kevin Brott for GNU tar, in the thread containing
50324         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
50325         * lib/openat.c (__need_system_fcntl_h): Define first.
50326         Include <fcntl.h> and <sys/types.h> before undefining.
50327         (orig_openat) [HAVE_OPENAT]: New inline function.
50328         (openat) [HAVE_OPENAT]: Do not undef.
50329         (rpl_openat): Use orig_openat, not openat.
50331 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
50332             Bruno Haible  <bruno@clisp.org>
50334         acl: Avoid errors on NonStop Kernel.
50335         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
50336         ENOTSUP errors.
50338 2011-09-05  Bruno Haible  <bruno@clisp.org>
50340         acl: Clean up Solaris code.
50341         * lib/acl-internal.h: Remove no-op #if.
50342         * lib/file-has-acl.c: Likewise.
50343         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
50344         * lib/copy-acl.c (qcopy_acl): Likewise.
50346 2011-09-05  Bruno Haible  <bruno@clisp.org>
50348         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
50349         binaries built on the original Solaris 10.
50350         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
50351         trivial.
50353 2011-09-05  Bruno Haible  <bruno@clisp.org>
50355         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
50356         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
50357         10.
50358         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
50359         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
50360         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
50361         instead of acl_get, facl_get, acl_set, facl_set.
50363 2011-09-05  Bruno Haible  <bruno@clisp.org>
50365         copy-file: Try unit tests on more file systems.
50366         * tests/test-copy-file-1.sh: New file.
50367         * tests/test-copy-file-2.sh: New file.
50368         * modules/copy-file-tests (Files): Add them.
50369         (Makefile.am): Add them to TESTS.
50371         acl: Try unit tests on more file systems.
50372         * tests/test-file-has-acl-1.sh: New file.
50373         * tests/test-file-has-acl-2.sh: New file.
50374         * tests/test-set-mode-acl-1.sh: New file.
50375         * tests/test-set-mode-acl-2.sh: New file.
50376         * tests/test-copy-acl-1.sh: New file.
50377         * tests/test-copy-acl-2.sh: New file.
50378         * modules/acl-tests (Files): Add them.
50379         (Makefile.am): Add them to TESTS.
50381 2011-09-04  Bruno Haible  <bruno@clisp.org>
50383         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
50384         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
50385         10.
50386         (OLD_ALLOW, OLD_DENY): New macros.
50387         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
50388         ACE_ACCESS_ALLOWED_ACE_TYPE.
50389         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
50390         ACE_ACCESS_DENIED_ACE_TYPE.
50391         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
50392         (NEW_ACE_EXECUTE): Fix value.
50393         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
50394         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
50395         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
50396         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
50397         NEW_ACE_SYNCHRONIZE): New macros.
50398         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
50399         instead of acl_fromtext, acl_set, facl_set.
50400         Fixes a coreutils/tests/cp/perm failure.
50402 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
50404         openat: test for fstatat (..., 0) bug
50405         Further testing with tar suggests that fstatat (..., 0)
50406         does not work in general, on AIX 7.1; see
50407         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
50408         So, give up entirely on AIX 7.1's fstatat, and fall back on our
50409         replacement fstatat (which is what older AIX releases were using
50410         anyway).
50411         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
50412         use is now changed to orig_fstatat.  This was probably the right
50413         thing to do anyway.
50414         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
50415         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
50416         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
50417         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
50418         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
50419         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
50420         if the bug is found.
50422         openat: test for fstatat (AT_FDCWD, ..., 0) bug
50423         This tests for another fstatat bug on AIX 7.1:
50424         fstatat (AT_FDCWD, ..., 0) does not work.  See
50425         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
50426         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
50427         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
50428         (rpl_fstatat): Adjust so that it works around either (or both)
50429         bugs if present.
50430         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
50432 2011-09-03  Karl Berry  <karl@gnu.org>
50434         * doc/regex.texi (Character Class Operators): Avoid literal ":"
50435         in index entries.
50437 2011-09-02  Bruno Haible  <bruno@clisp.org>
50439         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
50440         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
50441         values of AR, ARFLAGS, RANLIB.
50442         Reported by John W. Eaton <jwe@gnu.org> for Octave.
50444 2011-09-02  Bruno Haible  <bruno@clisp.org>
50446         Find 'ar' program that fits with --host argument.
50447         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
50449 2011-09-02  Bruno Haible  <bruno@clisp.org>
50451         tests: init.sh: Support any non-GNU diff.
50452         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
50453         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
50454         Solaris 8.
50456 2011-09-02  Bruno Haible  <bruno@clisp.org>
50458         tests: init.sh: work also with any non-GNU diff that supports -u
50459         * tests/init.sh: Relax check for diff -u support.
50460         Rather than checking for GNU diff via --version, simply check
50461         for support for -u itself.  Useful at least on OpenBSD 4.9,
50462         AIX 7.1, IRIX 6.5, and Solaris 10.
50464 2011-09-01  Bruno Haible  <bruno@clisp.org>
50466         strtoimax, strtoumax: Document problem on HP-UX 11.
50467         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
50468         * doc/posix-functions/strtoumax.texi: Likewise.
50470 2011-09-01  Bruno Haible  <bruno@clisp.org>
50472         strtoumax: Avoid link error on OSF/1 with DTK cc.
50473         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
50474         defined as a function.
50475         * modules/strtoumax (Depends-on, configure.ac): Test only whether
50476         strtoumax is defined, not whether it is declared.
50478 2011-09-01  Bruno Haible  <bruno@clisp.org>
50480         strtoimax: Avoid link error on OSF/1 with DTK cc.
50481         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
50482         defined as a function.
50483         * modules/strtoimax (Depends-on, configure.ac): Test only whether
50484         strtoimax is defined, not whether it is declared.
50486 2011-09-01  Bruno Haible  <bruno@clisp.org>
50488         imaxdiv: Avoid link error on OSF/1 with DTK cc.
50489         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
50490         as a function.
50491         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
50492         whether it is declared.
50494 2011-09-01  Bruno Haible  <bruno@clisp.org>
50496         imaxabs: Avoid link error on OSF/1 with DTK cc.
50497         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
50498         as a function.
50499         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
50500         whether it is declared.
50502 2011-09-01  Bruno Haible  <bruno@clisp.org>
50504         Tests for module 'strtoumax'.
50505         * modules/strtoumax-tests: New file.
50506         * tests/test-strtoumax.c: New file.
50508         Tests for module 'strtoimax'.
50509         * modules/strtoimax-tests: New file.
50510         * tests/test-strtoimax.c: New file.
50512         Tests for module 'imaxdiv'.
50513         * modules/imaxdiv-tests: New file.
50514         * tests/test-imaxdiv.c: New file.
50516         Tests for module 'imaxabs'.
50517         * modules/imaxabs-tests: New file.
50518         * tests/test-imaxabs.c: New file.
50520 2011-09-01  Bruno Haible  <bruno@clisp.org>
50522         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
50523         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
50524         pthread_create.
50526 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50528         openat: work around AIX 7.1 fstatat issue
50529         This should fix the problem that was not properly fixed
50530         in the previous change, dated 2011-08-30.
50531         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
50532         __need_system_stat_h defined.
50533         (orig_fstatat) [HAVE_FSTATAT]: New function.
50534         (rpl_fstatat): Go back to the old way of doing things,
50535         except call orig_fstatat instead of fstatat.
50536         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
50537         Remove unnecessary check whether fstatat fills in st_size etc.
50539 2011-09-01  Bruno Haible  <bruno@clisp.org>
50541         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
50542         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
50543         just include the system's header.
50545 2011-08-31  Jim Meyering  <meyering@redhat.com>
50547         tests: avoid spurious assertion failure in test-float.c on ppc64
50548         * tests/test-float.c (test_long_double): Comment out an assertion,
50549         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
50550         with gcc-4.4.4.
50552         maint: indent with spaces, not TABs
50553         I need to get in the habit of running gnulib's "make check".
50554         Both of these would have been caught.
50555         * m4/largefile.m4: Indent with spaces, not TABs.
50556         * lib/parse-datetime.y (iso_8601_time): Likewise.
50557         Spotted by Pádraig Brady.
50559         test-parse-datetime.c: accommodate a relatively strict gcc warning
50560         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
50561         to avoid a warning from gcc's -Werror=missing-declarations.
50562         Insert a few spaces-before-funcall-parenthesis.
50564 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
50566         parse-datetime: accept ISO 8601 date and time rep with "T" separator
50567         The parser now accepts ISO 8601 date-time strings with "T" as the
50568         separator.  It has long parsed dates like "2004-02-29 16:21:42"
50569         with a space between the date and time strings.  Now it also parses
50570         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
50571         variants like "2004-02-29T16:21:42.333-07:00"
50572         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
50573         of day representation using the 'T' separator character.
50574         * doc/parse-datetime.texi (General date syntax): replace use of
50575         deprecated --iso-8601 option with --rfc-3339 in example of date
50576         command output formats that can be parsed.
50577         * tests/test-parse-datetime.c (tm_diff): New function, taken from
50578         lib/parse-datetime.y.
50579         (gmt_offset): New function.
50580         (main): Add additional test cases to validate ISO8601 extended
50581         date and time of day parsing.
50583 2011-08-31  Bruno Haible  <bruno@clisp.org>
50585         freopen: Documentation.
50586         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
50587         name.
50588         Reported by Claudio Bley <claudio.bley@gmail.com>.
50590 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
50592         freopen: Don't crash if the filename argument is NULL.
50593         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
50594         NULL.
50596 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50598         openat: work around AIX 7.1 fstatat bug
50599         Problem reported by Kevin Brott for GNU tar, in the thread containing
50600         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
50601         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
50602         FSTATAT_ST_SIZE_ETC_BROKEN.
50603         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
50604         rpl_fstatat.
50605         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
50606         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
50607         AC_CHECK_FUNCS_ONCE for fstatat.
50608         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
50609         fchmodat, mkdirat, openat and unlinkat.
50611 2011-08-30  Bruno Haible  <bruno@clisp.org>
50613         Avoid endless recursions if config.h includes some header files.
50614         * lib/fopen.c (__need_FILE): Define already before including config.h.
50615         * lib/freopen.c (__need_FILE): Likewise.
50616         * lib/open.c (__need_system_fcntl_h): Likewise.
50617         * lib/stat.c (__need_system_sys_stat_h): Likewise.
50618         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
50619         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
50621 2011-08-25  Karl Berry  <karl@gnu.org>
50623         * config/srclist.txt (ylwrap): new try.
50624         * build-aux/ylwrap: new file.
50626 2011-08-23  Bruno Haible  <bruno@clisp.org>
50628         tmpdir: Use a good default directory on native Windows.
50629         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
50630         (P_tmpdir): Default to _P_tmpdir on native Windows.
50631         (path_search): On native Windows, try the value returned by GetTempPath
50632         before trying P_tmpdir.
50633         * modules/tmpdir (Depends-on): Add pathmax.
50634         Suggested by John Darrington <john@darrington.wattle.id.au>.
50636 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
50638         doc: fix typo in README-release
50639         * top/README-release: Capitalize first word of a sentence.
50641 2011-08-19  Jim Meyering  <meyering@redhat.com>
50643         fts: do not exhaust memory when processing million-entry directories
50644         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
50645         directory would require about 256*N bytes of memory.  Thus, it was
50646         easy to construct a directory too large to be processed by any of
50647         those tools.  With this change, fts' maximum memory utilization is
50648         now limited to around 30MB.
50649         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
50650         (fts_read): When we've processed the final entry (i.e., when
50651         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
50652         using the parent entry to read any remaining entries.  Dispatch
50653         depending on what fts_build returns:
50654         - NULL+stop, aka failure: stop
50655         - NULL otherwise: move up in the dir hierarchy
50656         - non-NULL: handle this new entry
50657         (fts_build): Declare and use new local, continue_readdir.
50658         Prepare to be called from fts_read, when the entries
50659         from a partially-read directory have just been exhausted.
50660         In that case, we'll skip the opendir and instead use the parent's
50661         fts_dirp and derive dir_fd from that.
50662         Finally, in the readdir loop, if we read max_entries entries,
50663         exit the loop ensuring *not* to call closedir.  This is required
50664         so that fts_dirp can be reused on a subsequent call.
50665         Prompted by Ben England's report of memory exhaustion in find
50666         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
50668         maint: fts: move decl of `dp' down into while loop; split a long line
50669         * lib/fts.c (fts_build): No semantic change.
50671         fts: add/use new struct member, fts_dirp
50672         We are about to use this to manage any directory with
50673         too many entries to read all of them into memory at once.
50674         To do that, we'll need to save the DIR* pointer in each
50675         affected FTSENT struct.
50676         * lib/fts_.h: Include <dirent.h>.
50677         (struct FTSENT) [fts_dirp]: New member.
50678         * lib/fts.c (closedir_and_clear): Define.
50679         Use it in place of closedir so that we are sure to
50680         clear the new fts_dirp member when done with it.
50681         (fts_alloc): Initialize the new member.
50682         (fts_lfree): Free, if needed.
50684         maint: fts: give __opendir2 a new parameter and rename
50685         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
50686         than surreptitiously using sole caller's "dir_fd".
50687         (fts_opendir): Rename from __opendir2.
50689         maint: fts.c: remove __opendir2's now-unused parameter, oflag
50690         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
50692         maint: fts.c: correct off-by-one indentation
50693         * lib/fts.c (fts_build): Correct indentation, change style
50694         of a couple of block comments, and bracing style.
50696         maint: fts.c: move __opendir2 #define "up" out of function body
50697         * lib/fts.c (__opendir2): Move "up".  No semantic change.
50699         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
50700         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
50701         out for a long time and besides was useful only on BSD systems.
50703 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50705         regex: port to Stratus OpenVOS
50706         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
50707         define to empty, rather than attempting nonportable optimizations.
50708         Problem reported by Paul Green in:
50709         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
50710         and fix suggested by Eric Blake in:
50711         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
50713 2011-08-17  Eric Blake  <eblake@redhat.com>
50715         getcwd: fix test failures on mingw
50716         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
50717         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
50718         test if long directory cannot be created, and allow mingw errno.
50720         getcwd-lgpl: fix m4 to match relaxed test for BSD
50721         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
50722         (gl_FUNC_GETCWD_SIGNATURE): New macro.
50723         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
50724         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
50725         signature problem.
50727         getcwd: fix compilation on mingw64
50728         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
50729         getcwd.
50730         Reported by Marc-André Lureau.
50732         pipe2: silence compiler warning
50733         * lib/pipe2.c (pipe2): Hide label if it is not used.
50735 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
50737         relocatable-prog: fix link error
50738         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
50739         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
50740         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
50741         into modules/relocatable-lib without noticing that
50742         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
50743         also needs to build relocatable.c.
50745 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50747         getaddrinfo: fix sh typo in gai_strerrorA decl checking
50748         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
50749         shell code: it contained a 'break' that was not in a loop.
50750         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
50751         via a shell-language loop; this may have been true in old Autoconf
50752         versions, but it's not true in Autoconf 2.68.  I found this bug
50753         when testing coreutils git on Solaris 8, whose shell complains
50754         about the syntax error.
50756 2011-08-12  Simon Josefsson  <simon@josefsson.org>
50758         * lib/base64.c: Fix comment to reference RFC 4648.
50759         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
50760         <gvtulder@gmail.com>.
50762 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50764         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
50766         po/Makefile.in.in: fix make -q problem
50767         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
50768         rule, since there's no file named 'check-macro-version' and its
50769         use as a file breaks make -q.
50770         (all): Don't depend on check-macro-version.
50771         (CHECK_MACRO_VERSION): New macro.
50772         (stamp-po): Use it.
50774         configmake: fix make -q problem
50775         * modules/configmake (configmake.h): Update configmake.h's time stamp
50776         even if the file does not change.  Otherwise, 'make -q' fails.
50777         Problem reported by Simon Josefsson in
50778         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
50780 2011-08-11  Jim Meyering  <meyering@redhat.com>
50782         git-version-gen: correct the advice in a comment
50783         * build-aux/git-version-gen: Correct comment.
50784         Don't recommend to list .tarball-version in .gitignore.
50786 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50788         base64: fix off-by-one buffer size bug
50789         Problem and (trivial) fix reported by Gijs van Tulder in
50790         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
50791         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
50792         * tests/test-base64.c (main): Catch the bug.
50794 2011-08-10  Eric Blake  <eblake@redhat.com>
50796         closein: correct comments
50797         * lib/closein.c (close_stdin): Improve comments.
50799 2011-08-09  Bruno Haible  <bruno@clisp.org>
50801         More tests for 'fseeko'.
50802         * tests/test-fseeko3.c: New file, from Eric Blake.
50803         * tests/test-fseeko3.sh: New file.
50804         * modules/fseeko-tests (Files): Add them.
50805         (TESTS): Add test-fseeko3.sh.
50806         (check_PROGRAMS): Add test-fseeko3.
50808 2011-08-09  Eric Blake  <eblake@redhat.com>
50810         fseeko: remove unneeded hack
50811         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
50813         fseeko: fix bug on glibc
50814         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
50815         Reported by John W. Eaton.
50817 2011-08-08  Bruno Haible  <bruno@clisp.org>
50819         unictype/base: Fix interoperability with preinstalled libunistring.
50820         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
50821         Reported by Simon Josefsson.
50823 2011-08-08  Bruno Haible  <bruno@clisp.org>
50825         iswblank: Detect declaration correctly.
50826         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
50827         AC_CHECK_DECLS invocation.
50829 2011-08-08  Bruno Haible  <bruno@clisp.org>
50831         tcgetsid: Detect declaration correctly.
50832         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
50833         AC_CHECK_DECLS invocation.
50834         Reported by Simon Josefsson.
50836 2011-08-08  Eric Blake  <eblake@redhat.com>
50838         largefile: fix typo that regressed large file support
50839         * modules/largefile (configure.ac-early): Fix section name.
50841 2011-08-06  Karl Berry  <karl@gnu.org>
50843         * MODULES.html.sh (func_all_files): _Noreturn is no longer
50844         a separate module.
50846 2011-08-05  Simon Josefsson  <simon@josefsson.org>
50848         openat: Fix warnings and commens when building unlinkat.c on Hurd.
50849         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
50850         get prototype for free.
50852 2011-08-04  Bruno Haible  <bruno@clisp.org>
50854         Tests for module 'pathmax'.
50855         * modules/pathmax-tests: New file.
50856         * tests/test-pathmax.c: New file.
50858         canonicalize-lgpl: Support larger filenames on the Hurd.
50859         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
50860         Reported by Paul Eggert.
50862         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
50863         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
50864         * lib/chdir-long.h: Include pathmax.h.
50865         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
50866         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
50867         (PATH_MAX): Remove code that is done by pathmax.h.
50868         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
50869         * lib/tmpfile.c: Add a comment.
50870         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
50871         * modules/chdir-long (Depends-on): Add pathmax.
50872         * modules/getcwd (Depends-on): Add pathmax.
50873         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
50874         is not defined.
50875         * doc/posix-headers/limits.texi: Mention the pathmax module.
50876         * NEWS: Mention the change.
50878 2011-08-02  Bruno Haible  <bruno@clisp.org>
50880         pthread_sigmask: Actually use results of gl_THREADLIB.
50881         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
50882         gl_THREADLIB, not gl_[]THREADLIB.
50883         Reported by Eric Blake.
50885 2011-08-02  Jim Meyering  <meyering@redhat.com>
50887         maint.mk: relax the default _gl_TS_function_match regexp
50888         * top/maint.mk (_gl_TS_function_match): Don't require at least one
50889         space between function name and "(" in an "extern" declaration.
50890         That would fail to match a decl with no space there: extern void foo();
50892 2011-07-31  Iain Nicol  <iain@thenicols.net>
50894         git-version-gen: document that EXTRA_DIST must include .version
50895         * build-aux/git-version-gen: In the how-to-use comment, document
50896         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
50897         will fail when run from an unpacked distribution tarball.
50899 2011-08-01  Bruno Haible  <bruno@clisp.org>
50901         wctype-h: Fix last change.
50902         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
50903         REPLACE_TOWLOWER to 0.
50904         Reported by Sam Steingold <sds@gnu.org>.
50906 2011-07-31  Bruno Haible  <bruno@clisp.org>
50908         frexpl: Update autoconf test.
50909         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
50910         according to changes of 2011-06-20.
50912 2011-07-31  Bruno Haible  <bruno@clisp.org>
50914         sys_utsname: Add support for Minix.
50915         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
50916         <sys/utsname.h>.
50917         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
50918         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
50920 2011-07-31  Bruno Haible  <bruno@clisp.org>
50922         strings: Add support for Minix.
50923         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
50924         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
50925         * doc/posix-headers/strings.texi: Document the Minix problem.
50927 2011-07-31  Bruno Haible  <bruno@clisp.org>
50929         wctype-h: Add support for Minix.
50930         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
50931         REPLACE_TOWLOWER.
50932         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
50933         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
50934         REPLACE_ISWCNTRL.
50936 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
50938         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
50939         This is a performance improvement for 64-bit hosts: it causes the
50940         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
50942 2011-07-31  Bruno Haible  <bruno@clisp.org>
50944         stdioext: Add support for Minix.
50945         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
50946         * lib/fpurge.c (fpurge): Likewise.
50947         * lib/freadahead.c (freadahead): Likewise.
50948         * lib/freadable.c (freadable): Likewise.
50949         * lib/freading.c (freading): Likewise.
50950         * lib/freadptr.c (freadptr): Likewise.
50951         * lib/freadseek.c (freadptrinc): Likewise.
50952         * lib/fseeko.c (rpl_fseeko): Likewise.
50953         * lib/fseterr.c (fseterr): Likewise.
50954         * lib/fwritable.c (fwritable): Likewise.
50955         * lib/fwriting.c (fwriting): Likewise.
50956         * lib/fflush.c (clear_ungetc_buffer): Update comment.
50957         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
50959 2011-07-31  Bruno Haible  <bruno@clisp.org>
50961         errno: Port to Minix.
50962         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
50963         ECONNABORTED are defined.
50964         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
50965         GNULIB_defined_ECONNABORTED): New macros.
50966         * lib/strerror-override.h (strerror_override): Test also
50967         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
50968         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
50969         ECONNABORTED.
50970         * doc/posix-headers/errno.texi: Mention the Minix problem.
50972 2011-07-31  Bruno Haible  <bruno@clisp.org>
50974         Work around declaration collisions on Minix.
50975         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
50976         defined, set REPLACE_MBSINIT.
50977         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
50978         defined, set REPLACE_MBRTOWC.
50979         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
50980         set REPLACE_MBRLEN.
50981         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
50982         defined, set REPLACE_MBSRTOWCS.
50983         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
50984         defined, set REPLACE_WCRTOMB.
50985         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
50986         defined, set REPLACE_WCSRTOMBS.
50988 2011-07-31  Bruno Haible  <bruno@clisp.org>
50990         Add support for Minix with ACK compiler.
50991         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
50992         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
50993         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
50995 2011-07-31  Bruno Haible  <bruno@clisp.org>
50997         Documentation about Minix.
50998         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
50999         * doc/glibc-headers/*.texi: Likewise.
51000         * doc/posix-functions/*.texi: Likewise.
51001         * doc/glibc-functions/*.texi: Likewise.
51003 2011-07-31  Bruno Haible  <bruno@clisp.org>
51005         snippet/warn-on-use: Fix indentation.
51006         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
51008 2011-07-25  Jim Meyering  <meyering@redhat.com>
51010         tests: test-update-copyright.sh: remove unnecessary "rm" commands
51011         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
51012         commands.
51014 2011-07-27  Jim Meyering  <meyering@redhat.com>
51016         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
51017         * top/maint.mk (gl_extract_significant_defines_): Now that
51018         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
51019         gnulib/lib/signal.in.h, and now that we recommend to
51020         define-if-undefined those two symbols in application code,
51021         we must filter them out of the "significant" list.
51022         This avoids a "make syntax-check" failure in coreutils.
51024 2011-07-26  Eric Blake  <eblake@redhat.com>
51026         warnings: add comments about previous patch
51027         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
51028         * m4/include_next.m4: Likewise.
51029         * m4/warn-on-use.m4: Likewise.
51030         * m4/warnings.m4: Likewise, and simplify use.
51031         Suggested by Stefano Lattarini.
51033         include-next, warnings: support older autoconf
51034         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
51035         AS_VAR_PUSHDEF in a way that works with older autoconf.
51036         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
51037         Reported by Daniel P. Berrange.
51039 2011-07-25  Bruno Haible  <bruno@clisp.org>
51041         fseek, ftell: Fix doc.
51042         * doc/posix-functions/fseek.texi: Reword statement about
51043         AC_SYS_LARGEFILE.
51044         * doc/posix-functions/ftell.texi: Likewise.
51046 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
51047             Bruno Haible  <bruno@clisp.org>
51049         Add dependencies to the 'largefile' module.
51050         * modules/fopen (Depends-on): Add 'largefile'.
51051         * modules/freopen (Depends-on): Likewise.
51052         * modules/fseeko (Depends-on): Likewise.
51053         * modules/ftello (Depends-on): Likewise.
51054         * modules/glob (Depends-on): Likewise.
51055         * modules/lseek (Depends-on): Likewise.
51056         * modules/lstat (Depends-on): Likewise.
51057         * modules/mkostemp (Depends-on): Likewise.
51058         * modules/mkostemps (Depends-on): Likewise.
51059         * modules/mkstemp (Depends-on): Likewise.
51060         * modules/mkstemps (Depends-on): Likewise.
51061         * modules/open (Depends-on): Likewise.
51062         * modules/openat (Depends-on): Likewise.
51063         * modules/pread (Depends-on): Likewise.
51064         * modules/pwrite (Depends-on): Likewise.
51065         * modules/scandir (Depends-on): Likewise.
51066         * modules/stat (Depends-on): Likewise.
51067         * modules/tmpfile (Depends-on): Likewise.
51068         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
51069         since the containing module now depends on the largefile module.
51070         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
51071         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
51072         off_t is fixed by gnulib.
51073         * doc/posix-functions/freopen.texi: Likewise.
51074         * doc/posix-functions/fseeko.texi: Likewise.
51075         * doc/posix-functions/fstatat.texi: Likewise.
51076         * doc/posix-functions/ftello.texi: Likewise.
51077         * doc/posix-functions/glob.texi: Likewise.
51078         * doc/posix-functions/lseek.texi: Likewise.
51079         * doc/posix-functions/lstat.texi: Likewise.
51080         * doc/posix-functions/mkstemp.texi: Likewise.
51081         * doc/posix-functions/open.texi: Likewise.
51082         * doc/posix-functions/openat.texi: Likewise.
51083         * doc/posix-functions/pread.texi: Likewise.
51084         * doc/posix-functions/pwrite.texi: Likewise.
51085         * doc/posix-functions/scandir.texi: Likewise.
51086         * doc/posix-functions/stat.texi: Likewise.
51087         * doc/posix-functions/tmpfile.texi: Likewise.
51088         * doc/glibc-functions/mkostemp.texi: Likewise.
51089         * doc/glibc-functions/mkostemps.texi: Likewise.
51090         * doc/glibc-functions/mkstemps.texi: Likewise.
51092 2011-07-25  Bruno Haible  <bruno@clisp.org>
51094         fcntl: Move AC_LIBOBJ invocation to module description.
51095         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
51096         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
51098         fcntl: Remove call-in from fchdir.m4.
51099         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
51100         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
51102         dup3: Remove potential call-in from fchdir.m4.
51103         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
51104         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
51106         dup2: Move AC_LIBOBJ invocation to module description.
51107         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
51108         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
51109         Don't invoke AC_LIBOBJ.
51110         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
51112         dup2: Remove call-in from fchdir.m4.
51113         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
51114         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
51116         fclose: Move AC_LIBOBJ invocation to module description.
51117         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
51118         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
51119         to 1.
51120         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
51122         fclose: Remove call-in from close.m4.
51123         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
51124         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
51126         close: Move AC_LIBOBJ invocation to module description.
51127         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
51128         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
51129         1.
51130         * modules/close (configure.ac): Invoke AC_LIBOBJ.
51132         close: Remove call-in from fchdir.m4.
51133         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
51134         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
51136         open: Move AC_LIBOBJ invocation to module description.
51137         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
51138         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
51139         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
51141         open: Remove call-in from fchdir.m4.
51142         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
51143         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
51145         fchdir: Start to remove gl_REPLACE_* idiom.
51146         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
51147         (gl_FUNC_FCHDIR): Invoke it.
51149 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
51151         * lib/ftell.c (ftell): Comment out cast.
51153         close: use gl_REPLACE_FCLOSE only if defined
51154         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
51155         is defined.  The close module doesn't depend on the fclose module
51156         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
51157         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
51158         I reproduced the problem with "./gnulib-tool --test close sys_socket".
51160 2011-07-24  Jim Meyering  <meyering@redhat.com>
51162         test-select.h: avoid warning when using gcc's -Wmissing-declarations
51163         * tests/test-select.h (test_function): Declare as "static".
51165 2011-07-24  Bruno Haible  <bruno@clisp.org>
51167         doc: Mention the effects of AC_SYS_LARGEFILE.
51168         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
51169         on this function.
51170         * doc/posix-functions/aio_error.texi: Likewise.
51171         * doc/posix-functions/aio_fsync.texi: Likewise.
51172         * doc/posix-functions/aio_read.texi: Likewise.
51173         * doc/posix-functions/aio_return.texi: Likewise.
51174         * doc/posix-functions/aio_suspend.texi: Likewise.
51175         * doc/posix-functions/aio_write.texi: Likewise.
51176         * doc/posix-functions/fgetpos.texi: Likewise.
51177         * doc/posix-functions/fopen.texi: Likewise.
51178         * doc/posix-functions/freopen.texi: Likewise.
51179         * doc/posix-functions/fsetpos.texi: Likewise.
51180         * doc/posix-functions/fstatvfs.texi: Likewise.
51181         * doc/posix-functions/ftruncate.texi: Likewise.
51182         * doc/posix-functions/ftw.texi: Likewise.
51183         * doc/posix-functions/getrlimit.texi: Likewise.
51184         * doc/posix-functions/glob.texi: Likewise.
51185         * doc/posix-functions/lio_listio.texi: Likewise.
51186         * doc/posix-functions/lockf.texi: Likewise.
51187         * doc/posix-functions/mkstemp.texi: Likewise.
51188         * doc/posix-functions/mmap.texi: Likewise.
51189         * doc/posix-functions/nftw.texi: Likewise.
51190         * doc/posix-functions/openat.texi: Likewise.
51191         * doc/posix-functions/opendir.texi: Likewise.
51192         * doc/posix-functions/posix_fadvise.texi: Likewise.
51193         * doc/posix-functions/posix_fallocate.texi: Likewise.
51194         * doc/posix-functions/pread.texi: Likewise.
51195         * doc/posix-functions/pwrite.texi: Likewise.
51196         * doc/posix-functions/readdir.texi: Likewise.
51197         * doc/posix-functions/readdir_r.texi: Likewise.
51198         * doc/posix-functions/rewinddir.texi: Likewise.
51199         * doc/posix-functions/scandir.texi: Likewise.
51200         * doc/posix-functions/seekdir.texi: Likewise.
51201         * doc/posix-functions/setrlimit.texi: Likewise.
51202         * doc/posix-functions/statvfs.texi: Likewise.
51203         * doc/posix-functions/telldir.texi: Likewise.
51204         * doc/posix-functions/tmpfile.texi: Likewise.
51205         * doc/posix-functions/truncate.texi: Likewise.
51206         * doc/glibc-functions/fallocate.texi: Likewise.
51207         * doc/glibc-functions/fstatfs.texi: Likewise.
51208         * doc/glibc-functions/fts_children.texi: Likewise.
51209         * doc/glibc-functions/fts_read.texi: Likewise.
51210         * doc/glibc-functions/getdirentries.texi: Likewise.
51211         * doc/glibc-functions/mkostemp.texi: Likewise.
51212         * doc/glibc-functions/mkostemps.texi: Likewise.
51213         * doc/glibc-functions/mkstemps.texi: Likewise.
51214         * doc/glibc-functions/preadv.texi: Likewise.
51215         * doc/glibc-functions/pwritev.texi: Likewise.
51216         * doc/glibc-functions/sendfile.texi: Likewise.
51217         * doc/glibc-functions/statfs.texi: Likewise.
51219 2011-07-24  Bruno Haible  <bruno@clisp.org>
51221         doc: Fix typo.
51222         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
51224 2011-07-24  Bruno Haible  <bruno@clisp.org>
51226         doc: Mention fsusage.
51227         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
51229 2011-07-24  Bruno Haible  <bruno@clisp.org>
51231         doc: Mention new glibc headers and functions.
51232         * doc/glibc-headers/gshadow.texi: New file.
51233         * doc/glibc-functions/endsgent.texi: New file.
51234         * doc/glibc-functions/fgetsgent.texi: New file.
51235         * doc/glibc-functions/fgetsgent_r.texi: New file.
51236         * doc/glibc-functions/getsgent.texi: New file.
51237         * doc/glibc-functions/getsgent_r.texi: New file.
51238         * doc/glibc-functions/getsgnam.texi: New file.
51239         * doc/glibc-functions/getsgnam_r.texi: New file.
51240         * doc/glibc-functions/putsgent.texi: New file.
51241         * doc/glibc-functions/setsgent.texi: New file.
51242         * doc/glibc-functions/sgetsgent.texi: New file.
51243         * doc/glibc-functions/sgetsgent_r.texi: New file.
51244         * doc/glibc-functions/malloc_info.texi: New file.
51245         * doc/glibc-functions/preadv.texi: New file.
51246         * doc/glibc-functions/pwritev.texi: New file.
51247         * doc/glibc-functions/register_printf_modifier.texi: New file.
51248         * doc/glibc-functions/register_printf_specifier.texi: New file.
51249         * doc/glibc-functions/register_printf_type.texi: New file.
51250         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
51251         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
51252         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
51253         * doc/glibc-functions/pthread_getname_np.texi: New file.
51254         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
51255         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
51256         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
51257         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
51258         * doc/glibc-functions/pthread_setname_np.texi: New file.
51259         * doc/glibc-functions/pthread_sigqueue.texi: New file.
51260         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
51261         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
51262         * doc/glibc-functions/qsort_r.texi: New file.
51263         * doc/glibc-functions/quick_exit.texi: New file.
51264         * doc/glibc-functions/syncfs.texi: New file.
51265         * doc/gnulib.texi: Include them.
51266         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
51267         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
51268         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
51269         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
51270         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
51271         * doc/glibc-functions/execvpe.texi: Likewise.
51273 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51275         ftell: don't include <unistd.h>
51276         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
51277         guaranteed to define off_t, and the ftell module depends on the
51278         stdio module.
51280         ftell: do not assume wraparound signed arithmetic
51281         * lib/ftell.c: Include <limits.h>.
51282         (ftell): Don't assume wraparound signed arithmetic.
51284 2011-07-24  Bruno Haible  <bruno@clisp.org>
51286         close: No longer depend on module 'fclose'.
51287         * modules/close (Depends-on): Remove fclose.
51288         * NEWS: Mention the change.
51289         Suggested by Sam Steingold <sds@gnu.org>.
51291 2011-07-24  Bruno Haible  <bruno@clisp.org>
51293         fsusage: Enable large volume support on AIX >= 5.2.
51294         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
51295         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
51296         instead of STAT_STATVFS.
51297         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
51299         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
51300         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
51301         f_blocks field only on MacOS X.
51303         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
51304         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
51305         * modules/fsusage (Depends-on): Add largefile.
51307 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51309         * README: Modernize discussion of signed integers.
51310         Assuming overflow wraparound is no longer safe.
51311         Mention ones' complement and signed magnitude.
51313 2011-07-22  Bruno Haible  <bruno@clisp.org>
51315         select tests, pselect tests: Refactor.
51316         * tests/test-select.h: New file, extracted from tests/test-select.c.
51317         (select_fn): New type.
51318         (test, do_select, do_select_nowait, do_select_wait, test_tty,
51319         test_connect_first, test_accept_first, test_pair, test_socket_pair,
51320         test_pipe): Add my_select argument.
51321         (test_function): Renamed from main. Add my_select argument.
51322         * tests/test-select.c: Move most code to tests/test-select.h. Include
51323         test-select.h.
51324         * modules/select-tests (Files): Add tests/test-select.h.
51325         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
51326         (my_select, main): New functions.
51327         * modules/pselect-tests (Files): Add tests/test-select.h,
51328         tests/macros.h, tests/signature.h.
51329         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
51330         (configure.ac): Check for <sys/wait.h>.
51332 2011-07-22  Bruno Haible  <bruno@clisp.org>
51334         sys_select tests: Check the signature of FD_*.
51335         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
51336         signature tests from here...
51337         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
51338         here.
51339         * modules/sys_select-tests (Files): Add tests/signature.h.
51341 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51343         largefile: new module, replacing large-inode
51344         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
51345         * MODULES.html.sh: Add largefile, remove large-inode.
51346         * modules/largefile, m4/largefile.m4: New files.
51347         * modules/large-inode, m4/large-inode.m4: Remove.
51349         fsusage: port to MacOS X 10.7 with 4 TiB file systems
51350         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
51351         implementations that use only 32 bits to count blocks.
51352         On typical hosts with 1024-byte blocks, this fails with file
51353         systems as small as 4 TiB.  Problem reported by Herb Wartens
51354         <http://debbugs.gnu.org/9140> and this should also fix a similar
51355         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
51357         large-inode: New module
51358         * MODULES.html.sh: Add it.
51359         * modules/large-inode, m4/large-inode.m4: New files.
51361         extensions: Enable extensions on MacOS X 10.5 and later.
51362         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
51364 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
51366         file-has-acl: use acl_extended_file_nofollow if available
51367         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
51368         (acl_extended_file): New macro.
51369         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
51370         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
51372 2011-07-21  Bruno Haible  <bruno@clisp.org>
51374         Declare system functions in a way that works with C++.
51375         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
51376         declare fdopendir as extern "C".
51377         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
51378         declare frexpl as extern "C".
51379         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
51380         declare gai_strerror as extern "C".
51381         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
51382         programs, declare gai_strerror as extern "C".
51383         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
51384         declare getlogin_r as extern "C".
51385         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
51386         as extern "C".
51387         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
51388         declare ldexpl as extern "C".
51389         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
51390         as extern "C".
51391         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
51392         program, declare getmntinfo as extern "C".
51393         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
51394         stpncpy as extern "C".
51395         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
51396         program, declare __xpg_strerror_r as extern "C".
51397         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
51398         strndup as extern "C".
51399         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
51400         declare memset and bzero as extern "C".
51401         Reported by Sam Steingold <sds@gnu.org>.
51403 2011-07-12  Jim Meyering  <meyering@redhat.com>
51405         maint.mk: prohibit inclusion of "verify.h" without use
51406         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
51408 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51410         timer-time: A new module to check for timer_settime()
51411         * m4/timer_time.m4: Check for the posix function.
51412         * modules/timer-time: Add the new module.
51413         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
51414         Mention it.
51416 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
51417             Bruno Haible  <bruno@clisp.org>
51419         pthread_sigmask: assume POSIX threads if --avoid=threadlib
51420         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
51421         not defined, assume POSIX threads and look for pthread_sigmask in
51422         $LIBS, without changing $CPPFLAGS.
51424 2011-07-19  Bruno Haible  <bruno@clisp.org>
51426         strstr: Update cross-compilation guess.
51427         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
51428         CPUs, guess no, in view of glibc
51429         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
51430         Suggested by Eric Blake. Reported by Reuben Thomas.
51432 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51434         getopt-gnu: suppress core dumps from detection code
51435         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
51436         to suppress core dumps that may well occur on glibc systems.
51437         * modules/getopt-gnu: Depend on nocrash.
51439 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51441         pthread_sigmask: ensure usleep is declared
51442         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
51443         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
51445 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51447         doc: Document NonStop portability issues.
51448         * doc/posix-functions/sigaction.texi (sigaction):
51449         * doc/posix-headers/signal.texi (signal.h):
51450         Document NonStop.  See Joachim Schmitz in
51451         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
51453 2011-07-15  Bruno Haible  <bruno@clisp.org>
51455         ffsl, ffsll: Avoid unportable behaviour.
51456         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
51458 2011-07-15  Bruno Haible  <bruno@clisp.org>
51460         ffs: More tests.
51461         * tests/test-ffs.c (NBITS): New macro.
51462         (main): Add more tests.
51463         * tests/test-ffsl.c (NBITS): New macro.
51464         (main): Add more tests.
51465         * tests/test-ffsll.c (NBITS): New macro.
51466         (main): Add more tests.
51468 2011-07-15  Eric Blake  <eblake@redhat.com>
51470         ffsl, ffsll: new modules
51471         * modules/ffsl: New file.
51472         * modules/ffsll: Likewise.
51473         * m4/ffsl.m4: Likewise.
51474         * m4/ffsll.m4: Likewise.
51475         * lib/ffsl.c: Likewise.
51476         * lib/ffsl.h: Likewise.
51477         * lib/ffsll.c: Likewise.
51478         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
51479         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
51480         * modules/string (Makefile.am): Substitute witnesses.
51481         * lib/strings.in.h (ffsl, ffsll): Declare.
51482         * modules/ffsl-tests: New test file.
51483         * modules/ffsll-tests: Likewise.
51484         * tests/test-ffsl.c: Likewise.
51485         * tests/test-ffsll.c: Likewise.
51486         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51487         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
51488         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
51490         ffs: fix m4 prerequisite
51491         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
51493         ffs: avoid undefined behavior
51494         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
51495         * tests/test-ffs.c (naive, main): Avoid signed shifts.
51496         Reported by Bruno Haible.
51498 2011-07-12  Bruno Haible  <bruno@clisp.org>
51500         pthread_sigmask: Rely on module 'threadlib'.
51501         * modules/pthread_sigmask (Depends-on): Add threadlib.
51502         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
51503         is defined.
51505 2011-07-12  Bruno Haible  <bruno@clisp.org>
51507         regex: Depend on module 'strcase'.
51508         * modules/regex (Depends-on): Add strcase, for strcasecmp().
51510 2011-07-12  Jim Meyering  <meyering@redhat.com>
51512         warn-on-use: fix typo in file name
51513         * modules/snippet/warn-on-use (Files): Correct file name:
51514         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
51516 2011-07-12  Bruno Haible  <bruno@clisp.org>
51518         strings: Document module.
51519         * doc/posix-headers/strings.texi: Mention module 'strings'.
51521 2011-07-12  Bruno Haible  <bruno@clisp.org>
51523         Rename module '_Noreturn' to 'snippet/_Noreturn'.
51524         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
51525         (Files, Makefile.am): Update.
51526         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
51527         * modules/stdlib (Depends-on): Update.
51529 2011-07-12  Bruno Haible  <bruno@clisp.org>
51531         * NEWS: Mention the changes.
51533         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
51534         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
51535         (Files, Makefile.am): Update.
51536         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
51537         * modules/arpa_inet (Depends-on): Update.
51538         * modules/ctype (Depends-on): Update.
51539         * modules/dirent (Depends-on): Update.
51540         * modules/fcntl-h (Depends-on): Update.
51541         * modules/glob (Depends-on): Update.
51542         * modules/iconv-h (Depends-on): Update.
51543         * modules/inttypes-incomplete (Depends-on): Update.
51544         * modules/langinfo (Depends-on): Update.
51545         * modules/locale (Depends-on): Update.
51546         * modules/math (Depends-on): Update.
51547         * modules/netdb (Depends-on): Update.
51548         * modules/poll-h (Depends-on): Update.
51549         * modules/pty (Depends-on): Update.
51550         * modules/search (Depends-on): Update.
51551         * modules/signal (Depends-on): Update.
51552         * modules/spawn (Depends-on): Update.
51553         * modules/stdio (Depends-on): Update.
51554         * modules/stdlib (Depends-on): Update.
51555         * modules/string (Depends-on): Update.
51556         * modules/strings (Depends-on): Update.
51557         * modules/sys_file (Depends-on): Update.
51558         * modules/sys_ioctl (Depends-on): Update.
51559         * modules/sys_select (Depends-on): Update.
51560         * modules/sys_socket (Depends-on): Update.
51561         * modules/sys_stat (Depends-on): Update.
51562         * modules/sys_time (Depends-on): Update.
51563         * modules/sys_times (Depends-on): Update.
51564         * modules/sys_utsname (Depends-on): Update.
51565         * modules/sys_wait (Depends-on): Update.
51566         * modules/termios (Depends-on): Update.
51567         * modules/time (Depends-on): Update.
51568         * modules/unistd (Depends-on): Update.
51569         * modules/wchar (Depends-on): Update.
51570         * modules/wctype-h (Depends-on): Update.
51571         * MODULES.html.sh (Support for building libraries and executables):
51572         Update.
51574         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
51575         * modules/snippet/unused-parameter: Renamed from
51576         modules/unused-parameter.
51577         (Files, Makefile.am): Update.
51578         * build-aux/snippet/unused-parameter.h: Renamed from
51579         build-aux/unused-parameter.h.
51580         * modules/selinux-h (Depends-on): Update.
51581         * modules/unistr/base (Depends-on): Update.
51582         * MODULES.html.sh (Core language properties): Update.
51584         Rename module 'link-warning' to 'snippet/link-warning'.
51585         * modules/snippet/link-warning: Renamed from modules/link-warning.
51586         (Files, Makefile.am): Update.
51587         * build-aux/snippet/link-warning.h: Renamed from
51588         build-aux/link-warning.h.
51589         * MODULES.html.sh (Support for building libraries and executables):
51590         Update.
51592         Rename module 'c++defs' to 'snippet/c++defs'.
51593         * modules/snippet/c++defs: Renamed from modules/c++defs.
51594         (Files, Makefile.am): Update.
51595         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
51596         * modules/arpa_inet (Depends-on): Update.
51597         * modules/ctype (Depends-on): Update.
51598         * modules/dirent (Depends-on): Update.
51599         * modules/fcntl-h (Depends-on): Update.
51600         * modules/glob (Depends-on): Update.
51601         * modules/iconv-h (Depends-on): Update.
51602         * modules/langinfo (Depends-on): Update.
51603         * modules/locale (Depends-on): Update.
51604         * modules/math (Depends-on): Update.
51605         * modules/netdb (Depends-on): Update.
51606         * modules/poll-h (Depends-on): Update.
51607         * modules/pty (Depends-on): Update.
51608         * modules/search (Depends-on): Update.
51609         * modules/signal (Depends-on): Update.
51610         * modules/spawn (Depends-on): Update.
51611         * modules/stdio (Depends-on): Update.
51612         * modules/stdlib (Depends-on): Update.
51613         * modules/string (Depends-on): Update.
51614         * modules/strings (Depends-on): Update.
51615         * modules/sys_ioctl (Depends-on): Update.
51616         * modules/sys_select (Depends-on): Update.
51617         * modules/sys_socket (Depends-on): Update.
51618         * modules/sys_stat (Depends-on): Update.
51619         * modules/sys_time (Depends-on): Update.
51620         * modules/sys_wait (Depends-on): Update.
51621         * modules/termios (Depends-on): Update.
51622         * modules/time (Depends-on): Update.
51623         * modules/unistd (Depends-on): Update.
51624         * modules/wchar (Depends-on): Update.
51625         * modules/wctype-h (Depends-on): Update.
51627         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
51628         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
51629         (Files, Makefile.am): Update.
51630         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
51631         * modules/argv-iter (Depends-on): Update.
51632         * modules/arpa_inet (Depends-on): Update.
51633         * modules/dirent (Depends-on): Update.
51634         * modules/fcntl-h (Depends-on): Update.
51635         * modules/fnmatch (Depends-on): Update.
51636         * modules/getopt-posix (Depends-on): Update.
51637         * modules/glob (Depends-on): Update.
51638         * modules/iconv-h (Depends-on): Update.
51639         * modules/inttypes-incomplete (Depends-on): Update.
51640         * modules/locale (Depends-on): Update.
51641         * modules/math (Depends-on): Update.
51642         * modules/netdb (Depends-on): Update.
51643         * modules/search (Depends-on): Update.
51644         * modules/signal (Depends-on): Update.
51645         * modules/spawn (Depends-on): Update.
51646         * modules/stdio (Depends-on): Update.
51647         * modules/stdlib (Depends-on): Update.
51648         * modules/string (Depends-on): Update.
51649         * modules/strings (Depends-on): Update.
51650         * modules/sys_socket (Depends-on): Update.
51651         * modules/sys_stat (Depends-on): Update.
51652         * modules/sys_time (Depends-on): Update.
51653         * modules/sys_times (Depends-on): Update.
51654         * modules/sys_utsname (Depends-on): Update.
51655         * modules/time (Depends-on): Update.
51656         * modules/unistd (Depends-on): Update.
51657         * modules/wchar (Depends-on): Update.
51658         * MODULES.html.sh (Support for building libraries and executables):
51659         Update.
51661 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51663         Improvements on _Noreturn and related modules.
51665         modules/_Exit-tests: test _Noreturn too
51666         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
51667         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
51668         (main): Use them.
51670         stdnoreturn, stdnoreturn-tests: remove modules
51671         They're not needed here and a bit premature for use elsewhere.  See
51672         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
51673         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
51674         * tests/test-stdnoreturn.c: Remove files.
51675         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
51676         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
51677         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
51678         and using noreturn.
51679         * modules/openat, modules/sigpipe-die, modules/xalloc:
51680         * modules/xmemdup0, modules/xstrtol:
51681         Remove dependency on stdnoreturn.
51683         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
51684         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
51685         Reparenthesize to avoid GCC warning.
51686         Support Microsoft's syntax.
51687         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
51689         _Noreturn-tests: remove module
51690         * modules/_Noreturn-tests: Remove.
51691         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
51692         * tests/test-_Noreturn.c: Remove.
51693         * tests/test-stdnoreturn.c: Merge from the old
51694         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
51696 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51698         _Noreturn, stdnoreturn, and related modules.
51700         * top/maint.mk: Adjust to new noreturn support.
51701         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
51702         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
51704         xalloc: use stdnoreturn.h
51705         * lib/xalloc.h: Include <stdnoreturn.h>.
51706         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51707         * modules/xalloc (Depends-on): Add stdnoreturn.
51709         xstrtol: use stdnoreturn.h
51710         * lib/xstrtol.h: Include <stdnoreturn.h>.
51711         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51712         * modules/xstrtol (Depends-on): Add stdnoreturn.
51714         xmemdup0: use stdnoreturn.h
51715         * lib/xmemdup0.h: Include <stdnoreturn.h>.
51716         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51717         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
51719         sigpipe-die: use stdnoreturn.h
51720         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
51721         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51722         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
51724         openat: use stdnoreturn.h
51725         * lib/openat.h: Include <stdnoreturn.h>.
51726         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51727         * modules/openat (Depends-on): Add stdnoreturn.
51729         * lib/openat-die.c (openat_save_fail): Modernize comment.
51731         * lib/xalloc-die.c (xalloc_die): Modernize comment.
51733         * lib/glthread/thread.h: Modernize comment.
51735         obstack: use _Noreturn
51736         * lib/obstack.c (__attribute__): Remove macro.
51737         (print_and_abort): Use _Noreturn.
51739         c-stack: use _Noreturn
51740         * lib/c-stack.c (die, overflow_handler, segv_handler):
51741         Use _Noreturn rather than __attribute__((noreturn)).
51743         argmatch-tests, exclude_tests: use _Noreturn
51744         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
51745         Remove.
51746         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
51748         stdlib: use _Noreturn
51749         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
51750         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
51751         * modules/stdlib (Depends-on): Add _Noreturn.
51752         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
51754         stdnoreturn-tests: new module
51755         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
51757         stdnoreturn: new module
51758         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
51759         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
51761         _Noreturn-tests: new module
51762         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
51764         _Noreturn: new module
51765         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
51766         New section, mentioning it.
51767         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
51769         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
51771 2011-07-11  Eric Blake  <eblake@redhat.com>
51773         ffs: new module
51774         * modules/ffs: New file.
51775         * m4/ffs.m4: Likewise.
51776         * lib/ffs.c: Likewise.
51777         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
51778         * modules/strings (Makefile.am): Substitute witness.
51779         (Depends-on): Add c++defs.
51780         * lib/strings.in.h (ffs): Declare.
51781         * modules/ffs-tests: New test file.
51782         * tests/test-ffs.c: Test new module.
51783         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51784         * doc/posix-functions/ffs.texi (ffs): Likewise.
51786         regex: avoid compiler warning
51787         * lib/regex.c (includes): Include <strings.h>, for use of
51788         strcasecmp in regcomp.c.
51789         Reported by Joachim Schmitz.
51791 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51793         stdint: respect system's intmax_t if INTMAX_MAX
51794         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
51795         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
51796         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
51797         long but int64_t is long long, and where we will clash with the
51798         system intmax_t if we override it.  See
51799         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
51800         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
51801         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
51802         similarly for UINTMAX_C.
51804 2011-07-08  Bruno Haible  <bruno@clisp.org>
51806         pthread_sigmask tests: Avoid a compiler warning.
51807         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
51808         non-zero.
51810         sigprocmask tests: A better way to avoid a compiler warning.
51811         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
51812         (main): Complain if system() returns non-zero.
51813         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
51815 2011-07-08  Bruno Haible  <bruno@clisp.org>
51817         pthread_sigmask: Work around IRIX bug.
51818         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
51819         bug.
51820         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
51821         there may be unblocked pending signals.
51822         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
51824 2011-07-08  Bruno Haible  <bruno@clisp.org>
51826         pthread_sigmask: Work around Cygwin bug.
51827         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
51828         bug.
51829         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
51830         the system's pthread_sigmask function.
51831         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
51833 2011-07-08  Bruno Haible  <bruno@clisp.org>
51835         pthread_sigmask: Work around bug in single-threaded implementation.
51836         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
51837         FreeBSD, HP-UX, Solaris bug.
51838         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
51839         * lib/pthread_sigmask.c: Include <stddef.h>.
51840         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
51841         the system's pthread_sigmask function.
51842         * modules/pthread_sigmask (configure.ac): Invoke
51843         gl_PREREQ_PTHREAD_SIGMASK.
51844         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
51845         HP-UX, Solaris.
51847 2011-07-08  Eric Blake  <eblake@redhat.com>
51849         test-sigprocmask: avoid compiler warning
51850         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
51851         * tests/test-sigprocmask.c (main): Use it to silence warning.
51852         Reported by Jim Meyering.
51854         test-snprintf: avoid compiler warning
51855         * tests/test-snprintf.c (main): Avoid shadowed declaration.
51856         * tests/test-vsnprintf.c (main): Likewise.
51857         Reported by Jim Meyering.
51859 2011-07-08  Bruno Haible  <bruno@clisp.org>
51861         Tests for module 'pthread_sigmask'.
51862         * modules/pthread_sigmask-tests: New file.
51863         * tests/test-pthread_sigmask1.c: New file, based on
51864         tests/test-sigprocmask.c.
51865         * tests/test-pthread_sigmask2.c: New file.
51867 2011-07-08  Jim Meyering  <meyering@redhat.com>
51869         test-getopt.h: avoid warning about an unused variable
51870         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
51872 2011-07-07  Jim Meyering  <meyering@redhat.com>
51874         maint: reduce list of files exempt from sc_prohibit_leading_TABs
51875         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
51876         now that it no longer contains leading TABs.
51877         Remove unused "url=FIXME" statement.
51879 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51881         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
51882         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51883         When gl_THREADLIB is not in use, assume that the POSIX sematics
51884         are desired.  This is better for Emacs, which uses POSIX semantics
51885         on GNUish and/or POSIXish platforms, and does not use threads at
51886         all otherwise.
51888         pthread_sigmask: fix typo when testing for libraries
51889         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51890         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
51892 2011-07-08  Eric Blake  <eblake@redhat.com>
51894         fts: introduce FTS_NOATIME
51895         * lib/fts_.h (FTS_NOATIME): New bit flag.
51896         (FTS_OPTIONMASK): Adjust.
51897         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
51898         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
51900 2011-07-08  Bruno Haible  <bruno@clisp.org>
51902         Tests for module 'thread'.
51903         * modules/thread-tests: New file.
51904         * tests/test-thread_self.c: New file.
51905         * tests/test-thread_create.cc: New file.
51907 2011-07-08  Bruno Haible  <bruno@clisp.org>
51909         thread: Avoid gcc warnings when using gl_thread_self().
51910         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
51911         'void *'.
51912         (gl_thread_self_pointer): Update.
51914 2011-07-07  Bruno Haible  <bruno@clisp.org>
51916         signal-c++-tests: Check declaration of pthread_sigmask.
51917         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
51918         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
51919         $(LIB_PTHREAD_SIGMASK).
51921 2011-07-07  Bruno Haible  <bruno@clisp.org>
51923         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
51924         * lib/signal.in.h (pthread_sigmask): Override if
51925         REPLACE_PTHREAD_SIGMASK is 1.
51926         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51927         REPLACE_PTHREAD_SIGMASK.
51928         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
51929         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
51930         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
51931         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51932         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
51934 2011-07-07  Bruno Haible  <bruno@clisp.org>
51936         pthread_sigmask: Ensure declaration in <signal.h>.
51937         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
51938         include <pthread.h>.
51939         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
51940         problem.
51942 2011-07-07  Bruno Haible  <bruno@clisp.org>
51944         pthread_sigmask: Document the module.
51945         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
51947 2011-07-07  Bruno Haible  <bruno@clisp.org>
51949         pthread_sigmask: Follow gnulib conventions.
51950         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
51951         gl_PTHREAD_SIGMASK.
51952         * modules/pthread_sigmask (configure.ac): Update.
51954 2011-07-07  Bruno Haible  <bruno@clisp.org>
51956         pthread_sigmask: Make declaration C++ safe.
51957         * lib/signal.in.h: In two special conditions, just do an #include_next.
51958         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51959         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
51960         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51961         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51962         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
51963         not REPLACE_PTHREAD_MASK.
51964         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
51965         not REPLACE_PTHREAD_MASK.
51966         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51968 2011-07-07  Bruno Haible  <bruno@clisp.org>
51970         pthread_sigmask: Fix return value.
51971         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
51972         * lib/pthread_sigmask.c: New file.
51973         * modules/pthread_sigmask (Files): Add it.
51974         (configure.ac): Invoke AC_LIBOBJ.
51976 2011-07-07  Eric Blake  <eblake@redhat.com>
51978         getopt: more portable argv creation
51979         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
51980         const, use char arrays rather than strings.
51981         Suggested by Paul Eggert.
51983 2011-07-07  Bruno Haible  <bruno@clisp.org>
51985         Tests for module 'sigprocmask'.
51986         * modules/sigprocmask-tests: New file.
51987         * tests/test-sigprocmask.c: New file.
51989 2011-07-07  Bruno Haible  <bruno@clisp.org>
51991         float tests: Tweak.
51992         * tests/test-float.c (main): Tweak skip message.
51994 2011-07-07  Eric Blake  <eblake@redhat.com>
51996         getopt: avoid compiler warning during configure
51997         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
51998         assigning string literals to non-const pointer.
52000         getopt-gnu: avoid crash in glibc getopt
52001         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
52002         * tests/test-getopt.h (test_getopt): Enhance test.
52003         * tests/test-getopt_long.h (test_getopt_long): Likewise.
52004         * doc/posix-functions/getopt.texi (getopt): Document it.
52005         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52006         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52007         Likewise.
52009 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
52011         getopt: handle W; without long options in getopt [BZ #12922]
52012         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
52013         but no long options are defined, just return 'W'.
52015 2011-07-07  Bruno Haible  <bruno@clisp.org>
52017         Avoid literal tabs.
52018         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
52019         variable containing a tab instead of a literal tab.
52020         Reported by Jim Meyering.
52022 2011-07-07  Bruno Haible  <bruno@clisp.org>
52024         Comments.
52025         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
52027 2011-07-06  Bruno Haible  <bruno@clisp.org>
52029         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
52030         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
52031         <winsock2.h>.
52032         (rpl_fd_isset, FD_ISSET): New definitions, copied from
52033         lib/sys_socket.in.h.
52034         (close, gethostname): Hide declarations from <winsock2.h>.
52035         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
52036         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
52037         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
52038         (select): Don't override if gnulib's <sys/select.h> was already
52039         included.
52040         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
52041         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
52042         setsockopt, shutdown, select): Tweak indentation.
52044 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52046         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
52047         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
52048         in an application that does not use the sys_select module.
52050 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
52052         poll: do not return 0 on timeout=-1
52053         * lib/poll.c: Loop with yield if no events occurred.
52055 2011-07-06  Eric Blake  <eblake@redhat.com>
52057         pthread_sigmask: always replace when not using pthread
52058         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
52059         replacement when using some threading other than pthread.  Fix
52060         logic bug.
52062 2011-07-06  Bruno Haible  <bruno@clisp.org>
52064         Comments.
52065         * m4/printf.m4: Update comments about mingw.
52067 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52069         sys_select: define sigset_t more portably
52070         * lib/sys_select.in.h: Always include <sys/types.h>, since
52071         we now need sigset_t and mingw defines it there.
52072         Include <signal.h> before split inclusion guard, to avoid
52073         mishaps on Solaris, whose <signal.h> eventually includes us.
52074         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
52075         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
52076         which come from ...
52077         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
52078         gl_CHECK_TYPE_SIGSET_T.
52079         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
52080         does the real work.
52081         * modules/sys_select (Depends-on): Add 'signal'.
52083         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
52084         Suggested by Bruno Haible.
52086         pselect: Use pthread_sigmask, not sigprocmask.
52087         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
52088         multithreaded apps better than sigprocmask does.
52089         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
52090         sigprocmask directly.
52092 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52094         * lib/pselect.c (pselect): Use plain name, without "rpl_".
52095         Don't #undef,  since we don't need any underlying pselect.
52096         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
52097         (Depends-on): Add select.
52098         (Link): Add $(LIBSOCKET).
52099         These changes suggested by Bruno Haible.
52101         pselect: document better
52102         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
52103         * doc/posix-functions/pselect.texi (pselect): Document new module.
52105         pthread_sigmask: new module
52106         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
52107         * doc/posix-functions/pthread_sigmask.texi: Document new module.
52108         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
52109         This is done only as a macro; I don't know how well that'll
52110         work for C++.  Move <sys/types.h> include before the include_next,
52111         to avoid mishap on Solaris.
52112         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
52113         * modules/signal (Makefile.am): Substitute the check's results.
52114         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
52116         test-pselect: new module
52117         * modules/pselect-tests, tests/test-pselect.c: New files.
52118         * tests/test-select.c, tests/test-sys_select-c++.cc:
52119         If TEST_PSELECT is defined, test pselect instead of testing select.
52121         * tests/test-sys_select.c (sigset_t): Test for it, too.
52122         Suggested by Bruno Haible.
52124 2011-07-05  Eric Blake  <eblake@redhat.com>
52126         snprintf: guarantee %1$d, for libintl
52127         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
52128         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52129         * doc/posix-functions/snprintf.texi (snprintf): Update.
52130         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52131         * tests/test-snprintf.c (main): Enhance test.
52132         * tests/test-vsnprintf.c (main): Likewise.
52134 2011-07-05  Jim Meyering  <meyering@redhat.com>
52136         maint: exempt stdio-read.c and stdio-write.c from the cppi check
52137         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
52138         per Bruno's request, to accommodate this idiom (no space after "#")
52139         even when the function is inside an #if block:
52140         char *
52141         gets (char *s)
52142         #undef gets
52143         {
52144           ...
52145         }
52147 2011-07-04  Jim Meyering  <meyering@redhat.com>
52149         maint: indent with spaces, not TABs, and add a rule to check this
52150         * tests/test-userspec.c: Indent with spaces, not TABs.
52151         * tests/test-argp.c: Likewise.
52152         * tests/test-c-stack2.sh: Likewise.
52153         * tests/test-parse-duration.sh: Likewise
52154         * m4/strtod.m4: Likewise.
52155         * m4/alloca.m4: Likewise.
52156         * m4/pselect.m4: Likewise.
52157         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
52159 2011-07-03  Jim Meyering  <meyering@redhat.com>
52161         maint.mk: correct omissions in prohibit_argmatch_without_use check
52162         This rule would mistakenly report that argmatch.h is included without
52163         use even when both the argmatch and invalid_arg macro were used.
52164         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
52165         of argmatch and invalid_arg.
52167 2011-07-03  Bruno Haible  <bruno@clisp.org>
52169         Comments about EINTR.
52170         * lib/safe-read.h: Explain the purpose of this module.
52171         * lib/safe-write.h: Likewise.
52172         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
52173         module.
52174         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
52175         module.
52176         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52178 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52180         xnanosleep: Rewrite to use new dtotimespec module.
52181         It has the conversion code that used to be in xnanosleep.
52182         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
52183         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
52184         (TIME_T_MAX): Remove.
52185         (xnanosleep): Rewrite in terms of dtotimespec.
52186         * modules/xnanosleep (Depends-on): Add dtotimespec.
52187         Remove intprops, stdbool.
52189         timespec-add, timespec-sub: new modules
52190         * lib/timespec.h (timespec_add, timespec_sub): New decls.
52191         * lib/timespec-add.c, lib/timespec-sub.c:
52192         * modules/timespec-add, modules/timespec-sub: New files.
52194         dtotimespec: new module
52195         * lib/timespec.h (dtotimespec): New decl.
52196         * lib/dtotimespec.c, modules/dtotimespec: New files.
52198         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
52200         pselect: new module
52201         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
52202         (pselect): New decls.
52203         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
52204         since the standard pselect decl uses 'restrict'.
52205         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
52206         HAVE_PSELECT, REPLACE_PSELECT.
52207         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
52208         HAVE_PSELECT, REPLACE_PSELECT.
52209         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
52211         sys_select: don't depend on sys_socket
52212         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
52213         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
52214         This fix works on GNU and GNU-like platforms, but has not been tested
52215         on native Windows.
52216         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
52217         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
52218         gl_HEADER_SYS_SOCKET.
52219         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
52220         gl_PREREQ_SYS_H_WINSOCK2.
52222 2011-06-29  Eric Blake  <eblake@redhat.com>
52224         pipe2: fix C89 compile problem
52225         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
52226         Reported by Bruno Haible.
52228         pipe, pipe2: don't corrupt fd on error
52229         * lib/pipe.c (pipe): Leave fd unchanged on error.
52230         * lib/pipe2.c (pipe2): Likewise.
52231         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
52232         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
52234 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
52236         mmap-anon: do not use regular expressions inadvertently
52237         * m4/mmap-anon.m4: Remove trailing period from strings sought
52238         in the output.
52240 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
52242         nanosleep: fix integer overflow problem
52243         * lib/nanosleep.c (my_usleep): Don't assume signed integer
52244         arithmetic wraps around on overflow.
52246         nanosleep: simplify carrying
52247         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
52248         first call to the underyling nanosleep, not for the last one.
52249         This doesn't fix any bugs, but it simplifies the computation of
52250         the remaining delay.  Found while auditing integer overflow issues.
52252         dup2: remove test for existence of fcntl
52253         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
52254         "#if HAVE_FCNTL", in the configure-time test program.
52255         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
52256         and therefore speeds up "configure" a bit.  Found while
52257         adding the dup2 module to Emacs.
52259 2011-06-24  Eric Blake  <eblake@redhat.com>
52261         maint.mk: enhance useless header checks
52262         * top/maint.mk (_sc_header_without_use): Check both include
52263         styles.
52264         (sc_prohibit_assert_without_use)
52265         (sc_prohibit_close_stream_without_use)
52266         (sc_prohibit_getopt_without_use)
52267         (sc_prohibit_quotearg_without_use)
52268         (sc_prohibit_quote_without_use)
52269         (sc_prohibit_long_options_without_use)
52270         (sc_prohibit_inttostr_without_use)
52271         (sc_prohibit_ignore_value_without_use)
52272         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
52273         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
52274         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
52275         (sc_prohibit_hash_pjw_without_use)
52276         (sc_prohibit_safe_read_without_use)
52277         (sc_prohibit_argmatch_without_use)
52278         (sc_prohibit_canonicalize_without_use)
52279         (sc_prohibit_root_dev_ino_without_use)
52280         (sc_prohibit_openat_without_use)
52281         (sc_prohibit_c_ctype_without_use)
52282         (sc_prohibit_signal_without_use)
52283         (sc_prohibit_stdio--_without_use)
52284         (sc_prohibit_stdio-safer_without_use)
52285         (sc_prohibit_strings_without_use)
52286         (sc_prohibit_intprops_without_use)
52287         (sc_prohibit_stddef_without_use)
52288         (sc_prohibit_xfreopen_without_use): Update clients.
52290 2011-06-24  Jim Meyering  <meyering@redhat.com>
52292         syntax-check: keep one maint.mk rule in sync with its header
52293         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
52294         of the bug Eric has just fixed, with today's commit 25e4c2ec.
52295         I prefer to avoid temporary files here, so use <(...), but that
52296         is not supported by /bin/sh, so...
52297         (SHELL): Define to /bin/bash.
52299 2011-06-24  Eric Blake  <eblake@redhat.com>
52301         maint.mk: update sc_prohibit_intprops_without_use
52302         * top/maint.mk (_intprops_names): Match recent changes.
52304 2011-06-24  Bruno Haible  <bruno@clisp.org>
52306         strerror-override: No-op tweak.
52307         * lib/strerror-override.h (strerror_override): Reorder conditions,
52308         for consistency with lib/strerror-override.c.
52310 2011-06-23  Eric Blake  <eblake@redhat.com>
52312         maint.mk: test further PATH_MAX issues
52313         * top/maint.mk (sc_prohibit_path_max_array): Rename...
52314         (sc_prohibit_path_max_allocation): ...and also test alloca.
52315         Suggested by Jim Meyering.
52317 2011-06-22  Eric Blake  <eblake@redhat.com>
52319         maint.mk: add syntax-check to avoid char[PATH_MAX]
52320         * top/maint.mk (sc_prohibit_path_max_array): New rule.
52322         stat: be robust to PATH_MAX definition
52323         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
52324         * modules/stat (Depends-on): Add verify.
52326         link: work around IRIX bug
52327         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
52328         * lib/link.c (rpl_link): Work around it.
52329         * tests/test-link.h (test_link): Enhance test.
52330         * doc/posix-functions/link.texi (link): Document the bug.
52332         getopt: silence clang warning
52333         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
52334         dereference.
52335         Reported by Gustavo Martin Domato.
52337 2011-06-22  Jim Meyering  <meyering@redhat.com>
52339         bootstrap: do not insert a blank line into each .gitignore file
52340         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
52342 2011-06-21  Eric Blake  <eblake@redhat.com>
52344         perror: test for output mismatch
52345         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
52346         perror on IRIX.
52348         strerror_r: fix OpenBSD behavior on out-of-range
52349         * lib/strerror_r.c (strerror_r): Always use maximal string.
52350         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
52352         strerror_r: fix OpenBSD behavior on 0
52353         * lib/strerror-override.c (strerror_override): Also override 0
52354         when needed.
52355         * lib/strerror-override.h (strerror_override): Likewise.
52356         * lib/strerror.c (strerror): Simplify, now that 0 override is done
52357         earlier.
52358         * lib/strerror_r.c (strerror_r): Likewise.
52359         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
52360         behavior...
52361         (gl_FUNC_STRERROR_0): ...into new macro.
52362         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
52363         is overridden.
52364         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
52365         * modules/strerror-override (Files): Add strerror.m4.
52366         (configure.ac): Also provide override for 0 when needed.
52367         * doc/posix-functions/strerror.texi (strerror): Document this.
52368         * doc/posix-functions/perror.texi (perror): Likewise.
52370         perror: adjust array size
52371         * modules/perror (Depends-on): Add strerror-override.
52372         * lib/perror.c (perror): Use it to avoid magic number.
52374         strerror-override: reduce size
52375         * lib/strerror-override.c (strerror_override): Use fewer lines.
52377 2011-06-20  Bruno Haible  <bruno@clisp.org>
52379         pathmax: Ensure correct value for PATH_MAX on HP-UX.
52380         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
52382 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52384         alloca: port to compilers that can optimize like GCC 4.6.0
52385         * lib/alloca.c (find_stack_direction): New signature, taken from
52386         Autoconf git.  This works with GCC 4.6.0.  This code should never
52387         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
52388         be used with other compilers that optimize as well as GCC 4.6.0 does.
52389         (alloca): Adjust to new signature.
52390         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
52391         New macro, which patches Autoconf in a similar way.
52393         c-stack: stop worrying about stack direction
52394         * lib/c-stack.c (find_stack_direction): Remove.
52395         (segv_handler): Don't worry about stack direction growth, as it's
52396         too much of a pain to configure this correctly, given how compilers
52397         are optimizing-away our stack-growth detection code.  Instead, assume
52398         that any access to just before or just after the stack is OK.
52399         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
52400         Don't require AC_FUNC_ALLOCA; no longer needed.
52402 2011-06-20  Eric Blake  <eblake@redhat.com>
52404         test-stat: don't allocate PATH_MAX bytes
52405         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
52406         PATH_MAX-sized buffer.
52407         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
52408         * modules/stat-tests (Depends-on): Likewise.
52409         * tests/test-fstatat.c (includes): Drop pathmax.h.
52410         * tests/test-stat.c (includes): Likewise.
52411         Reported by Bruno Haible.
52413 2011-06-20  Bruno Haible  <bruno@clisp.org>
52415         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
52416         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
52417         * lib/float.c: New file.
52418         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
52419         REPLACE_FLOAT_LDBL.
52420         * modules/float (Files): Add lib/float.c.
52421         (configure.ac): Invoke AC_LIBOBJ.
52422         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
52424 2011-06-20  Bruno Haible  <bruno@clisp.org>
52426         Tests for module 'float'.
52427         * modules/float-tests: New file.
52428         * tests/test-float.c: New file.
52430 2011-06-19  Bruno Haible  <bruno@clisp.org>
52432         isinf: Coding style.
52433         * lib/isinf.c: Use GNU coding style.
52435 2011-06-19  Bruno Haible  <bruno@clisp.org>
52437         linkat test: Avoid test failure on AIX 7.1.
52438         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
52439         * tests/test-link.h (test_link): Likewise.
52441 2011-06-19  Bruno Haible  <bruno@clisp.org>
52443         pread test: Avoid test failure on OpenBSD 4.9.
52444         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
52446 2011-06-19  Bruno Haible  <bruno@clisp.org>
52448         sprintf-posix: Fix test failure on AIX 7.1.
52449         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
52450         * doc/posix-functions/dprintf.texi: Mention limited precision problem
52451         on AIX.
52452         * doc/posix-functions/fprintf.texi: Likewise.
52453         * doc/posix-functions/printf.texi: Likewise.
52454         * doc/posix-functions/snprintf.texi: Likewise.
52455         * doc/posix-functions/sprintf.texi: Likewise.
52456         * doc/posix-functions/vdprintf.texi: Likewise.
52457         * doc/posix-functions/vfprintf.texi: Likewise.
52458         * doc/posix-functions/vprintf.texi: Likewise.
52459         * doc/posix-functions/vsnprintf.texi: Likewise.
52460         * doc/posix-functions/vsprintf.texi: Likewise.
52462 2011-06-19  Bruno Haible  <bruno@clisp.org>
52464         roundl-ieee: Fix test failure on AIX 7.1.
52465         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
52466         * doc/posix-functions/roundl.texi: Mention problem with negative
52467         arguments.
52469 2011-06-19  Bruno Haible  <bruno@clisp.org>
52471         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52472         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
52473         * doc/posix-functions/round.texi: Mention problem with negative
52474         arguments.
52475         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
52477 2011-06-19  Bruno Haible  <bruno@clisp.org>
52479         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52480         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
52481         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
52482         * doc/posix-functions/roundf.texi: Mention problem with negative
52483         arguments.
52484         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
52486 2011-06-19  Bruno Haible  <bruno@clisp.org>
52488         ceilf-ieee: Work around bug on MacOS X 10.5.
52489         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
52491         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
52492         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
52493         IEEE compliant, avoid compiler optimizations.
52494         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
52495         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
52496         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
52497         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52498         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52499         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
52500         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52501         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
52502         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
52503         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
52505 2011-06-19  Bruno Haible  <bruno@clisp.org>
52507         ceilf-ieee: Work around bug on AIX 7.1.
52508         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
52509         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
52511 2011-06-19  Bruno Haible  <bruno@clisp.org>
52513         ceil-ieee: Work around bug on AIX 7.1.
52514         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
52515         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
52517 2011-06-18  Bruno Haible  <bruno@clisp.org>
52519         fsync test: Avoid test failure on MacOS X and AIX.
52520         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
52521         EINVAL.
52523 2011-06-18  Bruno Haible  <bruno@clisp.org>
52525         openat, fdopendir tests: Fix link errors.
52526         * modules/openat-tests (Depends-on): Add progname.
52527         * modules/fdopendir-tests (Depends-on): Likewise.
52528         * tests/test-fchownat.c: Include progname.h.
52529         (main): Call set_program_name.
52530         * tests/test-fstatat.c: Include progname.h.
52531         (main): Call set_program_name.
52532         * tests/test-mkdirat.c: Include progname.h.
52533         (main): Call set_program_name.
52534         * tests/test-openat.c: Include progname.h.
52535         (main): Call set_program_name.
52536         * tests/test-unlinkat.c: Include progname.h.
52537         (main): Call set_program_name.
52538         * tests/test-fdopendir.c: Include progname.h.
52539         (main): Call set_program_name.
52541 2011-06-18  Bruno Haible  <bruno@clisp.org>
52543         Doc update.
52544         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
52545         HP-UX.
52546         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
52548 2011-06-18  Bruno Haible  <bruno@clisp.org>
52550         getcwd tests: Avoid compilation error on HP-UX 11.31.
52551         * modules/getcwd-tests (Depends-on): Add pathmax.
52552         * tests/test-getcwd.c: Include pathmax.h.
52554 2011-06-18  Bruno Haible  <bruno@clisp.org>
52556         isfinite, isinf: Fix link error on AIX 6 and 7.
52557         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
52558         needed, also test the macro with a 'float' argument.
52559         * m4/isinf.m4 (gl_ISINF): Likewise.
52561 2011-06-18  Bruno Haible  <bruno@clisp.org>
52563         getloadavg: Don't clobber LIBS. Regression from previous commit.
52564         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
52565         AC_CHECK_LIB from here...
52566         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
52567         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
52568         gl_func_getloadavg_done.
52569         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52571 2011-06-18  Bruno Haible  <bruno@clisp.org>
52573         clean-temp: Improve documentation.
52574         * lib/clean-temp.h: Explain better how to use this module.
52575         Reported by John Darrington <john@darrington.wattle.id.au>.
52577 2011-06-17  Bruno Haible  <bruno@clisp.org>
52579         pread, pwrite: Avoid cc warning on AIX.
52580         * lib/unistd.in.h (pread): Undefine before defining as a macro.
52581         (pwrite): Likewise.
52583 2011-06-17  Bruno Haible  <bruno@clisp.org>
52585         spawn-pipe tests: Fix link error.
52586         * tests/test-spawn-pipe-child.c: Undefine fprintf.
52587         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52589 2011-06-17  Bruno Haible  <bruno@clisp.org>
52591         Tests: Remove unnecessary dependency.
52592         * modules/canonicalize-tests (Depends-on): Remove progname.
52593         * modules/chown-tests (Depends-on): Likewise.
52594         * modules/dirname-tests (Depends-on): Likewise.
52595         * modules/fdopendir-tests (Depends-on): Likewise.
52596         * modules/fdutimensat-tests (Depends-on): Likewise.
52597         * modules/hash-tests (Depends-on): Likewise.
52598         * modules/lchown-tests (Depends-on): Likewise.
52599         * modules/linkat-tests (Depends-on): Likewise.
52600         * modules/renameat-tests (Depends-on): Likewise.
52601         * modules/spawn-pipe-tests (Depends-on): Likewise.
52602         * modules/utimensat-tests (Depends-on): Likewise.
52604 2011-06-17  Bruno Haible  <bruno@clisp.org>
52606         spawn-pipe tests: Fix link error.
52607         * tests/test-spawn-pipe-child.c: Undefine fflush.
52609 2011-06-17  Bruno Haible  <bruno@clisp.org>
52611         Fix tests link errors.
52612         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
52613         * modules/chown-tests (Makefile.am): Don't link test-chown with
52614         LIBINTL.
52615         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
52616         LIBINTL.
52617         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
52618         LIBINTL.
52619         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
52620         LIBINTL.
52622 2011-06-16  Bruno Haible  <bruno@clisp.org>
52624         crypto/gc-sha1: Fix recent regression.
52625         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
52626         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
52628         crypto/gc-md5: Fix recent regression.
52629         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
52631         crypto/gc-md4: Fix recent regression.
52632         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
52633         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
52635         crypto/gc-arctwo: Fix recent regression.
52636         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
52637         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
52639         crypto/gc-rijndael: Fix recent regression.
52640         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
52641         (configure.ac): Invoke AC_LIBOBJ here.
52642         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
52643         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52645         crypto/gc-hmac-sha1: Fix recent regression.
52646         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
52647         (configure.ac): Invoke AC_LIBOBJ here.
52648         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
52649         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52651         crypto/gc-hmac-md5: Fix recent regression.
52652         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
52653         (configure.ac): Invoke AC_LIBOBJ here.
52654         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
52655         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52657         crypto/gc-des: Fix recent regression.
52658         * modules/crypto/gc-des (Files): Remove m4/des.m4.
52659         (configure.ac): Invoke AC_LIBOBJ here.
52660         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
52661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52663         crypto/gc-arcfour: Fix recent regression.
52664         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
52665         (configure.ac): Invoke AC_LIBOBJ here.
52666         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
52667         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52669 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
52671         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
52672         After the 2011-05-21 change, this macro requires
52673         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
52674         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52676 2011-06-16  Bruno Haible  <bruno@clisp.org>
52678         fprintftime: Move AC_LIBOBJ invocations to module description.
52679         * m4/fprintftime.m4: Remove file.
52680         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
52681         (configure.ac): Remove gl_FPRINTFTIME call.
52682         (Makefile.am): Augment lib_SOURCES.
52683         Reported by Jim Meyering.
52685 2011-06-16  Bruno Haible  <bruno@clisp.org>
52687         tmpfile-safer: Finish 2011-05-23 commit.
52688         * m4/stdio-safer.m4: Really remove file.
52689         Reported by Jim Meyering.
52691 2011-06-16  Bruno Haible  <bruno@clisp.org>
52693         syntax-check: Fix typo.
52694         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
52695         printf-posix.m4.
52696         Reported by Jim Meyering.
52698 2011-06-13  Jim Meyering  <meyering@redhat.com>
52700         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
52701         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
52703 2011-05-23  Bruno Haible  <bruno@clisp.org>
52705         yesno: Move AC_LIBOBJ invocations to module description.
52706         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
52707         * modules/yesno (Makefile.am): Augment lib_SOURCES.
52709 2011-05-23  Bruno Haible  <bruno@clisp.org>
52711         xstrtol: Move AC_LIBOBJ invocations to module description.
52712         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
52713         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
52715 2011-05-23  Bruno Haible  <bruno@clisp.org>
52717         xstrtold: Move AC_LIBOBJ invocations to module description.
52718         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
52719         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
52721 2011-05-23  Bruno Haible  <bruno@clisp.org>
52723         xstrtod: Move AC_LIBOBJ invocations to module description.
52724         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
52725         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
52727 2011-05-23  Bruno Haible  <bruno@clisp.org>
52729         xnanosleep: Move AC_LIBOBJ invocations to module description.
52730         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
52731         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
52733 2011-05-23  Bruno Haible  <bruno@clisp.org>
52735         xgetcwd: Move AC_LIBOBJ invocations to module description.
52736         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
52737         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
52739 2011-05-23  Bruno Haible  <bruno@clisp.org>
52741         xalloc: Move AC_LIBOBJ invocations to module description.
52742         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
52743         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
52745 2011-05-23  Bruno Haible  <bruno@clisp.org>
52747         write-any-file: Move AC_LIBOBJ invocations to module description.
52748         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
52749         invocation.
52750         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
52752 2011-05-23  Bruno Haible  <bruno@clisp.org>
52754         utimens: Move AC_LIBOBJ invocations to module description.
52755         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
52756         * modules/utimens (Makefile.am): Augment lib_SOURCES.
52758 2011-05-23  Bruno Haible  <bruno@clisp.org>
52760         utimecmp: Move AC_LIBOBJ invocations to module description.
52761         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
52762         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
52764 2011-05-23  Bruno Haible  <bruno@clisp.org>
52766         userspec: Move AC_LIBOBJ invocations to module description.
52767         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
52768         * modules/userspec (Makefile.am): Augment lib_SOURCES.
52770 2011-05-23  Bruno Haible  <bruno@clisp.org>
52772         unlinkdir: Move AC_LIBOBJ invocations to module description.
52773         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
52774         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
52776 2011-05-23  Bruno Haible  <bruno@clisp.org>
52778         unistd-safer: Move AC_LIBOBJ invocations to module description.
52779         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
52780         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
52782 2011-05-23  Bruno Haible  <bruno@clisp.org>
52784         tempname: Move AC_LIBOBJ invocations to module description.
52785         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
52786         * modules/tempname (Makefile.am): Augment lib_SOURCES.
52788 2011-05-23  Bruno Haible  <bruno@clisp.org>
52790         strftime: Move AC_LIBOBJ invocations to module description.
52791         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
52792         * modules/strftime (Makefile.am): Augment lib_SOURCES.
52794 2011-05-23  Bruno Haible  <bruno@clisp.org>
52796         stdlib-safer: Move AC_LIBOBJ invocations to module description.
52797         * m4/stdlib-safer.m4: Remove file.
52798         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
52799         (configure.ac): Remove gl_STDLIB_SAFER call.
52800         (Makefile.am): Augment lib_SOURCES.
52802 2011-05-23  Bruno Haible  <bruno@clisp.org>
52804         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
52805         * m4/stdio-safer.m4: Remove file.
52806         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
52807         (configure.ac): Remove gl_TMPFILE_SAFER call.
52808         (Makefile.am): Augment lib_SOURCES.
52810 2011-05-23  Bruno Haible  <bruno@clisp.org>
52812         popen-safer: Move AC_LIBOBJ invocations to module description.
52813         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
52814         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
52815         (configure.ac): Remove gl_POPEN_SAFER call.
52816         (Makefile.am): Augment lib_SOURCES.
52818 2011-05-23  Bruno Haible  <bruno@clisp.org>
52820         freopen-safer: Move AC_LIBOBJ invocations to module description.
52821         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
52822         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
52823         (configure.ac): Remove gl_FREOPEN_SAFER call.
52824         (Makefile.am): Augment lib_SOURCES.
52826 2011-05-23  Bruno Haible  <bruno@clisp.org>
52828         fopen-safer: Move AC_LIBOBJ invocations to module description.
52829         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
52830         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
52831         (configure.ac): Remove gl_FOPEN_SAFER call.
52832         (Makefile.am): Augment lib_SOURCES.
52834 2011-05-23  Bruno Haible  <bruno@clisp.org>
52836         crypto/sha512: Move AC_LIBOBJ invocations to module description.
52837         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
52838         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
52840 2011-05-23  Bruno Haible  <bruno@clisp.org>
52842         crypto/sha256: Move AC_LIBOBJ invocations to module description.
52843         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
52844         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
52846 2011-05-23  Bruno Haible  <bruno@clisp.org>
52848         crypto/sha1: Move AC_LIBOBJ invocations to module description.
52849         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
52850         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
52852 2011-05-23  Bruno Haible  <bruno@clisp.org>
52854         settime: Move AC_LIBOBJ invocations to module description.
52855         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
52856         * modules/settime (Makefile.am): Augment lib_SOURCES.
52858 2011-05-23  Bruno Haible  <bruno@clisp.org>
52860         savedir: Move AC_LIBOBJ invocations to module description.
52861         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
52862         * modules/savedir (Makefile.am): Augment lib_SOURCES.
52864 2011-05-23  Bruno Haible  <bruno@clisp.org>
52866         save-cwd: Move AC_LIBOBJ invocations to module description.
52867         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
52868         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
52870 2011-05-23  Bruno Haible  <bruno@clisp.org>
52872         same: Move AC_LIBOBJ invocations to module description.
52873         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
52874         * modules/same (Makefile.am): Augment lib_SOURCES.
52876 2011-05-23  Bruno Haible  <bruno@clisp.org>
52878         safe-write: Move AC_LIBOBJ invocations to module description.
52879         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
52880         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
52881         instead of gl_SAFE_WRITE.
52882         (Makefile.am): Augment lib_SOURCES.
52884 2011-05-23  Bruno Haible  <bruno@clisp.org>
52886         safe-read: Move AC_LIBOBJ invocations to module description.
52887         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
52888         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
52889         of gl_SAFE_READ.
52890         (Makefile.am): Augment lib_SOURCES.
52892 2011-05-23  Bruno Haible  <bruno@clisp.org>
52894         safe-alloc: Move AC_LIBOBJ invocations to module description.
52895         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
52896         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
52898 2011-05-23  Bruno Haible  <bruno@clisp.org>
52900         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
52901         * m4/rijndael.m4: Remove file.
52902         * modules/crypto/rijndael (Files): Remove it.
52903         (configure.ac): Remove gl_RIJNDAEL call.
52904         (Makefile.am): Augment lib_SOURCES.
52906 2011-05-23  Bruno Haible  <bruno@clisp.org>
52908         readtokens: Move AC_LIBOBJ invocations to module description.
52909         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
52910         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
52912 2011-05-23  Bruno Haible  <bruno@clisp.org>
52914         read-file: Move AC_LIBOBJ invocations to module description.
52915         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
52916         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
52917         of gl_FUNC_READ_FILE.
52918         (Makefile.am): Augment lib_SOURCES.
52920 2011-05-23  Bruno Haible  <bruno@clisp.org>
52922         quotearg: Move AC_LIBOBJ invocations to module description.
52923         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
52924         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
52926 2011-05-23  Bruno Haible  <bruno@clisp.org>
52928         quote: Move AC_LIBOBJ invocations to module description.
52929         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
52930         * modules/quote (Makefile.am): Augment lib_SOURCES.
52932 2011-05-23  Bruno Haible  <bruno@clisp.org>
52934         posixver: Move AC_LIBOBJ invocations to module description.
52935         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
52936         * modules/posixver (Makefile.am): Augment lib_SOURCES.
52938 2011-05-23  Bruno Haible  <bruno@clisp.org>
52940         posixtm: Move AC_LIBOBJ invocations to module description.
52941         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
52942         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
52944 2011-05-23  Bruno Haible  <bruno@clisp.org>
52946         physmem: Move AC_LIBOBJ invocations to module description.
52947         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
52948         * modules/physmem (Makefile.am): Augment lib_SOURCES.
52950 2011-05-23  Bruno Haible  <bruno@clisp.org>
52952         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
52953         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
52954         invocation.
52955         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
52957 2011-05-23  Bruno Haible  <bruno@clisp.org>
52959         mpsort: Move AC_LIBOBJ invocations to module description.
52960         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
52961         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
52963 2011-05-23  Bruno Haible  <bruno@clisp.org>
52965         modechange: Move AC_LIBOBJ invocations to module description.
52966         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
52967         * modules/modechange (Makefile.am): Augment lib_SOURCES.
52969 2011-05-23  Bruno Haible  <bruno@clisp.org>
52971         mkdir-p: Move AC_LIBOBJ invocations to module description.
52972         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
52973         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
52975 2011-05-23  Bruno Haible  <bruno@clisp.org>
52977         mkancesdirs: Move AC_LIBOBJ invocations to module description.
52978         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
52979         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
52981 2011-05-23  Bruno Haible  <bruno@clisp.org>
52983         mgetgroups: Move AC_LIBOBJ invocations to module description.
52984         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
52985         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
52987 2011-05-23  Bruno Haible  <bruno@clisp.org>
52989         memxor: Move AC_LIBOBJ invocations to module description.
52990         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
52991         * modules/memxor (Makefile.am): Augment lib_SOURCES.
52993 2011-05-23  Bruno Haible  <bruno@clisp.org>
52995         memcoll: Move AC_LIBOBJ invocations to module description.
52996         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
52997         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
52999 2011-05-23  Bruno Haible  <bruno@clisp.org>
53001         memcasecmp: Move AC_LIBOBJ invocations to module description.
53002         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
53003         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
53005 2011-05-23  Bruno Haible  <bruno@clisp.org>
53007         crypto/md5: Move AC_LIBOBJ invocations to module description.
53008         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
53009         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
53011 2011-05-23  Bruno Haible  <bruno@clisp.org>
53013         crypto/md4: Move AC_LIBOBJ invocations to module description.
53014         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
53015         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
53017 2011-05-23  Bruno Haible  <bruno@clisp.org>
53019         crypto/md2: Move AC_LIBOBJ invocations to module description.
53020         * m4/md2.m4: Remove file.
53021         * modules/crypto/md2 (Files): Remove it.
53022         (configure.ac): Remove gl_MD2 call.
53023         (Makefile.am): Augment lib_SOURCES.
53025 2011-05-23  Bruno Haible  <bruno@clisp.org>
53027         long-options: Move AC_LIBOBJ invocations to module description.
53028         * m4/long-options.m4: Remove file.
53029         * modules/long-options (Files): Remove it.
53030         (configure.ac): Remove gl_LONG_OPTIONS call.
53031         (Makefile.am): Augment lib_SOURCES.
53033 2011-05-23  Bruno Haible  <bruno@clisp.org>
53035         i-ring: Move AC_LIBOBJ invocations to module description.
53036         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
53037         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
53039 2011-05-23  Bruno Haible  <bruno@clisp.org>
53041         idcache: Move AC_LIBOBJ invocations to module description.
53042         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
53043         * modules/idcache (Makefile.am): Augment lib_SOURCES.
53045 2011-05-23  Bruno Haible  <bruno@clisp.org>
53047         human: Move AC_LIBOBJ invocations to module description.
53048         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
53049         * modules/human (Makefile.am): Augment lib_SOURCES.
53051 2011-05-23  Bruno Haible  <bruno@clisp.org>
53053         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
53054         * m4/hmac-sha1.m4: Remove file.
53055         * modules/crypto/hmac-sha1 (Files): Remove it.
53056         (configure.ac): Remove gl_HMAC_SHA1 call.
53057         (Makefile.am): Augment lib_SOURCES.
53059 2011-05-23  Bruno Haible  <bruno@clisp.org>
53061         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
53062         * m4/hmac-md5.m4: Remove file.
53063         * modules/crypto/hmac-md5 (Files): Remove it.
53064         (configure.ac): Remove gl_HMAC_MD5 call.
53065         (Makefile.am): Augment lib_SOURCES.
53067 2011-05-23  Bruno Haible  <bruno@clisp.org>
53069         hash: Move AC_LIBOBJ invocations to module description.
53070         * m4/hash.m4: Remove file.
53071         * modules/hash (Files): Remove it.
53072         (configure.ac): Remove gl_HASH call.
53073         (Makefile.am): Augment lib_SOURCES.
53075 2011-05-23  Bruno Haible  <bruno@clisp.org>
53077         hard-locale: Move AC_LIBOBJ invocations to module description.
53078         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
53079         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
53081 2011-05-23  Bruno Haible  <bruno@clisp.org>
53083         getugroups: Move AC_LIBOBJ invocations to module description.
53084         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
53085         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
53087 2011-05-23  Bruno Haible  <bruno@clisp.org>
53089         gettime: Move AC_LIBOBJ invocations to module description.
53090         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
53091         * modules/gettime (Makefile.am): Augment lib_SOURCES.
53093 2011-05-23  Bruno Haible  <bruno@clisp.org>
53095         getndelim2: Move AC_LIBOBJ invocations to module description.
53096         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
53097         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
53099 2011-05-23  Bruno Haible  <bruno@clisp.org>
53101         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
53102         * m4/gc-pbkdf2-sha1.m4: Remove file.
53103         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
53104         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
53105         (Makefile.am): Augment lib_SOURCES.
53107 2011-05-23  Bruno Haible  <bruno@clisp.org>
53109         fts: Move AC_LIBOBJ invocations to module description.
53110         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
53111         * modules/fts (configure.ac): ... to here.
53113 2011-05-23  Bruno Haible  <bruno@clisp.org>
53115         file-type: Move AC_LIBOBJ invocations to module description.
53116         * m4/file-type.m4: Remove file.
53117         * modules/file-type (Files): Remove it.
53118         (configure.ac): Remove gl_FILE_TYPE call.
53119         (Makefile.am): Augment lib_SOURCES.
53121 2011-05-23  Bruno Haible  <bruno@clisp.org>
53123         filenamecat*: Respect rules for use of AC_LIBOBJ.
53124         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
53125         Remove AC_LIBOBJ invocation.
53126         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
53127         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
53129 2011-05-23  Bruno Haible  <bruno@clisp.org>
53131         filemode: Move AC_LIBOBJ invocations to module description.
53132         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
53133         * modules/filemode (Makefile.am): Augment lib_SOURCES.
53135 2011-05-23  Bruno Haible  <bruno@clisp.org>
53137         openat-safer: Move AC_LIBOBJ invocations to module description.
53138         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
53139         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
53141 2011-05-23  Bruno Haible  <bruno@clisp.org>
53143         fcntl-safer: Move AC_LIBOBJ invocations to module description.
53144         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
53145         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
53147 2011-05-23  Bruno Haible  <bruno@clisp.org>
53149         exclude: Move AC_LIBOBJ invocations to module description.
53150         * m4/exclude.m4: Remove file.
53151         * modules/exclude (Files): Remove it.
53152         (configure.ac): Remove gl_EXCLUDE call.
53153         (Makefile.am): Augment lib_SOURCES.
53155 2011-05-23  Bruno Haible  <bruno@clisp.org>
53157         dirname*: Respect rules for use of AC_LIBOBJ.
53158         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
53159         invocations.
53160         * modules/dirname (Makefile.am): Augment lib_SOURCES.
53161         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
53163 2011-05-23  Bruno Haible  <bruno@clisp.org>
53165         dirent-safer: Move AC_LIBOBJ invocations to module description.
53166         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
53167         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
53169 2011-05-23  Bruno Haible  <bruno@clisp.org>
53171         crypto/des: Move AC_LIBOBJ invocations to module description.
53172         * m4/des.m4: Remove file.
53173         * modules/crypto/des (Files): Remove it.
53174         (configure.ac): Remove gl_DES call.
53175         (Makefile.am): Augment lib_SOURCES.
53177 2011-05-23  Bruno Haible  <bruno@clisp.org>
53179         cycle-check: Move AC_LIBOBJ invocations to module description.
53180         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
53181         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
53183 2011-05-23  Bruno Haible  <bruno@clisp.org>
53185         c-strtold: Move AC_LIBOBJ invocations to module description.
53186         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
53187         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
53189 2011-05-23  Bruno Haible  <bruno@clisp.org>
53191         c-strtod: Move AC_LIBOBJ invocations to module description.
53192         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
53193         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
53195 2011-05-23  Bruno Haible  <bruno@clisp.org>
53197         crc: Move AC_LIBOBJ invocations to module description.
53198         * m4/crc.m4: Remove file.
53199         * modules/crc (Files): Remove it.
53200         (configure.ac): Remove gl_CRC call.
53201         (Makefile.am): Augment lib_SOURCES.
53203 2011-05-23  Bruno Haible  <bruno@clisp.org>
53205         close-stream: Move AC_LIBOBJ invocations to module description.
53206         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
53207         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
53209 2011-05-23  Bruno Haible  <bruno@clisp.org>
53211         closeout: Move AC_LIBOBJ invocations to module description.
53212         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
53213         * modules/closeout (Makefile.am): Augment lib_SOURCES.
53215 2011-05-23  Bruno Haible  <bruno@clisp.org>
53217         closein: Move AC_LIBOBJ invocations to module description.
53218         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
53219         * modules/closein (Makefile.am): Augment lib_SOURCES.
53221 2011-05-23  Bruno Haible  <bruno@clisp.org>
53223         cloexec: Move AC_LIBOBJ invocations to module description.
53224         * m4/cloexec.m4: Remove file.
53225         * modules/cloexec (Files): Remove it.
53226         (configure.ac): Remove gl_CLOEXEC call.
53227         (Makefile.am): Augment lib_SOURCES.
53229 2011-05-23  Bruno Haible  <bruno@clisp.org>
53231         check-version: Move AC_LIBOBJ invocations to module description.
53232         * m4/check-version.m4: Remove file.
53233         * modules/check-version (Files): Remove it.
53234         (configure.ac): Remove gl_CHECK_VERSION call.
53235         (Makefile.am): Augment lib_SOURCES.
53237 2011-05-23  Bruno Haible  <bruno@clisp.org>
53239         chdir-safer: Move AC_LIBOBJ invocations to module description.
53240         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
53241         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
53243 2011-05-23  Bruno Haible  <bruno@clisp.org>
53245         canonicalize: Move AC_LIBOBJ invocations to module description.
53246         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
53247         AC_LIBOBJ invocation.
53248         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
53250 2011-05-23  Bruno Haible  <bruno@clisp.org>
53252         canon-host: Move AC_LIBOBJ invocations to module description.
53253         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
53254         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
53255         instead of gl_CANON_HOST.
53256         (Makefile.am): Augment lib_SOURCES.
53258 2011-05-23  Bruno Haible  <bruno@clisp.org>
53260         backupfile: Move AC_LIBOBJ invocations to module description.
53261         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
53262         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
53264 2011-05-23  Bruno Haible  <bruno@clisp.org>
53266         argmatch: Move AC_LIBOBJ invocations to module description.
53267         * m4/argmatch.m4: Remove file.
53268         * modules/argmatch (Files): Remove it.
53269         (configure.ac): Remove gl_ARGMATCH call.
53270         (Makefile.am): Augment lib_SOURCES.
53272 2011-05-23  Bruno Haible  <bruno@clisp.org>
53274         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
53275         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
53276         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
53278 2011-05-23  Bruno Haible  <bruno@clisp.org>
53280         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
53281         * m4/arcfour.m4: Remove file.
53282         * modules/crypto/arcfour (Files): Remove it.
53283         (configure.ac): Remove gl_ARCFOUR call.
53284         (Makefile.am): Augment lib_SOURCES.
53286 2011-05-22  Bruno Haible  <bruno@clisp.org>
53288         write: Move AC_LIBOBJ invocations to module description.
53289         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
53290         * modules/write (configure.ac): ... to here.
53292 2011-05-22  Bruno Haible  <bruno@clisp.org>
53294         wmemset: Move AC_LIBOBJ invocations to module description.
53295         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
53296         here...
53297         * modules/wmemset (configure.ac): ... to here.
53299 2011-05-22  Bruno Haible  <bruno@clisp.org>
53301         wmemmove: Move AC_LIBOBJ invocations to module description.
53302         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
53303         here...
53304         * modules/wmemmove (configure.ac): ... to here.
53306 2011-05-22  Bruno Haible  <bruno@clisp.org>
53308         wmemcpy: Move AC_LIBOBJ invocations to module description.
53309         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
53310         here...
53311         * modules/wmemcpy (configure.ac): ... to here.
53313 2011-05-22  Bruno Haible  <bruno@clisp.org>
53315         wmemcmp: Move AC_LIBOBJ invocations to module description.
53316         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
53317         here...
53318         * modules/wmemcmp (configure.ac): ... to here.
53320 2011-05-22  Bruno Haible  <bruno@clisp.org>
53322         wmemchr: Move AC_LIBOBJ invocations to module description.
53323         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
53324         here...
53325         * modules/wmemchr (configure.ac): ... to here.
53327 2011-05-22  Bruno Haible  <bruno@clisp.org>
53329         wcswidth: Move AC_LIBOBJ invocations to module description.
53330         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
53331         here...
53332         * modules/wcswidth (configure.ac): ... to here.
53334 2011-05-22  Bruno Haible  <bruno@clisp.org>
53336         wcwidth: Respect rules for use of AC_LIBOBJ.
53337         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
53338         invocation from here...
53339         * modules/wcwidth (configure.ac): ... to here.
53340         (Depends-on): Update conditions.
53342 2011-05-22  Bruno Haible  <bruno@clisp.org>
53344         wctype: Move AC_LIBOBJ invocations to module description.
53345         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
53346         invocation from here...
53347         * modules/wctype (configure.ac): ... to here.
53348         (Depends-on): Update conditions.
53350 2011-05-22  Bruno Haible  <bruno@clisp.org>
53352         wctrans: Move AC_LIBOBJ invocations to module description.
53353         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
53354         invocation from here...
53355         * modules/wctrans (configure.ac): ... to here.
53357 2011-05-22  Bruno Haible  <bruno@clisp.org>
53359         wctomb: Move AC_LIBOBJ invocations to module description.
53360         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
53361         invocations from here...
53362         * modules/wctomb (configure.ac): ... to here.
53364 2011-05-22  Bruno Haible  <bruno@clisp.org>
53366         wctob: Move AC_LIBOBJ invocations to module description.
53367         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
53368         gl_PREREQ_WCTOB invocations from here...
53369         * modules/wctob (configure.ac): ... to here.
53370         (Depends-on): Update conditions.
53372 2011-05-22  Bruno Haible  <bruno@clisp.org>
53374         wcsxfrm: Move AC_LIBOBJ invocations to module description.
53375         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
53376         here...
53377         * modules/wcsxfrm (configure.ac): ... to here.
53379 2011-05-22  Bruno Haible  <bruno@clisp.org>
53381         wcstok: Move AC_LIBOBJ invocations to module description.
53382         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
53383         * modules/wcstok (configure.ac): ... to here.
53385 2011-05-22  Bruno Haible  <bruno@clisp.org>
53387         wcsstr: Move AC_LIBOBJ invocations to module description.
53388         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
53389         * modules/wcsstr (configure.ac): ... to here.
53391 2011-05-22  Bruno Haible  <bruno@clisp.org>
53393         wcsspn: Move AC_LIBOBJ invocations to module description.
53394         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
53395         * modules/wcsspn (configure.ac): ... to here.
53397 2011-05-22  Bruno Haible  <bruno@clisp.org>
53399         wcsrtombs: Move AC_LIBOBJ invocations to module description.
53400         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
53401         gl_PREREQ_WCSRTOMBS invocations from here...
53402         * modules/wcsrtombs (configure.ac): ... to here.
53404 2011-05-22  Bruno Haible  <bruno@clisp.org>
53406         wcsrchr: Move AC_LIBOBJ invocations to module description.
53407         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
53408         here...
53409         * modules/wcsrchr (configure.ac): ... to here.
53411 2011-05-22  Bruno Haible  <bruno@clisp.org>
53413         wcspbrk: Move AC_LIBOBJ invocations to module description.
53414         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
53415         here...
53416         * modules/wcspbrk (configure.ac): ... to here.
53418 2011-05-22  Bruno Haible  <bruno@clisp.org>
53420         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
53421         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
53422         gl_PREREQ_WCSNRTOMBS invocations from here...
53423         * modules/wcsnrtombs (configure.ac): ... to here.
53425 2011-05-22  Bruno Haible  <bruno@clisp.org>
53427         wcsnlen: Move AC_LIBOBJ invocations to module description.
53428         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
53429         here...
53430         * modules/wcsnlen (configure.ac): ... to here.
53432 2011-05-22  Bruno Haible  <bruno@clisp.org>
53434         wcsncpy: Move AC_LIBOBJ invocations to module description.
53435         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
53436         here...
53437         * modules/wcsncpy (configure.ac): ... to here.
53439 2011-05-22  Bruno Haible  <bruno@clisp.org>
53441         wcsncmp: Move AC_LIBOBJ invocations to module description.
53442         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
53443         here...
53444         * modules/wcsncmp (configure.ac): ... to here.
53446 2011-05-22  Bruno Haible  <bruno@clisp.org>
53448         wcsncat: Move AC_LIBOBJ invocations to module description.
53449         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
53450         here...
53451         * modules/wcsncat (configure.ac): ... to here.
53453 2011-05-22  Bruno Haible  <bruno@clisp.org>
53455         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
53456         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
53457         from here...
53458         * modules/wcsncasecmp (configure.ac): ... to here.
53460 2011-05-22  Bruno Haible  <bruno@clisp.org>
53462         wcslen: Move AC_LIBOBJ invocations to module description.
53463         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
53464         * modules/wcslen (configure.ac): ... to here.
53466 2011-05-22  Bruno Haible  <bruno@clisp.org>
53468         wcsdup: Move AC_LIBOBJ invocations to module description.
53469         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
53470         * modules/wcsdup (configure.ac): ... to here.
53472 2011-05-22  Bruno Haible  <bruno@clisp.org>
53474         wcscspn: Move AC_LIBOBJ invocations to module description.
53475         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
53476         here...
53477         * modules/wcscspn (configure.ac): ... to here.
53479 2011-05-22  Bruno Haible  <bruno@clisp.org>
53481         wcscpy: Move AC_LIBOBJ invocations to module description.
53482         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
53483         * modules/wcscpy (configure.ac): ... to here.
53485 2011-05-22  Bruno Haible  <bruno@clisp.org>
53487         wcscoll: Move AC_LIBOBJ invocations to module description.
53488         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
53489         here...
53490         * modules/wcscoll (configure.ac): ... to here.
53492 2011-05-22  Bruno Haible  <bruno@clisp.org>
53494         wcscmp: Move AC_LIBOBJ invocations to module description.
53495         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
53496         * modules/wcscmp (configure.ac): ... to here.
53498 2011-05-22  Bruno Haible  <bruno@clisp.org>
53500         wcschr: Move AC_LIBOBJ invocations to module description.
53501         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
53502         * modules/wcschr (configure.ac): ... to here.
53504 2011-05-22  Bruno Haible  <bruno@clisp.org>
53506         wcscat: Move AC_LIBOBJ invocations to module description.
53507         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
53508         * modules/wcscat (configure.ac): ... to here.
53510 2011-05-22  Bruno Haible  <bruno@clisp.org>
53512         wcscasecmp: Move AC_LIBOBJ invocations to module description.
53513         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
53514         here...
53515         * modules/wcscasecmp (configure.ac): ... to here.
53517 2011-05-22  Bruno Haible  <bruno@clisp.org>
53519         wcrtomb: Move AC_LIBOBJ invocations to module description.
53520         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
53521         invocations from here...
53522         * modules/wcrtomb (configure.ac): ... to here.
53524 2011-05-22  Bruno Haible  <bruno@clisp.org>
53526         wcpncpy: Move AC_LIBOBJ invocations to module description.
53527         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
53528         here...
53529         * modules/wcpncpy (configure.ac): ... to here.
53531 2011-05-22  Bruno Haible  <bruno@clisp.org>
53533         wcpcpy: Move AC_LIBOBJ invocations to module description.
53534         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
53535         * modules/wcpcpy (configure.ac): ... to here.
53537 2011-05-22  Bruno Haible  <bruno@clisp.org>
53539         waitpid: Move AC_LIBOBJ invocations to module description.
53540         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
53541         invocation from here...
53542         * modules/waitpid (configure.ac): ... to here.
53544 2011-05-22  Bruno Haible  <bruno@clisp.org>
53546         utimensat: Move AC_LIBOBJ invocations to module description.
53547         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
53548         here...
53549         * modules/utimensat (configure.ac): ... to here.
53551 2011-05-22  Bruno Haible  <bruno@clisp.org>
53553         usleep: Move AC_LIBOBJ invocations to module description.
53554         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
53555         here...
53556         * modules/usleep (configure.ac): ... to here.
53558 2011-05-22  Bruno Haible  <bruno@clisp.org>
53560         unlockpt: Move AC_LIBOBJ invocations to module description.
53561         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
53562         gl_PREREQ_UNLOCKPT invocations from here...
53563         * modules/unlockpt (configure.ac): ... to here.
53565 2011-05-22  Bruno Haible  <bruno@clisp.org>
53567         unlink: Respect rules for use of AC_LIBOBJ.
53568         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
53569         * modules/unlink (configure.ac): ... to here.
53571 2011-05-22  Bruno Haible  <bruno@clisp.org>
53573         uname: Move AC_LIBOBJ invocations to module description.
53574         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
53575         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
53576         here...
53577         * modules/uname (configure.ac): ... to here.
53579 2011-05-22  Bruno Haible  <bruno@clisp.org>
53581         ttyname_r: Move AC_LIBOBJ invocations to module description.
53582         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
53583         gl_PREREQ_TTYNAME_R invocations from here...
53584         * modules/ttyname_r (configure.ac): ... to here.
53586 2011-05-22  Bruno Haible  <bruno@clisp.org>
53588         tsearch: Move AC_LIBOBJ invocations to module description.
53589         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
53590         invocations from here...
53591         * modules/tsearch (configure.ac): ... to here.
53593 2011-05-22  Bruno Haible  <bruno@clisp.org>
53595         towctrans: Move AC_LIBOBJ invocations to module description.
53596         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
53597         AC_LIBOBJ invocation from here...
53598         * modules/towctrans (configure.ac): ... to here.
53600 2011-05-22  Bruno Haible  <bruno@clisp.org>
53602         tmpfile: Move AC_LIBOBJ invocations to module description.
53603         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
53604         invocations from here...
53605         * modules/tmpfile (configure.ac): ... to here.
53607 2011-05-22  Bruno Haible  <bruno@clisp.org>
53609         times: Move AC_LIBOBJ invocations to module description.
53610         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
53611         * modules/times (configure.ac): ... to here.
53613 2011-05-22  Bruno Haible  <bruno@clisp.org>
53615         time_r: Move AC_LIBOBJ invocations to module description.
53616         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
53617         invocations from here...
53618         * modules/time_r (configure.ac): ... to here.
53620 2011-05-22  Bruno Haible  <bruno@clisp.org>
53622         timegm: Move AC_LIBOBJ invocations to module description.
53623         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
53624         invocations from here...
53625         * modules/timegm (configure.ac): ... to here.
53627 2011-05-22  Bruno Haible  <bruno@clisp.org>
53629         tcgetsid: Move AC_LIBOBJ invocations to module description.
53630         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
53631         and gl_PREREQ_TCGETSID invocations from here...
53632         * modules/tcgetsid (configure.ac): ... to here.
53633         (Depends-on): Update conditions.
53635 2011-05-22  Bruno Haible  <bruno@clisp.org>
53637         symlinkat: Move AC_LIBOBJ invocations to module description.
53638         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
53639         here...
53640         * modules/symlinkat (configure.ac): ... to here.
53642 2011-05-22  Bruno Haible  <bruno@clisp.org>
53644         symlink: Move AC_LIBOBJ invocations to module description.
53645         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
53646         here...
53647         * modules/symlink (configure.ac): ... to here.
53649 2011-05-22  Bruno Haible  <bruno@clisp.org>
53651         strverscmp: Move AC_LIBOBJ invocations to module description.
53652         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
53653         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
53654         from here...
53655         * modules/strverscmp (configure.ac): ... to here.
53657 2011-05-22  Bruno Haible  <bruno@clisp.org>
53659         strtok_r: Move AC_LIBOBJ invocations to module description.
53660         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
53661         and gl_PREREQ_STRTOK_R invocations from here...
53662         * modules/strtok_r (configure.ac): ... to here.
53663         (Depends-on): Update conditions.
53665 2011-05-22  Bruno Haible  <bruno@clisp.org>
53667         strtoumax: Move AC_LIBOBJ invocations to module description.
53668         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
53669         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
53670         from here...
53671         * modules/strtoumax (configure.ac): ... to here.
53673 2011-05-22  Bruno Haible  <bruno@clisp.org>
53675         strtoimax: Move AC_LIBOBJ invocations to module description.
53676         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
53677         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
53678         from here...
53679         * modules/strtoimax (configure.ac): ... to here.
53681 2011-05-22  Bruno Haible  <bruno@clisp.org>
53683         strtoull: Move AC_LIBOBJ invocations to module description.
53684         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
53685         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
53686         from here...
53687         * modules/strtoull (configure.ac): ... to here.
53689 2011-05-22  Bruno Haible  <bruno@clisp.org>
53691         strtoll: Move AC_LIBOBJ invocations to module description.
53692         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
53693         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
53694         here...
53695         * modules/strtoll (configure.ac): ... to here.
53697 2011-05-22  Bruno Haible  <bruno@clisp.org>
53699         strtoul: Move AC_LIBOBJ invocations to module description.
53700         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
53701         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53702         * modules/strtoul (configure.ac): ... to here.
53704 2011-05-22  Bruno Haible  <bruno@clisp.org>
53706         strtol: Move AC_LIBOBJ invocations to module description.
53707         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
53708         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53709         * modules/strtol (configure.ac): ... to here.
53711 2011-05-22  Bruno Haible  <bruno@clisp.org>
53713         strtod: Move AC_LIBOBJ invocations to module description.
53714         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
53715         invocations from here...
53716         * modules/strtod (configure.ac): ... to here.
53718 2011-05-22  Bruno Haible  <bruno@clisp.org>
53720         strstr*: Move AC_LIBOBJ invocations to module description.
53721         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
53722         invocations from here...
53723         * modules/strstr-simple (configure.ac): ... to here.
53724         * modules/strstr (configure.ac): ... and here.
53726 2011-05-22  Bruno Haible  <bruno@clisp.org>
53728         strsignal: Move AC_LIBOBJ invocations to module description.
53729         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
53730         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
53731         * modules/strsignal (configure.ac): ... to here.
53732         (Depends-on): Update conditions.
53734 2011-05-22  Bruno Haible  <bruno@clisp.org>
53736         strsep: Move AC_LIBOBJ invocations to module description.
53737         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
53738         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
53739         here...
53740         * modules/strsep (configure.ac): ... to here.
53742 2011-05-22  Bruno Haible  <bruno@clisp.org>
53744         strptime: Move AC_LIBOBJ invocations to module description.
53745         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
53746         gl_PREREQ_STRPTIME invocations from here...
53747         * modules/strptime (configure.ac): ... to here.
53749 2011-05-22  Bruno Haible  <bruno@clisp.org>
53751         strpbrk: Move AC_LIBOBJ invocations to module description.
53752         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
53753         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
53754         here...
53755         * modules/strpbrk (configure.ac): ... to here.
53757 2011-05-22  Bruno Haible  <bruno@clisp.org>
53759         strnlen: Move AC_LIBOBJ invocations to module description.
53760         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
53761         invocations from here...
53762         * modules/strnlen (configure.ac): ... to here.
53764 2011-05-22  Bruno Haible  <bruno@clisp.org>
53766         strndup: Move AC_LIBOBJ invocations to module description.
53767         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
53768         invocations from here...
53769         * modules/strndup (configure.ac): ... to here.
53770         (Depends-on): Update conditions.
53772 2011-05-22  Bruno Haible  <bruno@clisp.org>
53774         strncat: Move AC_LIBOBJ invocations to module description.
53775         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
53776         invocations from here...
53777         * modules/strncat (configure.ac): ... to here.
53779 2011-05-22  Bruno Haible  <bruno@clisp.org>
53781         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
53782         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
53783         invocations from here...
53784         * modules/strdup (configure.ac): ... to here.
53785         * modules/strdup-posix (configure.ac): ... and here.
53787 2011-05-22  Bruno Haible  <bruno@clisp.org>
53789         strcspn: Move AC_LIBOBJ invocations to module description.
53790         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
53791         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
53792         here...
53793         * modules/strcspn (configure.ac): ... to here.
53795 2011-05-22  Bruno Haible  <bruno@clisp.org>
53797         strchrnul: Move AC_LIBOBJ invocations to module description.
53798         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
53799         gl_PREREQ_STRCHRNUL invocations from here...
53800         * modules/strchrnul (configure.ac): ... to here.
53802 2011-05-22  Bruno Haible  <bruno@clisp.org>
53804         strcasestr*: Move AC_LIBOBJ invocations to module description.
53805         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
53806         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
53807         * modules/strcasestr-simple (configure.ac): ... to here.
53808         * modules/strcasestr (configure.ac): ... and here.
53810 2011-05-22  Bruno Haible  <bruno@clisp.org>
53812         strcase: Move AC_LIBOBJ invocations to module description.
53813         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
53814         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
53815         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
53816         gl_PREREQ_STRNCASECMP invocations from here...
53817         * modules/strcase (configure.ac): ... to here.
53819 2011-05-22  Bruno Haible  <bruno@clisp.org>
53821         stpncpy: Move AC_LIBOBJ invocations to module description.
53822         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
53823         here...
53824         * modules/stpncpy (configure.ac): ... to here.
53826 2011-05-22  Bruno Haible  <bruno@clisp.org>
53828         stpcpy: Move AC_LIBOBJ invocations to module description.
53829         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
53830         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
53831         here...
53832         * modules/stpcpy (configure.ac): ... to here.
53834 2011-05-21  Bruno Haible  <bruno@clisp.org>
53836         stat: Move AC_LIBOBJ invocations to module description.
53837         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
53838         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
53839         here...
53840         * modules/stat (configure.ac): ... to here.
53842 2011-05-21  Bruno Haible  <bruno@clisp.org>
53844         sleep: Move AC_LIBOBJ invocations to module description.
53845         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
53846         * modules/sleep (configure.ac): ... to here.
53848 2011-05-21  Bruno Haible  <bruno@clisp.org>
53850         signbit: Move AC_LIBOBJ invocations to module description.
53851         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
53852         * modules/signbit (configure.ac): ... to here.
53854 2011-05-21  Bruno Haible  <bruno@clisp.org>
53856         sigprocmask: Move AC_LIBOBJ invocations to module description.
53857         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
53858         gl_PREREQ_SIGPROMASK invocations from here...
53859         * modules/sigprocmask (configure.ac): ... to here.
53861 2011-05-21  Bruno Haible  <bruno@clisp.org>
53863         sigaction: Move AC_LIBOBJ invocations to module description.
53864         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
53865         gl_PREREQ_SIGACTION invocations from here...
53866         * modules/sigaction (configure.ac): ... to here.
53868 2011-05-21  Bruno Haible  <bruno@clisp.org>
53870         sig2str: Move AC_LIBOBJ invocations to module description.
53871         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
53872         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
53873         here...
53874         * modules/sig2str (configure.ac): ... to here.
53876 2011-05-21  Bruno Haible  <bruno@clisp.org>
53878         setlocale: Move AC_LIBOBJ invocations to module description.
53879         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
53880         gl_PREREQ_SETLOCALE invocations from here...
53881         * modules/setlocale (configure.ac): ... to here.
53883 2011-05-21  Bruno Haible  <bruno@clisp.org>
53885         unsetenv: Move AC_LIBOBJ invocations to module description.
53886         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
53887         and gl_PREREQ_UNSETENV invocations from here...
53888         * modules/unsetenv (configure.ac): ... to here.
53889         (Depends-on): Update.
53891 2011-05-21  Bruno Haible  <bruno@clisp.org>
53893         setenv: Move AC_LIBOBJ invocations to module description.
53894         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
53895         here...
53896         * modules/setenv (configure.ac): ... to here.
53898 2011-05-21  Bruno Haible  <bruno@clisp.org>
53900         selinux-h: Move AC_LIBOBJ invocations to module description.
53901         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
53902         AC_LIBOBJ invocation from here...
53903         * modules/selinux-h (configure.ac): ... to here.
53905 2011-05-21  Bruno Haible  <bruno@clisp.org>
53907         select: Respect rules for use of AC_LIBOBJ.
53908         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
53909         here...
53910         * modules/select (configure.ac): ... to here.
53912 2011-05-21  Bruno Haible  <bruno@clisp.org>
53914         scandir: Move AC_LIBOBJ invocations to module description.
53915         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
53916         invocations from here...
53917         * modules/scandir (configure.ac): ... to here.
53919 2011-05-21  Bruno Haible  <bruno@clisp.org>
53921         rpmatch: Move AC_LIBOBJ invocations to module description.
53922         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
53923         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
53924         here...
53925         * modules/rpmatch (configure.ac): ... to here.
53927 2011-05-21  Bruno Haible  <bruno@clisp.org>
53929         rmdir: Respect rules for use of AC_LIBOBJ.
53930         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
53931         * modules/rmdir (configure.ac): ... to here.
53933 2011-05-21  Bruno Haible  <bruno@clisp.org>
53935         renameat: Move AC_LIBOBJ invocations to module description.
53936         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
53937         here...
53938         * modules/renameat (configure.ac): ... to here.
53940 2011-05-21  Bruno Haible  <bruno@clisp.org>
53942         rename: Respect rules for use of AC_LIBOBJ.
53943         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
53944         here...
53945         * modules/rename (configure.ac): ... to here.
53947 2011-05-21  Bruno Haible  <bruno@clisp.org>
53949         remove: Move AC_LIBOBJ invocations to module description.
53950         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
53951         here...
53952         * modules/remove (configure.ac): ... to here.
53954 2011-05-21  Bruno Haible  <bruno@clisp.org>
53956         relocatable-lib: Move AC_LIBOBJ invocations to module description.
53957         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
53958         macro.
53959         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
53960         * modules/relocatable-lib (configure.ac): ... to here.
53961         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53962         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
53964 2011-05-21  Bruno Haible  <bruno@clisp.org>
53966         relocatable-prog: Move AC_LIBOBJ invocations to module description.
53967         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
53968         here...
53969         * modules/relocatable-prog (configure.ac): ... to here.
53971 2011-05-21  Bruno Haible  <bruno@clisp.org>
53973         regex: Move AC_LIBOBJ invocations to module description.
53974         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
53975         invocations from here...
53976         * modules/regex (configure.ac): ... to here.
53978 2011-05-21  Bruno Haible  <bruno@clisp.org>
53980         realloc-*: Move AC_LIBOBJ invocations to module description.
53981         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
53982         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
53983         AC_LIBOBJ invocations from here...
53984         * modules/realloc-gnu (configure.ac): ... to here.
53985         * modules/realloc-posix (configure.ac): ... and here.
53987 2011-05-21  Bruno Haible  <bruno@clisp.org>
53989         readutmp: Move AC_LIBOBJ invocations to module description.
53990         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
53991         * modules/readutmp (configure.ac): ... to here.
53993 2011-05-21  Bruno Haible  <bruno@clisp.org>
53995         readlinkat: Move AC_LIBOBJ invocations to module description.
53996         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
53997         here...
53998         * modules/readlinkat (configure.ac): ... to here.
54000 2011-05-21  Bruno Haible  <bruno@clisp.org>
54002         readlink: Move AC_LIBOBJ invocations to module description.
54003         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
54004         gl_PREREQ_READLINK invocations from here...
54005         * modules/readlink (configure.ac): ... to here.
54007 2011-05-21  Bruno Haible  <bruno@clisp.org>
54009         readline: Move AC_LIBOBJ invocations to module description.
54010         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
54011         gl_PREREQ_READLINE invocations from here...
54012         * modules/readline (configure.ac): ... to here.
54014 2011-05-21  Bruno Haible  <bruno@clisp.org>
54016         read: Move AC_LIBOBJ invocations to module description.
54017         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
54018         * modules/read (configure.ac): ... to here.
54020 2011-05-21  Bruno Haible  <bruno@clisp.org>
54022         rawmemchr: Move AC_LIBOBJ invocations to module description.
54023         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
54024         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
54025         from here...
54026         * modules/rawmemchr (configure.ac): ... to here.
54028 2011-05-21  Bruno Haible  <bruno@clisp.org>
54030         random_r: Move AC_LIBOBJ invocations to module description.
54031         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
54032         gl_PREREQ_RANDOM_R invocations from here...
54033         * modules/random_r (configure.ac): ... to here.
54035 2011-05-21  Bruno Haible  <bruno@clisp.org>
54037         pwrite: Move AC_LIBOBJ invocations to module description.
54038         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
54039         * modules/pwrite (configure.ac): ... to here.
54041 2011-05-21  Bruno Haible  <bruno@clisp.org>
54043         putenv: Move AC_LIBOBJ invocations to module description.
54044         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
54045         * modules/putenv (configure.ac): ... to here.
54047 2011-05-21  Bruno Haible  <bruno@clisp.org>
54049         login_tty: Move AC_LIBOBJ invocations to module description.
54050         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
54051         * modules/login_tty (configure.ac): ... to here.
54053 2011-05-21  Bruno Haible  <bruno@clisp.org>
54055         openpty: Move AC_LIBOBJ invocations to module description.
54056         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
54057         * modules/openpty (configure.ac): ... to here.
54059 2011-05-21  Bruno Haible  <bruno@clisp.org>
54061         forkpty: Move AC_LIBOBJ invocations to module description.
54062         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
54063         * modules/forkpty (configure.ac): ... to here.
54065 2011-05-21  Bruno Haible  <bruno@clisp.org>
54067         ptsname: Move AC_LIBOBJ invocations to module description.
54068         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
54069         invocations from here...
54070         * modules/ptsname (configure.ac): ... to here.
54072 2011-05-21  Bruno Haible  <bruno@clisp.org>
54074         pread: Move AC_LIBOBJ invocations to module description.
54075         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
54076         * modules/pread (configure.ac): ... to here.
54078 2011-05-21  Bruno Haible  <bruno@clisp.org>
54080         posix_spawn*: Move AC_LIBOBJ invocations to module description.
54081         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
54082         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
54083         * modules/posix_spawn (configure.ac): ... to here.
54084         * modules/posix_spawnp (configure.ac): ... and here.
54086 2011-05-21  Bruno Haible  <bruno@clisp.org>
54088         popen: Move AC_LIBOBJ invocations to module description.
54089         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
54090         invocations from here...
54091         * modules/popen (configure.ac): ... to here.
54093 2011-05-21  Bruno Haible  <bruno@clisp.org>
54095         poll: Move AC_LIBOBJ invocations to module description.
54096         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
54097         invocations from here...
54098         * modules/poll (configure.ac): ... to here.
54100 2011-05-21  Bruno Haible  <bruno@clisp.org>
54102         pipe-posix: Move AC_LIBOBJ invocations to module description.
54103         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
54104         * modules/pipe-posix (configure.ac): ... to here.
54106 2011-05-21  Bruno Haible  <bruno@clisp.org>
54108         openat: Respect rules for use of AC_LIBOBJ.
54109         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
54110         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
54111         * modules/openat (configure.ac): ... to here.
54113 2011-05-21  Bruno Haible  <bruno@clisp.org>
54115         obstack-printf*: Move AC_LIBOBJ invocations to module description.
54116         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
54117         invocation from here...
54118         * modules/obstack-printf (configure.ac): ... to here.
54119         * modules/obstack-printf-posix (configure.ac): ... and here.
54121 2011-05-21  Bruno Haible  <bruno@clisp.org>
54123         nl_langinfo: Move AC_LIBOBJ invocations to module description.
54124         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
54125         from here...
54126         * modules/nl_langinfo (configure.ac): ... to here.
54128 2011-05-21  Bruno Haible  <bruno@clisp.org>
54130         nanosleep: Move AC_LIBOBJ invocations to module description.
54131         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
54132         gl_PREREQ_NANOSLEEP invocations from here...
54133         * modules/nanosleep (configure.ac): ... to here.
54135 2011-05-21  Bruno Haible  <bruno@clisp.org>
54137         mountlist: Move AC_LIBOBJ invocations to module description.
54138         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
54139         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
54140         * modules/mountlist (configure.ac): ... to here.
54142 2011-05-21  Bruno Haible  <bruno@clisp.org>
54144         mktime: Respect rules for use of AC_LIBOBJ.
54145         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
54146         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
54147         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
54148         (gl_FUNC_MKTIME_INTERNAL): ... and here...
54149         * modules/mktime (configure.ac): ... to here.
54150         * modules/mktime-internal (configure.ac): ... and here.
54151         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
54153 2011-05-21  Bruno Haible  <bruno@clisp.org>
54155         mkstemps: Move AC_LIBOBJ invocations to module description.
54156         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
54157         here...
54158         * modules/mkstemps (configure.ac): ... to here.
54160 2011-05-21  Bruno Haible  <bruno@clisp.org>
54162         mkstemp: Move AC_LIBOBJ invocations to module description.
54163         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
54164         gl_PREREQ_MKSTEMP invocations from here...
54165         * modules/mkstemp (configure.ac): ... to here.
54167 2011-05-21  Bruno Haible  <bruno@clisp.org>
54169         mkostemps: Move AC_LIBOBJ invocations to module description.
54170         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
54171         here...
54172         * modules/mkostemps (configure.ac): ... to here.
54174 2011-05-21  Bruno Haible  <bruno@clisp.org>
54176         mkostemp: Move AC_LIBOBJ invocations to module description.
54177         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
54178         gl_PREREQ_MKOSTEMP invocations from here...
54179         * modules/mkostemp (configure.ac): ... to here.
54181 2011-05-21  Bruno Haible  <bruno@clisp.org>
54183         mknod: Move AC_LIBOBJ invocations to module description.
54184         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
54185         * modules/mknod (configure.ac): ... to here.
54187 2011-05-21  Bruno Haible  <bruno@clisp.org>
54189         mkfifoat: Move AC_LIBOBJ invocations to module description.
54190         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
54191         here...
54192         * modules/mkfifoat (configure.ac): ... to here.
54194 2011-05-21  Bruno Haible  <bruno@clisp.org>
54196         mkfifo: Respect rules for use of AC_LIBOBJ.
54197         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
54198         here...
54199         * modules/mkfifo (configure.ac): ... to here.
54201 2011-05-21  Bruno Haible  <bruno@clisp.org>
54203         mkdtemp: Move AC_LIBOBJ invocations to module description.
54204         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
54205         invocations from here...
54206         * modules/mkdtemp (configure.ac): ... to here.
54208 2011-05-21  Bruno Haible  <bruno@clisp.org>
54210         mkdir: Move AC_LIBOBJ invocations to module description.
54211         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
54212         * modules/mkdir (configure.ac): ... to here.
54214 2011-05-21  Bruno Haible  <bruno@clisp.org>
54216         memset: Move AC_LIBOBJ invocations to module description.
54217         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
54218         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
54219         here...
54220         * modules/memset (configure.ac): ... to here.
54222 2011-05-21  Bruno Haible  <bruno@clisp.org>
54224         memrchr: Move AC_LIBOBJ invocations to module description.
54225         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
54226         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
54227         here...
54228         * modules/memrchr (configure.ac): ... to here.
54230 2011-05-21  Bruno Haible  <bruno@clisp.org>
54232         mempcpy: Move AC_LIBOBJ invocations to module description.
54233         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
54234         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
54235         here...
54236         * modules/mempcpy (configure.ac): ... to here.
54238 2011-05-21  Bruno Haible  <bruno@clisp.org>
54240         memmove: Move AC_LIBOBJ invocations to module description.
54241         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
54242         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
54243         here...
54244         * modules/memmove (configure.ac): ... to here.
54246 2011-05-21  Bruno Haible  <bruno@clisp.org>
54248         memmem*: Move AC_LIBOBJ invocations to module description.
54249         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
54250         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
54251         here...
54252         (gl_FUNC_MEMMEM): ... and here...
54253         * modules/memmem-simple (configure.ac): ... to here.
54254         * modules/memmem (configure.ac): ... and here.
54256 2011-05-21  Bruno Haible  <bruno@clisp.org>
54258         memcpy: Move AC_LIBOBJ invocations to module description.
54259         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
54260         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
54261         here...
54262         * modules/memcpy (configure.ac): ... to here.
54264 2011-05-21  Bruno Haible  <bruno@clisp.org>
54266         memcmp: Simplify autoconf macro.
54267         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
54268         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
54269         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
54271 2011-05-21  Bruno Haible  <bruno@clisp.org>
54273         memcmp: Move AC_LIBOBJ invocations to module description.
54274         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
54275         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
54276         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
54277         * modules/memcmp (configure.ac): ... to here.
54278         (Depends-on): Update conditions.
54280 2011-05-21  Bruno Haible  <bruno@clisp.org>
54282         memchr: Respect rules for use of AC_LIBOBJ.
54283         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
54284         invocations from here...
54285         * modules/memchr (configure.ac): ... to here.
54287 2011-05-21  Bruno Haible  <bruno@clisp.org>
54289         mbtowc: Move AC_LIBOBJ invocations to module description.
54290         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
54291         invocations from here...
54292         * modules/mbtowc (configure.ac): ... to here.
54294 2011-05-21  Bruno Haible  <bruno@clisp.org>
54296         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
54297         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
54298         gl_PREREQ_MBSRTOWCS invocations from here...
54299         * modules/mbsrtowcs (configure.ac): ... to here.
54301 2011-05-21  Bruno Haible  <bruno@clisp.org>
54303         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
54304         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
54305         gl_PREREQ_MBSNRTOWCS invocations from here...
54306         * modules/mbsnrtowcs (configure.ac): ... to here.
54308 2011-05-21  Bruno Haible  <bruno@clisp.org>
54310         mbsinit: Move AC_LIBOBJ invocations to module description.
54311         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
54312         invocations from here...
54313         * modules/mbsinit (configure.ac): ... to here.
54315 2011-05-21  Bruno Haible  <bruno@clisp.org>
54317         mbrlen: Move AC_LIBOBJ invocations to module description.
54318         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
54319         invocations from here...
54320         * modules/mbrlen (configure.ac): ... to here.
54322 2011-05-21  Bruno Haible  <bruno@clisp.org>
54324         mbrtowc: Respect rules for use of AC_LIBOBJ.
54325         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
54326         invocations from here...
54327         * modules/mbrtowc (configure.ac): ... to here.
54329 2011-05-21  Bruno Haible  <bruno@clisp.org>
54331         malloc-*: Move AC_LIBOBJ invocations to module description.
54332         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
54333         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
54334         AC_LIBOBJ invocations from here...
54335         * modules/malloc-gnu (configure.ac): ... to here.
54336         * modules/malloc-posix (configure.ac): ... and here.
54338 2011-05-21  Bruno Haible  <bruno@clisp.org>
54340         lstat, openat: Respect rules for use of AC_LIBOBJ.
54341         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
54342         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
54343         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
54344         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
54345         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
54346         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
54347         here.
54348         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
54350 2011-05-21  Bruno Haible  <bruno@clisp.org>
54352         lseek: Move AC_LIBOBJ invocations to module description.
54353         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
54354         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54355         * modules/lseek (configure.ac): ... to here.
54357 2011-05-21  Bruno Haible  <bruno@clisp.org>
54359         linkat: Move AC_LIBOBJ invocations to module description.
54360         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
54361         here...
54362         * modules/linkat (configure.ac): ... to here.
54364 2011-05-21  Bruno Haible  <bruno@clisp.org>
54366         link: Respect rules for use of AC_LIBOBJ.
54367         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
54368         * modules/link (configure.ac): ... to here.
54370 2011-05-21  Bruno Haible  <bruno@clisp.org>
54372         lchown: Move AC_LIBOBJ invocations to module description.
54373         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54374         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
54375         * modules/lchown (configure.ac): ... to here.
54377 2011-05-21  Bruno Haible  <bruno@clisp.org>
54379         iswctype: Move AC_LIBOBJ invocations to module description.
54380         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
54381         here...
54382         * modules/iswctype (configure.ac): ... to here.
54384 2011-05-21  Bruno Haible  <bruno@clisp.org>
54386         iswblank: Move AC_LIBOBJ invocations to module description.
54387         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
54388         here...
54389         * modules/iswblank (configure.ac): ... to here.
54391 2011-05-21  Bruno Haible  <bruno@clisp.org>
54393         atanl: Move AC_LIBOBJ invocations to module description.
54394         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
54395         * modules/atanl (configure.ac): ... to here.
54397 2011-05-21  Bruno Haible  <bruno@clisp.org>
54399         acosl: Move AC_LIBOBJ invocations to module description.
54400         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
54401         * modules/acosl (configure.ac): ... to here.
54403 2011-05-21  Bruno Haible  <bruno@clisp.org>
54405         asinl: Respect rules for use of AC_LIBOBJ.
54406         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
54407         * modules/asinl (configure.ac): ... to here.
54409 2011-05-21  Bruno Haible  <bruno@clisp.org>
54411         tanl: Move AC_LIBOBJ invocations to module description.
54412         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
54413         * modules/tanl (configure.ac): ... to here.
54415 2011-05-21  Bruno Haible  <bruno@clisp.org>
54417         cosl: Move AC_LIBOBJ invocations to module description.
54418         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
54419         * modules/cosl (configure.ac): ... to here.
54421 2011-05-21  Bruno Haible  <bruno@clisp.org>
54423         sinl: Move AC_LIBOBJ invocations to module description.
54424         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
54425         * modules/sinl (configure.ac): ... to here.
54427 2011-05-21  Bruno Haible  <bruno@clisp.org>
54429         logl: Move AC_LIBOBJ invocations to module description.
54430         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
54431         * modules/logl (configure.ac): ... to here.
54433 2011-05-21  Bruno Haible  <bruno@clisp.org>
54435         expl: Move AC_LIBOBJ invocations to module description.
54436         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
54437         * modules/expl (configure.ac): ... to here.
54439 2011-05-21  Bruno Haible  <bruno@clisp.org>
54441         roundl: Move AC_LIBOBJ invocations to module description.
54442         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
54443         * modules/roundl (configure.ac): ... to here.
54445 2011-05-21  Bruno Haible  <bruno@clisp.org>
54447         round: Move AC_LIBOBJ invocations to module description.
54448         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
54449         * modules/round (configure.ac): ... to here.
54451 2011-05-21  Bruno Haible  <bruno@clisp.org>
54453         roundf: Move AC_LIBOBJ invocations to module description.
54454         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
54455         * modules/roundf (configure.ac): ... to here.
54457 2011-05-21  Bruno Haible  <bruno@clisp.org>
54459         truncl: Move AC_LIBOBJ invocations to module description.
54460         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
54461         * modules/truncl (configure.ac): ... to here.
54463 2011-05-21  Bruno Haible  <bruno@clisp.org>
54465         trunc: Move AC_LIBOBJ invocations to module description.
54466         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
54467         * modules/trunc (configure.ac): ... to here.
54469 2011-05-21  Bruno Haible  <bruno@clisp.org>
54471         truncf: Move AC_LIBOBJ invocations to module description.
54472         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
54473         * modules/truncf (configure.ac): ... to here.
54475 2011-05-21  Bruno Haible  <bruno@clisp.org>
54477         ceill: Move AC_LIBOBJ invocations to module description.
54478         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
54479         * modules/ceill (configure.ac): ... to here.
54481 2011-05-21  Bruno Haible  <bruno@clisp.org>
54483         ceil: Move AC_LIBOBJ invocations to module description.
54484         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
54485         * modules/ceil (configure.ac): ... to here.
54487 2011-05-21  Bruno Haible  <bruno@clisp.org>
54489         ceilf: Move AC_LIBOBJ invocations to module description.
54490         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
54491         * modules/ceilf (configure.ac): ... to here.
54493 2011-05-21  Bruno Haible  <bruno@clisp.org>
54495         floorl: Respect rules for use of AC_LIBOBJ.
54496         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
54497         * modules/floorl (configure.ac): ... to here.
54499 2011-05-21  Bruno Haible  <bruno@clisp.org>
54501         floor: Respect rules for use of AC_LIBOBJ.
54502         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
54503         * modules/floor (configure.ac): ... to here.
54505 2011-05-21  Bruno Haible  <bruno@clisp.org>
54507         floorf: Move AC_LIBOBJ invocations to module description.
54508         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
54509         * modules/floorf (configure.ac): ... to here.
54511 2011-05-20  Bruno Haible  <bruno@clisp.org>
54513         sqrtl: Respect rules for use of AC_LIBOBJ.
54514         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
54515         * modules/sqrtl (configure.ac): ... to here.
54517 2011-05-20  Bruno Haible  <bruno@clisp.org>
54519         ldexpl: Respect rules for use of AC_LIBOBJ.
54520         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
54521         * modules/ldexpl (configure.ac): ... to here.
54523 2011-05-20  Bruno Haible  <bruno@clisp.org>
54525         frexpl*: Respect rules for use of AC_LIBOBJ.
54526         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
54527         invocation from here...
54528         * modules/frexpl (configure.ac): ... to here.
54529         * modules/frexpl-nolibm (configure.ac): ... and here.
54531 2011-05-20  Bruno Haible  <bruno@clisp.org>
54533         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
54534         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
54535         invocation from here...
54536         * modules/frexp (configure.ac): ... to here.
54537         * modules/frexp-nolibm (configure.ac): ... and here.
54539 2011-05-20  Bruno Haible  <bruno@clisp.org>
54541         isnan: Respect rules for use of AC_LIBOBJ.
54542         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
54543         invocations here.
54544         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
54545         REPLACE_ISNAN.
54546         * modules/isnand (configure.ac): Likewise.
54547         * modules/isnanl (configure.ac): Likewise.
54549 2011-05-20  Bruno Haible  <bruno@clisp.org>
54551         isnanl*: Respect rules for use of AC_LIBOBJ.
54552         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
54553         invocation from here...
54554         * modules/isnanl (configure.ac): ... to here.
54555         * modules/isnanl-nolibm (configure.ac): ... and here.
54557 2011-05-20  Bruno Haible  <bruno@clisp.org>
54559         isnand*: Move AC_LIBOBJ invocations to module description.
54560         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
54561         invocation from here...
54562         * modules/isnand (configure.ac): ... to here.
54563         * modules/isnand-nolibm (configure.ac): ... and here.
54565 2011-05-20  Bruno Haible  <bruno@clisp.org>
54567         isnanf*: Move AC_LIBOBJ invocations to module description.
54568         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
54569         invocation from here...
54570         * modules/isnanf (configure.ac): ... to here.
54571         * modules/isnanf-nolibm (configure.ac): ... and here.
54573 2011-05-20  Bruno Haible  <bruno@clisp.org>
54575         isnan*: Separate the AC_LIBOBJ invocations.
54576         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
54577         AC_LIBOBJ invocation.
54578         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
54579         here.
54580         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
54581         AC_LIBOBJ invocation.
54582         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
54583         here.
54584         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
54585         AC_LIBOBJ invocation.
54586         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
54587         here.
54588         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
54590 2011-05-08  Bruno Haible  <bruno@clisp.org>
54592         isinf: Move AC_LIBOBJ invocations to module description.
54593         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
54594         * modules/isinf (configure.ac): ... to here.
54596 2011-05-08  Bruno Haible  <bruno@clisp.org>
54598         isfinite: Move AC_LIBOBJ invocations to module description.
54599         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
54600         * modules/isfinite (configure.ac): ... to here.
54602 2011-05-08  Bruno Haible  <bruno@clisp.org>
54604         isblank: Move AC_LIBOBJ invocations to module description.
54605         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
54606         here...
54607         * modules/isblank (configure.ac): ... to here.
54609 2011-05-08  Bruno Haible  <bruno@clisp.org>
54611         isapipe: Move AC_LIBOBJ invocations to module description.
54612         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
54613         gl_PREREQ_ISAPIPE invocations from here...
54614         * modules/isapipe (configure.ac): ... to here.
54615         (Depends-on): Update condition.
54617 2011-05-08  Bruno Haible  <bruno@clisp.org>
54619         ioctl: Move AC_LIBOBJ invocations to module description.
54620         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
54621         invocations from here...
54622         * modules/ioctl (configure.ac): ... to here.
54623         (Depends-on): Update condition.
54625 2011-05-08  Bruno Haible  <bruno@clisp.org>
54627         imaxdiv: Move AC_LIBOBJ invocations to module description.
54628         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
54629         invocations from here...
54630         * modules/imaxdiv (configure.ac): ... to here.
54632 2011-05-08  Bruno Haible  <bruno@clisp.org>
54634         imaxabs: Move AC_LIBOBJ invocations to module description.
54635         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
54636         invocations from here...
54637         * modules/imaxabs (configure.ac): ... to here.
54639 2011-05-08  Bruno Haible  <bruno@clisp.org>
54641         getaddrinfo: Move AC_LIBOBJ invocations to module description.
54642         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
54643         AC_LIBOBJ invocations from here...
54644         * modules/getaddrinfo (configure.ac): ... to here.
54645         (Depends-on): Add conditions.
54647 2011-05-08  Bruno Haible  <bruno@clisp.org>
54649         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54650         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
54651         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54652         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
54653         (gl_PREREQ_INET_PTON): ... from here.
54654         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
54655         gl_PREREQ_INET_PTON here.
54656         (Depends-on): Update condition.
54658 2011-05-08  Bruno Haible  <bruno@clisp.org>
54660         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54661         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
54662         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54663         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
54664         (gl_PREREQ_INET_NTOP): ... from here.
54665         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
54666         gl_PREREQ_INET_NTOP here.
54667         (Depends-on): Update condition.
54669 2011-05-08  Bruno Haible  <bruno@clisp.org>
54671         iconv_open: Move AC_LIBOBJ invocations to module description.
54672         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
54673         AC_LIBOBJ invocations from here...
54674         * modules/iconv_open (configure.ac): ... to here.
54676 2011-05-08  Bruno Haible  <bruno@clisp.org>
54678         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
54679         If module 'iconv_open' is among the main modules and module
54680         'iconv_open-utf' is among the tests dependencies, then
54681         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
54682         return the special iconv_t values. Therefore iconv() and iconv_close()
54683         must support these special iconv_t values, already in lib, not only in
54684         tests.
54685         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
54686         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
54687         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
54688         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
54689         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
54690         (Depends-on): Add the dependencies of iconv_open-utf.
54691         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
54692         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
54693         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
54695 2011-05-08  Bruno Haible  <bruno@clisp.org>
54697         group-member: Move AC_LIBOBJ invocations to module description.
54698         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
54699         gl_PREREQ_GROUP_MEMBER invocations from here...
54700         * modules/group-member (configure.ac): ... to here.
54702 2011-05-08  Bruno Haible  <bruno@clisp.org>
54704         grantpt: Move AC_LIBOBJ invocations to module description.
54705         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
54706         invocations from here...
54707         * modules/grantpt (configure.ac): ... to here.
54709 2011-05-08  Bruno Haible  <bruno@clisp.org>
54711         glob: Move AC_LIBOBJ invocations to module description.
54712         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
54713         from here...
54714         * modules/glob (configure.ac): ... to here.
54716 2011-05-08  Bruno Haible  <bruno@clisp.org>
54718         getusershell: Move AC_LIBOBJ invocations to module description.
54719         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
54720         Move AC_LIBOBJ invocation from here...
54721         * modules/getusershell (configure.ac): ... to here.
54722         (Depends-on): Update condition.
54724 2011-05-08  Bruno Haible  <bruno@clisp.org>
54726         gettimeofday: Move AC_LIBOBJ invocations to module description.
54727         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54728         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
54729         gl_PREREQ_GETTIMEOFDAY invocations from here...
54730         * modules/gettimeofday (configure.ac): ... to here.
54732 2011-05-08  Bruno Haible  <bruno@clisp.org>
54734         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
54735         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
54736         just gl_FUNC_TZSET.
54737         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
54738         (gl_FUNC_TZSET_CLOBBER): Remove actions.
54739         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
54740         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
54742 2011-05-08  Bruno Haible  <bruno@clisp.org>
54744         getsubopt: Move AC_LIBOBJ invocations to module description.
54745         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
54746         gl_PREREQ_GETSUBOPT invocations from here...
54747         * modules/getsubopt (configure.ac): ... to here.
54749 2011-05-08  Bruno Haible  <bruno@clisp.org>
54751         getpass-gnu: Move AC_LIBOBJ invocations to module description.
54752         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
54753         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
54754         * modules/getpass-gnu (configure.ac): ... to here.
54756 2011-05-08  Bruno Haible  <bruno@clisp.org>
54758         getpass: Move AC_LIBOBJ invocations to module description.
54759         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
54760         gl_PREREQ_GETPASS invocations from here...
54761         * modules/getpass (configure.ac): ... to here.
54763 2011-05-08  Bruno Haible  <bruno@clisp.org>
54765         getpagesize: Move AC_LIBOBJ invocations to module description.
54766         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
54767         from here...
54768         * modules/getpagesize (configure.ac): ... to here.
54770 2011-05-08  Bruno Haible  <bruno@clisp.org>
54772         getopt: Move AC_LIBOBJ invocations to module description.
54773         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
54774         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
54775         invocations from here...
54776         * modules/getopt-gnu (configure.ac): ... to here.
54777         * modules/getopt-posix (configure.ac): ... and here.
54778         (Depends-on): Update condition.
54780 2011-05-08  Bruno Haible  <bruno@clisp.org>
54782         getopt, argp: Respect rules for use of AC_LIBOBJ.
54783         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
54784         (gl_REPLACE_GETOPT_ALWAYS): New macro.
54785         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
54786         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
54788 2011-05-08  Bruno Haible  <bruno@clisp.org>
54790         getlogin_r: Move AC_LIBOBJ invocations to module description.
54791         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
54792         gl_PREREQ_GETLOGIN_R invocations from here...
54793         * modules/getlogin_r (configure.ac): ... to here.
54795 2011-05-08  Bruno Haible  <bruno@clisp.org>
54797         getlogin: Move AC_LIBOBJ invocations to module description.
54798         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
54799         here...
54800         * modules/getlogin (configure.ac): ... to here.
54802 2011-05-08  Bruno Haible  <bruno@clisp.org>
54804         getloadavg: Move AC_LIBOBJ invocations to module description.
54805         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
54806         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
54807         * modules/getloadavg (configure.ac): ... to here.
54809 2011-05-08  Bruno Haible  <bruno@clisp.org>
54811         gethrxtime: Move AC_LIBOBJ invocations to module description.
54812         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
54813         LIB_GETHRXTIME from here...
54814         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
54815         invocations from here...
54816         * modules/gethrxtime (configure.ac): ... to here.
54818 2011-05-08  Bruno Haible  <bruno@clisp.org>
54820         gethostname: Move AC_LIBOBJ invocations to module description.
54821         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
54822         gl_PREREQ_GETHOSTNAME invocations from here...
54823         * modules/gethostname (configure.ac): ... to here.
54825 2011-05-08  Bruno Haible  <bruno@clisp.org>
54827         getgroups: Move AC_LIBOBJ invocations to module description.
54828         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
54829         here...
54830         * modules/getgroups (configure.ac): ... to here.
54832 2011-05-08  Bruno Haible  <bruno@clisp.org>
54834         getdtablesize: Move AC_LIBOBJ invocations to module description.
54835         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
54836         invocation from here...
54837         * modules/getdtablesize (configure.ac): ... to here.
54839 2011-05-08  Bruno Haible  <bruno@clisp.org>
54841         getdomainname: Move AC_LIBOBJ invocations to module description.
54842         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
54843         gl_PREREQ_GETDOMAINNAME invocations from here...
54844         * modules/getdomainname (configure.ac): ... to here.
54846 2011-05-08  Bruno Haible  <bruno@clisp.org>
54848         getline: Move AC_LIBOBJ invocations to module description.
54849         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
54850         invocations from here...
54851         * modules/getline (configure.ac): ... to here.
54853 2011-05-08  Bruno Haible  <bruno@clisp.org>
54855         getline: Simplify.
54856         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
54857         It's already handled through the module dependency.
54859 2011-05-08  Bruno Haible  <bruno@clisp.org>
54861         getdelim: Move AC_LIBOBJ invocations to module description.
54862         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
54863         and gl_PREREQ_GETDELIM invocations from here...
54864         * modules/getdelim (configure.ac): ... to here.
54865         (Depends-on): Fix condition.
54867 2011-05-08  Bruno Haible  <bruno@clisp.org>
54869         getcwd: Move AC_LIBOBJ invocations to module description.
54870         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
54871         invocations from here...
54872         * modules/getcwd (configure.ac): ... to here.
54874 2011-05-08  Bruno Haible  <bruno@clisp.org>
54876         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
54877         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
54878         here...
54879         * modules/getcwd-lgpl (configure.ac): ... to here.
54881 2011-05-07  Bruno Haible  <bruno@clisp.org>
54883         crypto/gc: Move AC_LIBOBJ invocations to module description.
54884         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
54885         * modules/crypto/gc (configure.ac): ... to here.
54887 2011-05-07  Bruno Haible  <bruno@clisp.org>
54889         fwriting: Move AC_LIBOBJ invocations to module description.
54890         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
54891         here...
54892         * modules/fwriting (configure.ac): ... to here.
54894 2011-05-07  Bruno Haible  <bruno@clisp.org>
54896         fwritable: Move AC_LIBOBJ invocations to module description.
54897         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
54898         here...
54899         * modules/fwritable (configure.ac): ... to here.
54901 2011-05-07  Bruno Haible  <bruno@clisp.org>
54903         futimens: Move AC_LIBOBJ invocations to module description.
54904         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
54905         here...
54906         * modules/futimens (configure.ac): ... to here.
54908 2011-05-07  Bruno Haible  <bruno@clisp.org>
54910         ftruncate: Move AC_LIBOBJ invocations to module description.
54911         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
54912         gl_PREREQ_FTRUNCATE invocations from here...
54913         * modules/ftruncate (configure.ac): ... to here.
54915 2011-05-07  Bruno Haible  <bruno@clisp.org>
54917         fsync: Move AC_LIBOBJ invocations to module description.
54918         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
54919         invocations from here...
54920         * modules/fsync (configure.ac): ... to here.
54922 2011-05-07  Bruno Haible  <bruno@clisp.org>
54924         fsusage: Move AC_LIBOBJ invocations to module description.
54925         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
54926         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
54927         * modules/fsusage (configure.ac): ... to here.
54929 2011-05-07  Bruno Haible  <bruno@clisp.org>
54931         freopen: Move AC_LIBOBJ invocations to module description.
54932         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
54933         invocations from here...
54934         * modules/freopen (configure.ac): ... to here.
54936 2011-05-07  Bruno Haible  <bruno@clisp.org>
54938         free: Move AC_LIBOBJ invocations to module description.
54939         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
54940         invocations from here...
54941         * modules/free (configure.ac): ... to here.
54943 2011-05-07  Bruno Haible  <bruno@clisp.org>
54945         freadable: Move AC_LIBOBJ invocations to module description.
54946         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
54947         here...
54948         * modules/freadable (configure.ac): ... to here.
54950 2011-05-07  Bruno Haible  <bruno@clisp.org>
54952         fpurge: Move AC_LIBOBJ invocations to module description.
54953         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
54954         invocations from here...
54955         * modules/fpurge (configure.ac): ... to here.
54957 2011-05-07  Bruno Haible  <bruno@clisp.org>
54959         fpending: Move AC_LIBOBJ invocations to module description.
54960         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
54961         gl_FUNC_FPENDING.
54962         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
54963         invocations from here...
54964         * modules/fpending (configure.ac): ... to here.
54966 2011-05-07  Bruno Haible  <bruno@clisp.org>
54968         fopen: Move AC_LIBOBJ invocations to module description.
54969         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
54970         invocations from here...
54971         * modules/fopen (configure.ac): ... to here.
54973 2011-05-07  Bruno Haible  <bruno@clisp.org>
54975         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
54976         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
54977         gl_FUNC_FNMATCH_POSIX.
54978         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
54979         invocations from here...
54980         * modules/fnmatch (configure.ac): ... to here.
54981         * modules/fnmatch-gnu (configure.ac): ... and here.
54983 2011-05-07  Bruno Haible  <bruno@clisp.org>
54985         flock: Move AC_LIBOBJ invocations to module description.
54986         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
54987         invocations from here...
54988         * modules/flock (configure.ac): ... to here.
54990 2011-05-07  Bruno Haible  <bruno@clisp.org>
54992         fileblocks: Move AC_LIBOBJ invocations to module description.
54993         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
54994         gl_PREREQ_FILEBLOCKS invocations from here...
54995         * modules/fileblocks (configure.ac): ... to here.
54997 2011-05-06  Bruno Haible  <bruno@clisp.org>
54999         fflush: Move AC_LIBOBJ invocations to module description.
55000         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
55001         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
55002         invocations from here...
55003         * modules/fflush (configure.ac): ... to here.
55005 2011-05-06  Bruno Haible  <bruno@clisp.org>
55007         fdopendir: Move AC_LIBOBJ invocations to module description.
55008         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
55009         here...
55010         * modules/fdopendir (configure.ac): ... to here.
55011         (Depends-on): Improve conditions.
55013 2011-05-06  Bruno Haible  <bruno@clisp.org>
55015         _Exit: Move AC_LIBOBJ invocations to module description.
55016         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
55017         invocations from here...
55018         * modules/_Exit (configure.ac): ... to here.
55020 2011-05-21  Bruno Haible  <bruno@clisp.org>
55022         euidaccess: Respect rules for use of AC_LIBOBJ.
55023         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
55024         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
55025         from here...
55026         * modules/euidaccess (configure.ac): ... to here.
55028 2011-05-06  Bruno Haible  <bruno@clisp.org>
55030         error: Move AC_LIBOBJ invocations to module description.
55031         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
55032         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
55033         invocations from here...
55034         * modules/error (configure.ac): ... to here.
55036 2011-05-06  Bruno Haible  <bruno@clisp.org>
55038         duplocale: Move AC_LIBOBJ invocations to module description.
55039         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
55040         gl_PREREQ_DUPLOCALE invocations from here...
55041         * modules/duplocale (configure.ac): ... to here.
55043 2011-05-05  Bruno Haible  <bruno@clisp.org>
55045         dirfd: Move AC_LIBOBJ invocations to module description.
55046         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
55047         gl_FUNC_DIRFD.
55048         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
55049         here...
55050         * modules/dirfd (configure.ac): ... to here.
55051         (Depends-on): Fix condition.
55053 2011-05-05  Bruno Haible  <bruno@clisp.org>
55055         chown: Respect rules for use of AC_LIBOBJ.
55056         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
55057         * modules/chown (configure.ac): ... to here.
55059 2011-05-05  Bruno Haible  <bruno@clisp.org>
55061         chdir-long: Move AC_LIBOBJ invocations to module description.
55062         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
55063         gl_PREREQ_CHDIR_LONG invocations from here...
55064         * modules/chdir-long (configure.ac): ... to here.
55066 2011-05-05  Bruno Haible  <bruno@clisp.org>
55068         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
55069         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
55070         from here...
55071         * modules/canonicalize-lgpl (configure.ac): ... to here.
55073 2011-05-05  Bruno Haible  <bruno@clisp.org>
55075         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
55076         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
55077         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
55078         REPLACE_CALLOC.
55079         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
55080         * modules/calloc-gnu (configure.ac): Likewise.
55082 2011-05-05  Bruno Haible  <bruno@clisp.org>
55084         btowc: Move AC_LIBOBJ invocations to module description.
55085         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
55086         invocations from here...
55087         * modules/btowc (configure.ac): ... to here.
55089 2011-05-21  Bruno Haible  <bruno@clisp.org>
55091         atexit: Move AC_LIBOBJ invocations to module description.
55092         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
55093         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
55094         here...
55095         * modules/atexit (configure.ac): ... to here.
55097 2011-05-05  Bruno Haible  <bruno@clisp.org>
55099         atoll: Move AC_LIBOBJ invocations to module description.
55100         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
55101         invocations from here...
55102         * modules/atoll (configure.ac): ... to here.
55104 2011-05-05  Bruno Haible  <bruno@clisp.org>
55106         argz: Move AC_LIBOBJ invocations to module description.
55107         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
55108         * modules/argz (configure.ac): ... to here.
55110 2011-05-05  Bruno Haible  <bruno@clisp.org>
55112         alphasort: Move AC_LIBOBJ invocations to module description.
55113         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
55114         gl_PREREQ_ALPHASORT invocations from here...
55115         * modules/alphasort (configure.ac): ... to here.
55117 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
55119         verify: new macro verify_expr; verify_true deprecated
55120         * NEWS: Mention this.
55121         * doc/verify.texi (Compile-time Assertions): Document this.
55122         * lib/verify.h (verify_true): Deprecate.
55123         (verify_expr): New macro.
55124         * tests/test-verify.c (function): Test verify_expr.
55126 2011-06-14  Jim Meyering  <meyering@redhat.com>
55128         init.sh: give more portable redirection-related advice in a comment
55129         * tests/init.sh (stderr_fileno_): Update the advice in comments.
55130         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
55131         for lots of discussion.  Stefano Lattarini suggested the solution
55132         of putting "9>&2" after the command.  Reported by Bruno Haible.
55134 2011-06-13  Bruno Haible  <bruno@clisp.org>
55136         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
55137         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
55138         'none'.
55140 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
55142         ftoastr: use strtof only if HAVE_STRTOF
55143         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
55144         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
55145         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
55146         * modules/ftoastr (configure.ac): Check for strtof.
55148 2011-06-13  Bruno Haible  <bruno@clisp.org>
55150         gnulib-tool: Addendum to 2011-06-08 commit.
55151         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
55152         and --witness-c-macro have been given, augment AM_CPPFLAGS.
55154 2011-06-13  Bruno Haible  <bruno@clisp.org>
55156         fseeko: Provide a non-inline replacement of fseek().
55157         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
55158         * modules/fseeko (Depends-on): Add fseek.
55159         * modules/fseek (License): Change to LGPLv2+.
55161 2011-06-13  Bruno Haible  <bruno@clisp.org>
55163         ftello: Provide a non-inline replacement of ftell().
55164         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
55165         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
55166         not have ftello() (such as on mingw).
55167         * modules/ftello (Depends-on): Add ftell.
55168         * modules/ftell (License): Change to LGPLv2+.
55170 2011-05-07  Bruno Haible  <bruno@clisp.org>
55172         ftell: Move AC_LIBOBJ invocations to module description.
55173         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
55174         * modules/ftell (configure.ac): ... to here.
55176 2011-05-07  Bruno Haible  <bruno@clisp.org>
55178         ftello: Respect rules for use of AC_LIBOBJ.
55179         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
55180         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
55181         here...
55182         * modules/ftello (configure.ac): ... to here.
55184 2011-05-07  Bruno Haible  <bruno@clisp.org>
55186         fseeko: Simplify.
55187         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
55188         (gl_FUNC_FSEEKO): Inline it here.
55190 2011-05-07  Bruno Haible  <bruno@clisp.org>
55192         fseek: Move AC_LIBOBJ invocations to module description.
55193         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
55194         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
55195         * modules/fseek (configure.ac): ... to here.
55197 2011-05-07  Bruno Haible  <bruno@clisp.org>
55199         fseek: Respect rules for use of AC_LIBOBJ.
55200         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
55201         here...
55202         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
55204 2011-05-07  Bruno Haible  <bruno@clisp.org>
55206         fseeko: Respect rules for use of AC_LIBOBJ.
55207         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
55208         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
55209         here...
55210         * modules/fseeko (configure.ac): ... to here.
55212 2011-06-13  Bruno Haible  <bruno@clisp.org>
55214         gnulib-tool: Allow comments in the 'Depends-on' section.
55215         * doc/gnulib.texi (Module description): Mention comment syntax in the
55216         Depends-on section.
55217         * gnulib-tool (func_get_dependencies): Filter out comment lines.
55219 2011-06-13  Bruno Haible  <bruno@clisp.org>
55221         file-set.h: guard __attibute__ use, now that it's not always defined
55222         * lib/file-set.h (record_file): Use __attribute__ only with compiler
55223         versions that support it.  This fixes a coreutils build failure with
55224         the vendor cc on HP-UX 11.31.
55226 2011-06-12  Bruno Haible  <bruno@clisp.org>
55228         acl: Add support for HP-UX >= 11.11 JFS ACLs.
55229         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
55230         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
55231         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
55232         (acl, aclsort): New declarations.
55233         (aclv_nontrivial): New declaration.
55234         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
55235         (file_has_acl): Read also the second kind of HP-UX ACLs.
55236         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
55237         kind of HP-UX ACLs if the first kind fails.
55238         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
55239         second kind of HP-UX ACLs.
55240         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
55241         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
55242         agree.
55243         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
55244         hpuxjfs.
55245         Handle hpuxjfs.
55246         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
55247         hpuxjfs.
55248         Handle hpuxjfs.
55249         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
55250         (func_test_same_acls): Use both lsacl and getacl.
55251         Handle hpuxjfs.
55252         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
55253         (func_test_same_acls): Use both lsacl and getacl.
55254         Handle hpuxjfs.
55256 2011-06-12  Bruno Haible  <bruno@clisp.org>
55258         acl: Complete the 2010-08-10 fix.
55259         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
55260         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
55261         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
55262         explicitly.
55263         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
55264         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
55266 2011-06-12  Bruno Haible  <bruno@clisp.org>
55268         spawn-pipe tests: Comments.
55269         * tests/test-spawn-pipe-child.c (main): Update comment.
55270         Reported by James Youngman <jay@gnu.org>.
55272 2011-06-11  James Youngman  <jay@gnu.org>
55274         New module 'stat-size'.
55275         * modules/stat-size: New module.  Provides macros for accessing
55276         file size information in instances of struct stat.  Depends on the
55277         fileblocks module because it calls st_blocks.
55278         * lib/stat-size.h: New file, adapted from coreutils' system.h.
55279         * doc/gnulib.texi: Include stat-size.texi.
55280         * doc/stat-size.texi: Documentation for this module.
55281         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
55282         * m4/fileblocks.m4: Mention that stat-size depends on the call to
55283         AC_STRUCT_ST_BLOCKS.
55285 2011-06-09  Bruno Haible  <bruno@clisp.org>
55287         thread: Support pthreads-win32.
55288         * lib/glthread/thread.h (gl_thread_self): Define differently on
55289         pthreads-win32.
55290         (gl_null_thread): New declaration.
55291         (gl_thread_self_pointer): New macro.
55292         * lib/glthread/thread.c (gl_null_thread): New constant.
55293         * tests/test-lock.c: Use gl_thread_self_pointer instead of
55294         gl_thread_self.
55295         * tests/test-tls.c: Likewise.
55296         Suggested by Paul Eggert. Reported by Eric Blake.
55298 2011-06-09  Bruno Haible  <bruno@clisp.org>
55300         thread: Fix confusion between NULL and 0.
55301         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
55302         Reported by Paul Eggert.
55304 2011-06-09  Bruno Haible  <bruno@clisp.org>
55306         spawn-pipe tests: Avoid test failure on HP-UX 11.
55307         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
55308         is closed.
55310 2011-06-09  Bruno Haible  <bruno@clisp.org>
55312         acl tests: Fix compilation error on HP-UX 11.
55313         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
55315 2011-06-09  Bruno Haible  <bruno@clisp.org>
55317         rmdir: Avoid test failure on HP-UX 10.20.
55318         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
55319         EEXIST.
55321 2011-06-08  Eric Blake  <eblake@redhat.com>
55323         perror: fix test on mingw
55324         * modules/perror-tests (Depends-on): Add dup2.
55326         strerror_r-posix: fix on MacOS
55327         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
55328         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
55329         logic bug.
55330         * lib/strerror_r.c (strerror_r): Fix the bug.
55331         * lib/strerror.c (strerror): Likewise.
55332         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
55333         problem.
55334         * doc/posix-functions/strerror.texi (strerror): Likewise.
55335         * doc/posix-functions/perror.texi (perror): Likewise.
55336         * tests/test-strerror.c (main): Enhance test.
55337         * tests/test-strerror_r.c (main): Likewise.
55339 2011-06-08  Bruno Haible  <bruno@clisp.org>
55341         gnulib-tool: Better isolation between different gnulib-tool invocations.
55342         * gnulib-tool: New option --witness-c-macro.
55343         (witness_c_macro): New variable.
55344         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
55345         AM_CPPFLAGS define it as a C macro.
55346         (func_emit_tests_Makefile_am): Likewise.
55347         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
55348         read it from there.
55349         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
55350         m4_define, not AC_DEFUN.
55351         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
55352         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
55353         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
55354         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
55355         s|...|...|, to substitute the values of the GNULIB_* module indicator
55356         variables.
55357         * modules/dirent (Makefile.am): Likewise.
55358         * modules/fcntl-h (Makefile.am): Likewise.
55359         * modules/iconv-h (Makefile.am): Likewise.
55360         * modules/langinfo (Makefile.am): Likewise.
55361         * modules/locale (Makefile.am): Likewise.
55362         * modules/math (Makefile.am): Likewise.
55363         * modules/netdb (Makefile.am): Likewise.
55364         * modules/poll-h (Makefile.am): Likewise.
55365         * modules/pty (Makefile.am): Likewise.
55366         * modules/search (Makefile.am): Likewise.
55367         * modules/signal (Makefile.am): Likewise.
55368         * modules/spawn (Makefile.am): Likewise.
55369         * modules/stdio (Makefile.am): Likewise.
55370         * modules/stdlib (Makefile.am): Likewise.
55371         * modules/string (Makefile.am): Likewise.
55372         * modules/sys_ioctl (Makefile.am): Likewise.
55373         * modules/sys_select (Makefile.am): Likewise.
55374         * modules/sys_socket (Makefile.am): Likewise.
55375         * modules/sys_stat (Makefile.am): Likewise.
55376         * modules/sys_times (Makefile.am): Likewise.
55377         * modules/sys_utsname (Makefile.am): Likewise.
55378         * modules/sys_wait (Makefile.am): Likewise.
55379         * modules/termios (Makefile.am): Likewise.
55380         * modules/time (Makefile.am): Likewise.
55381         * modules/unistd (Makefile.am): Likewise.
55382         * modules/wchar (Makefile.am): Likewise.
55384 2011-06-08  Eric Blake  <eblake@redhat.com>
55386         strerror: simplify replacement
55387         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
55388         * modules/strerror (configure.ac): No prereqs needed here...
55389         * modules/strerror-override (configure.ac): ...but this needs it.
55390         (Files): Add file for needed prereq macro.
55392 2011-06-08  Bruno Haible  <bruno@clisp.org>
55394         strerror_r-posix: Tweaks.
55395         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
55396         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
55397         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
55398         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
55399         (gl_FUNC_STRERROR_R): ... to here.
55400         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
55402 2011-06-07  Eric Blake  <eblake@redhat.com>
55404         perror: document fixed bugs
55405         * doc/posix-functions/perror.texi (perror): Document recent
55406         patches.
55408 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
55410         stat-time: get_stat_birthtime failure is better-defined
55411         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
55412         return a timestamp whose tv_sec and tv_nsec values are both -1.
55413         Previously, the spec said only that the tv_nsec value was negative.
55414         This upward-compatible change simplifies GNU tar a bit.
55416 2011-06-07  Eric Blake  <eblake@redhat.com>
55418         strerror_r-posix: work around cygwin 1.7.9
55419         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
55420         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
55421         bug without replacing strerror_r.
55422         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
55423         strerror_r is buggy, but without requiring strerror_r compilation.
55424         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
55426         test-perror: relax test to ignore cygwin bug
55427         * tests/test-perror2.c (main): Relax test on requiring detection
55428         of stream errors, and use unbuffered stream.
55429         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
55430         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
55431         * doc/posix-functions/fputc.texi (fputc): Likewise.
55432         * doc/posix-functions/fputs.texi (fputs): Likewise.
55433         * doc/posix-functions/fputws.texi (fputws): Likewise.
55434         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
55435         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
55436         * doc/posix-functions/getopt.texi (getopt): Likewise.
55437         * doc/posix-functions/perror.texi (perror): Likewise.
55438         * doc/posix-functions/printf.texi (printf): Likewise.
55439         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
55440         * doc/posix-functions/psignal.texi (psignal): Likewise.
55441         * doc/posix-functions/putc.texi (putc): Likewise.
55442         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
55443         Likewise.
55444         * doc/posix-functions/putchar.texi (putchar): Likewise.
55445         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
55446         Likewise.
55447         * doc/posix-functions/puts.texi (puts): Likewise.
55448         * doc/posix-functions/putwc.texi (putwc): Likewise.
55449         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
55450         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
55451         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55452         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
55453         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55454         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
55455         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
55456         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
55458 2011-05-22  Bruno Haible  <bruno@clisp.org>
55460         strerror: Move AC_LIBOBJ invocations to module description.
55461         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
55462         gl_PREREQ_STRERROR invocations from here...
55463         * modules/strerror (configure.ac): ... to here.
55465 2011-05-21  Bruno Haible  <bruno@clisp.org>
55467         perror: Use common idiom.
55468         * modules/perror (configure.ac): Reorder statements.
55470 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55472         tests: fix usage message in 'mktempd_'
55473         * tests/init.sh (mktempd_): In the usage message, use literal
55474         'mktempd_', not '$ME' (which is even undefined), as the name of
55475         the subroutine.
55477 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55479         tests init: new function 'fatal_', for hard errors
55480         Before this patch, the only way offered by tests/init.sh to
55481         properly signal a hard error was the `framework_failure_'
55482         function.  But the error message issued by that function,
55483         as its name would suggest, refers to a set-up failure in the
55484         testsuite, while hard errors can obviously also be due to
55485         other reasons.  The best way to fix this inconsistency is to
55486         introduce a new function with a more general error message.
55487         * tests/init.sh (fatal_): New function.
55489 2011-06-06  Eric Blake  <eblake@redhat.com>
55491         canonicalize-lgpl: use common idiom
55492         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
55493         over newer POSIX -Rf.
55494         Reported by Bruno Haible.
55496         canonicalize-lgpl: work around AIX realpath bug
55497         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
55498         * doc/posix-functions/realpath.texi (realpath): Document it.
55499         Reported by Bruno Haible.
55501         strerror: work around FreeBSD bug
55502         * lib/strerror.c (strerror): Special case 0.
55503         Reported by Bruno Haible.
55505         strerror-override: avoid bloating errno module
55506         * modules/errno (Files, configure.ac): Move replacement strings...
55507         * modules/strerror-override: ...to new module.
55508         * modules/strerror (Depends-on): Add strerror-override.
55509         * modules/strerror_r-posix (Depends-on): Likewise.
55510         * MODULES.html.sh: Document new module.
55511         Reported by Bruno Haible.
55513 2011-06-06  Bruno Haible  <bruno@clisp.org>
55515         spawn-pipe tests: Rename program.
55516         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
55517         * tests/test-spawn-pipe-child.c: Update comment.
55518         * tests/test-spawn-pipe.sh: Update.
55519         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
55521         spawn-pipe tests: Link the child program only against libc.
55522         * tests/test-spawn-pipe-child.c: New file, extracted from
55523         tests/test-spawn-pipe.c.
55524         (main): Expect only one argument.
55525         (is_open): New function, copied from tests/test-pipe.c.
55526         * tests/test-spawn-pipe.c: Don't include <errno.h>.
55527         (child_main): Remove function.
55528         (test_pipe): Pass only one argument to the child program.
55529         (main): Remove child process code. Expect the child program's name as
55530         first argument.
55531         * tests/test-spawn-pipe.sh: Pass the child program's name as first
55532         argument.
55533         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
55534         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
55535         test-spawn-pipe-child against no libraries.
55537 2011-06-06  Bruno Haible  <bruno@clisp.org>
55539         careadlinkat: Avoid mismatch between ssize_t and int.
55540         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
55541         * lib/careadlinkat.c (careadlinkatcwd): Define always.
55543 2011-06-06  Jim Meyering  <meyering@redhat.com>
55545         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
55546         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
55547         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
55549 2011-06-05  Bruno Haible  <bruno@clisp.org>
55551         ansi-c++-opt: Interoperability with libtool.
55552         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
55553         set the variable to "no", not to ":".
55554         * NEWS: Mention the change.
55556 2011-06-05  Bruno Haible  <bruno@clisp.org>
55558         acl: Fix test failure on AIX 7.
55559         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
55560         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
55562 2011-06-05  Bruno Haible  <bruno@clisp.org>
55564         pipe-filter-ii: Fix test failure on AIX and IRIX.
55565         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
55566         with EAGAIN, retry with a smaller buffer size.
55568 2011-06-05  Bruno Haible  <bruno@clisp.org>
55570         localename: Fix link dependencies.
55571         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
55572         * modules/localename-tests (Makefile.am): Link test-localename with
55573         $(LIBTHREAD).
55575 2011-06-05  Bruno Haible  <bruno@clisp.org>
55577         error: Avoid gcc warning.
55578         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
55580 2011-06-05  Bruno Haible  <bruno@clisp.org>
55582         unsetenv: Avoid gcc warning.
55583         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
55585 2011-06-05  Bruno Haible  <bruno@clisp.org>
55587         setenv: Avoid gcc warning.
55588         * lib/setenv.c (setenv): Provide declaration if system lacks it.
55590 2011-06-05  Bruno Haible  <bruno@clisp.org>
55592         sys_select: Ensure memset is declared also on AIX 7.
55593         * lib/sys_select.in.h: Include <string.h> also on AIX.
55594         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
55595         self-contained also on AIX 7.1.
55597 2011-06-04  Jim Meyering  <meyering@redhat.com>
55599         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
55600         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
55601         function name, "error".
55602         (_gl_translatable_diag_func_re): New configurable variable.
55604 2011-06-04  Bruno Haible  <bruno@clisp.org>
55606         getopt: Avoid gcc warning.
55607         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
55609 2011-06-04  Bruno Haible  <bruno@clisp.org>
55611         strerror_r: Fix comments.
55612         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
55613         commit.
55615 2011-06-04  Bruno Haible  <bruno@clisp.org>
55617         perror: Fix compilation error.
55618         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
55619         Undefine fprintf, not sprintf.
55620         * modules/perror (Depends-on): Remove intprops, verify.
55622 2011-06-04  Bruno Haible  <bruno@clisp.org>
55624         setlocale: Enable replacement on Cygwin 1.5.
55625         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
55626         Cygwin 1.5.x.
55627         * doc/posix-functions/setlocale.texi: Mention that the problem with the
55628         LC_CTYPE category also exists on Cygwin 1.5.x.
55630 2011-06-04  Bruno Haible  <bruno@clisp.org>
55632         strerror-override: Don't disable symbol renamings.
55633         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
55634         * lib/strerror-override.c: Include config.h.
55635         (strerror_override): Don't undefine.
55637 2011-06-03  Bruno Haible  <bruno@clisp.org>
55639         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
55640         * lib/localename.h: Update copyright header.
55641         * lib/localename.c: Likewise.
55642         * lib/relocatable.h: Likewise.
55643         * lib/relocatable.c: Likewise.
55645 2011-06-02  Bruno Haible  <bruno@clisp.org>
55647         doc: Fix a module name.
55648         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
55650 2011-06-02  Bruno Haible  <bruno@clisp.org>
55652         pipe2: Remove dependency on 'nonblocking' module.
55653         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
55654         O_NONBLOCK is defined by gnulib.
55655         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
55656         is zero.
55657         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
55658         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
55659         defined by gnulib.
55660         (get_nonblocking_flag): New function.
55661         (main): Test O_NONBLOCK flag only if it is nonzero.
55662         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
55664 2011-06-03  Jim Meyering  <meyering@redhat.com>
55666         maint: three new prohibit-header-without-use rules
55667         Prohibit use of cloexec.h, posixver.h, same.h without use.
55668         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
55669         (sc_prohibit_posixver_without_use): Likewise.
55670         (sc_prohibit_same_without_use): Likewise.
55672 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55674         allocator: 'die' routine is now given requested size
55675         * lib/allocator.h (struct allocator.die): New size arg.
55676         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
55677         If the actual problem is an ssize_t limitation, not a size_t or
55678         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
55680 2011-06-01  Eric Blake  <eblake@redhat.com>
55682         strerror: drop strerror_r dependency
55683         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
55684         * lib/strerror-override.c (strerror_override): ...to new file.
55685         * lib/strerror-override.h: Add prototype.
55686         * lib/strerror-impl.h: Delete.
55687         * lib/strerror.c (strerror): New implementation.
55688         * modules/errno (Files): Add new files.
55689         (configure.ac): Compile new file as appropriate.
55690         * modules/strerror (Files): Drop unused file.
55691         (Depends-on): Drop strerror_r-posix.
55692         * MODULES.html.sh: Document strerror_r-posix.
55693         Requested by Sam Steingold.
55695         perror: call strerror_r directly
55696         * modules/perror (Files): Drop strerror-impl.h.
55697         * lib/perror.c (perror): Use our own stack buffer, rather than
55698         calling a wrapper that uses static storage.
55699         * doc/posix-functions/perror.texi (perror): Document a limitation
55700         of our replacement.
55702         strerror_r: fix includes for FreeBSD
55703         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
55704         since we use abort on some platforms.
55705         Reported by Matthias Bolte.
55707 2011-05-31  Bruno Haible  <bruno@clisp.org>
55709         Fix link errors in tests: openat-die uses gettext-h.
55710         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
55711         against $(LIBINTL).
55712         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
55713         against $(LIBINTL).
55714         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
55715         $(LIBINTL).
55716         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
55717         against $(LIBINTL).
55718         * modules/linkat-tests (Makefile.am): Link test-linkat against
55719         $(LIBINTL).
55720         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
55721         $(LIBINTL).
55722         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
55723         against $(LIBINTL).
55724         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
55725         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
55726         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
55727         $(LIBINTL).
55728         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
55729         $(LIBINTL).
55730         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
55731         $(LIBINTL).
55732         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55734 2011-05-31  Bruno Haible  <bruno@clisp.org>
55736         Fix link errors in tests: wait-process uses gettext-h.
55737         * modules/nonblocking-pipe-tests (Makefile.am): Set
55738         test_nonblocking_pipe_main_LDADD.
55739         * modules/nonblocking-socket-tests (Makefile.am): Link
55740         test-nonblocking-socket-main against $(LIBINTL).
55741         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55743 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
55745         assert-h: work around 'verify' incompatibility
55746         * lib/verify.h: Use @...@ directives, not ifdef.
55747         * modules/assert-h (assert.h): Implement the directives.
55748         (assert.h): Substitute the symbol-prefix more consistently.
55750 2011-05-29  Jim Meyering  <meyering@redhat.com>
55752         trim: remove three superfluous assignments
55753         * lib/trim.c (trim2): Remove three superfluous assignments
55754         and correct brace positioning.
55756 2011-05-29  Bruno Haible  <bruno@clisp.org>
55758         wctype-h: Avoid namespace pollution on Solaris 2.6.
55759         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
55760         identifiers.
55761         * doc/posix-headers/wctype.texi: Mention the problem.
55762         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55764 2011-05-28  Jim Meyering  <meyering@redhat.com>
55766         parse-datetime.y: accommodate -Wstrict-overflow
55767         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
55768         placate -Wstrict-overflow.
55770         trim: avoid a warning from -O2 -Wstrict-overflow
55771         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
55773 2011-05-29  Bruno Haible  <bruno@clisp.org>
55775         gnulib-tool: Fix bug in yesterday's commit.
55776         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
55777         twice.
55779 2011-05-29  Bruno Haible  <bruno@clisp.org>
55781         Allow multiple gnulib generated include files to be combined.
55782         * gnulib-tool (func_compute_include_guard_prefix): New function.
55783         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
55784         ${gl_include_guard_prefix} references.
55785         (func_import, func_create_testdir): Invoke
55786         func_compute_include_guard_prefix.
55787         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
55788         * lib/ctype.in.h: Likewise.
55789         * lib/dirent.in.h: Likewise.
55790         * lib/errno.in.h: Likewise.
55791         * lib/fcntl.in.h: Likewise.
55792         * lib/float.in.h: Likewise.
55793         * lib/getopt.in.h: Likewise.
55794         * lib/iconv.in.h: Likewise.
55795         * lib/langinfo.in.h: Likewise.
55796         * lib/locale.in.h: Likewise.
55797         * lib/math.in.h: Likewise.
55798         * lib/netdb.in.h: Likewise.
55799         * lib/netinet_in.in.h: Likewise.
55800         * lib/poll.in.h: Likewise.
55801         * lib/pthread.in.h: Likewise.
55802         * lib/pty.in.h: Likewise.
55803         * lib/sched.in.h: Likewise.
55804         * lib/se-selinux.in.h: Likewise.
55805         * lib/search.in.h: Likewise.
55806         * lib/signal.in.h: Likewise.
55807         * lib/spawn.in.h: Likewise.
55808         * lib/stdarg.in.h: Likewise.
55809         * lib/stddef.in.h: Likewise.
55810         * lib/stdint.in.h: Likewise.
55811         * lib/stdio.in.h: Likewise.
55812         * lib/stdlib.in.h: Likewise.
55813         * lib/string.in.h: Likewise.
55814         * lib/strings.in.h: Likewise.
55815         * lib/sys_file.in.h: Likewise.
55816         * lib/sys_ioctl.in.h: Likewise.
55817         * lib/sys_select.in.h: Likewise.
55818         * lib/sys_socket.in.h: Likewise.
55819         * lib/sys_stat.in.h: Likewise.
55820         * lib/sys_time.in.h: Likewise.
55821         * lib/sys_times.in.h: Likewise.
55822         * lib/sys_uio.in.h: Likewise.
55823         * lib/sys_utsname.in.h: Likewise.
55824         * lib/sys_wait.in.h: Likewise.
55825         * lib/sysexits.in.h: Likewise.
55826         * lib/termios.in.h: Likewise.
55827         * lib/time.in.h: Likewise.
55828         * lib/unistd.in.h: Likewise.
55829         * lib/wchar.in.h: Likewise.
55830         * lib/wctype.in.h: Likewise.
55831         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
55832         * modules/ctype (Makefile.am): Likewise.
55833         * modules/dirent (Makefile.am): Likewise.
55834         * modules/errno (Makefile.am): Likewise.
55835         * modules/fcntl-h (Makefile.am): Likewise.
55836         * modules/float (Makefile.am): Likewise.
55837         * modules/getopt-posix (Makefile.am): Likewise.
55838         * modules/iconv-h (Makefile.am): Likewise.
55839         * modules/langinfo (Makefile.am): Likewise.
55840         * modules/locale (Makefile.am): Likewise.
55841         * modules/math (Makefile.am): Likewise.
55842         * modules/netdb (Makefile.am): Likewise.
55843         * modules/netinet_in (Makefile.am): Likewise.
55844         * modules/poll-h (Makefile.am): Likewise.
55845         * modules/pthread (Makefile.am): Likewise.
55846         * modules/pty (Makefile.am): Likewise.
55847         * modules/sched (Makefile.am): Likewise.
55848         * modules/search (Makefile.am): Likewise.
55849         * modules/selinux-h (Makefile.am): Likewise.
55850         * modules/signal (Makefile.am): Likewise.
55851         * modules/spawn (Makefile.am): Likewise.
55852         * modules/stdarg (Makefile.am): Likewise.
55853         * modules/stddef (Makefile.am): Likewise.
55854         * modules/stdint (Makefile.am): Likewise.
55855         * modules/stdio (Makefile.am): Likewise.
55856         * modules/stdlib (Makefile.am): Likewise.
55857         * modules/string (Makefile.am): Likewise.
55858         * modules/strings (Makefile.am): Likewise.
55859         * modules/sys_file (Makefile.am): Likewise.
55860         * modules/sys_ioctl (Makefile.am): Likewise.
55861         * modules/sys_select (Makefile.am): Likewise.
55862         * modules/sys_socket (Makefile.am): Likewise.
55863         * modules/sys_stat (Makefile.am): Likewise.
55864         * modules/sys_time (Makefile.am): Likewise.
55865         * modules/sys_times (Makefile.am): Likewise.
55866         * modules/sys_uio (Makefile.am): Likewise.
55867         * modules/sys_utsname (Makefile.am): Likewise.
55868         * modules/sys_wait (Makefile.am): Likewise.
55869         * modules/sysexits (Makefile.am): Likewise.
55870         * modules/termios (Makefile.am): Likewise.
55871         * modules/time (Makefile.am): Likewise.
55872         * modules/unistd (Makefile.am): Likewise.
55873         * modules/wchar (Makefile.am): Likewise.
55874         * modules/wctype-h (Makefile.am): Likewise.
55875         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
55877 2011-05-29  Bruno Haible  <bruno@clisp.org>
55879         assert-h: Allow multiple gnulib generated replacements to coexist.
55880         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
55882 2011-05-29  Bruno Haible  <bruno@clisp.org>
55884         argp: Allow coexistence with strerror_r-posix module.
55885         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
55886         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
55887         by gnulib's <string.h> replacement), assume it has the POSIX signature,
55888         not the glibc signature.
55890 2011-05-28  Bruno Haible  <bruno@clisp.org>
55892         gnulib-tool: Alternative structure of testdirs, similar to --import.
55893         * gnulib-tool: New option --single-configure.
55894         (func_usage): Document it.
55895         (single_configure): New variable.
55896         (func_modules_transitive_closure_separately,
55897         func_modules_transitive_closure_separately,
55898         func_determine_use_libtests, func_modules_add_dummy_separately,
55899         func_modules_to_filelist_separately): New functions, extracted from
55900         func_import.
55901         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
55902         (func_import): Use the new functions.
55903         (func_create_testdir): Set final_modules. Handle $single_configure =
55904         true case.
55906 2011-05-28  Bruno Haible  <bruno@clisp.org>
55908         getloadavg: Remove an unreliable safety check.
55909         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
55910         getloadavg.c is in place.
55911         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
55912         Reported by Sam Steingold <sds@gnu.org>.
55914 2011-05-28  Bruno Haible  <bruno@clisp.org>
55916         doc: Cleanup yet another file produced by texinfo.tex.
55917         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
55919 2011-05-28  Bruno Haible  <bruno@clisp.org>
55921         Finish the conditional dependencies mechanism.
55922         * gnulib-tool: New option --no-conditional-dependencies.
55923         (func_usage): Document it. Don't mark --conditional-dependencies as
55924         experimental.
55925         (cond_dependencies): The possible values can now be true, false, empty.
55926         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
55927         (func_import): Store setting in gnulib-cache.m4 and read it from there.
55928         * doc/gnulib-tool.texi (Conditional dependencies): New section.
55930 2011-05-28  Bruno Haible  <bruno@clisp.org>
55932         doc: Use a recent texinfo.tex.
55933         * doc/Makefile (tex_opts): New variable.
55934         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
55936 2011-05-28  Jim Meyering  <meyering@redhat.com>
55938         intprops.h: adjust comment to match code change
55939         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
55940         only once, it *may* have side effects.  Also fix an unrelated typo.
55941         (_GL_INT_SIGNED): Likewise.
55943 2011-05-26  Simon Josefsson  <simon@josefsson.org>
55945         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
55947 2011-05-26  Bruno Haible  <bruno@clisp.org>
55949         mbsrchr: Avoid collision with system function on Interix.
55950         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
55951         Reported by Markus Duft <mduft@gentoo.org>.
55953 2011-05-15  James Youngman  <jay@gnu.org>
55955         getopt: for ambiguous options, enumerate the possibilities.
55956         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
55957         the ambiguous options when an ambiguous prefix is given. This was
55958         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
55959         glibc change was
55960         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
55962 2011-05-25  Eric Blake  <eblake@redhat.com>
55964         getcwd: work around mingw bug
55965         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
55966         * doc/posix-functions/getcwd.texi (getcwd): Document it.
55967         Reported by Matthias Bolte.
55969 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
55971         test-intprops: disable -Wtype-limits diagnostics
55972         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
55973         diagnostics.  Otherwise, the integer overflow macros generate many
55974         diagnostics.  Reported by Jim Meyering in
55975         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55977         intprops: shorten, to pacify gcc -Woverlength-strings
55978         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
55979         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
55980         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
55981         likely to run afoul of C compiler limits for string constant lengths.
55982         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55984 2011-05-24  Eric Blake  <eblake@redhat.com>
55986         docs: document recently fixed glibc printf bug
55987         * doc/posix-functions/fprintf.texi (fprintf): Document it.
55988         * doc/posix-functions/printf.texi (printf): Likewise.
55989         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55990         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55992         closein-tests: convert to init.sh
55993         * modules/closein-tests (Files): Add init.sh
55994         * tests/test-closein.sh Use it.
55996         yesno-tests: convert to init.sh
55997         * modules/yesno-tests (Files): Add init.sh.
55998         * tests/test-yesno.sh: Use it.
56000         atexit-tests: ensure reliable exit status
56001         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
56002         Reported by Bruno Haible.
56004 2011-05-24  Bruno Haible  <bruno@clisp.org>
56006         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
56007         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
56008         gl_PREREQ_STRERROR_R invocations from here...
56009         * modules/strerror_r-posix (configure.ac): ... to here.
56011 2011-05-24  Eric Blake  <eblake@redhat.com>
56013         strerror_r: fix missing header
56014         * lib/strerror_r.c: Avoid compiler warning about snprintf.
56016         strerror_r: fix AIX test failures
56017         * lib/strerror_r.c (strerror_r): Convert silent truncation to
56018         ERANGE failure.
56020         strerror_r: fix Solaris test failures
56021         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
56022         failures.
56023         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
56025         strerror_r: enforce POSIX recommendations
56026         * lib/strerror_r.c (safe_copy): New helper method.
56027         (strerror_r): Guarantee a non-empty string.
56028         * tests/test-strerror_r.c (main): Enhance tests to incorporate
56029         recent POSIX rulings and to match our strerror guarantees.
56030         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
56032 2011-05-24  Jim Meyering  <meyering@redhat.com>
56034         test-perror2.c: avoid warning about unused variable
56035         * tests/test-perror2.c (main): Remove declaration of unused "fp".
56037 2011-05-24  Eric Blake  <eblake@redhat.com>
56039         perror: avoid spurious test failure on HP-UX
56040         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
56042         tests: fix logic bug in init.sh
56043         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
56044         shell.
56046 2011-05-24  Jim Meyering  <meyering@redhat.com>
56048         utimensat: do not reference an out-of-scope buffer
56049         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
56050         declared in an inner scope, yet "times" would be dereferenced outside
56051         the scope in which "ts" was valid.
56052         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
56053         of ts[2] "out/up", so that the use of aliased "times" (via
56054         "times = ts;") does not end up referencing an out-of-scope "ts"
56056         opendir-safer.c: don't clobber errno; don't close negative FD
56057         * lib/opendir-safer.c (opendir_safer):
56058         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
56059         file descriptor, and more importantly, don't clobber the
56060         offending errno value with EINVAL.  Before, upon failure
56061         of dup_safer, we would pass the negative file descriptor to
56062         fdopendir, which would clobber errno.
56064 2011-05-23  Bruno Haible  <bruno@clisp.org>
56066         idcache: Fix module description.
56067         * modules/idcache (Include): Set to "idcache.h".
56069 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
56071         gnulib-tool: fix portability problem with MacOS sed
56072         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
56073         before the "}".  Problem reported by Leo in
56074         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
56075         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
56076         sed_extract_condition1, sed_extract_condition2.
56078 2011-05-23  Bruno Haible  <bruno@clisp.org>
56080         hash: Simplify autoconf macro.
56081         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
56083 2011-05-23  Bruno Haible  <bruno@clisp.org>
56085         getugroups: Fix module description.
56086         * modules/getugroups (Include): Set to "getugroups.h".
56088 2011-05-23  Bruno Haible  <bruno@clisp.org>
56090         linkat: Simplify autoconf macro.
56091         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
56093 2011-05-23  Bruno Haible  <bruno@clisp.org>
56094             Eric Blake  <eblake@redhat.com>
56096         linkat, renameat: Update dependencies.
56097         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
56098         * modules/linkat (Depends-on): Likewise. Remove also readlink,
56099         symlinkat.
56101 2011-05-23  Jim Meyering  <meyering@redhat.com>
56103         maint.mk: more tight_scope improvements
56104         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
56105         (_gl_TS_headers): Define only in if-0'd block.
56106         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
56107         sometimes we must *not* use it.  Adjust uses accordingly.
56108         (sc_tight_scope): Use much simpler grep-based test to determine
56109         whether we skip this rule.
56111         maint.mk: generalize/improve the tight-scope rule
56112         * top/maint.mk: Emit a warning when the test is skipped.
56113         (_gl_TS_dir): Add $(srcdir)/ prefix.
56114         (_gl_TS_function_match): Simplify, rather than trying
56115         to enumerate common types.  Otherwise, it would fail to match an
56116         "extern unsigned char const *" declaration in idutils.
56117         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
56118         a way to support use of that type of macro.
56119         (_gl_TS_var_match): Simplify regexp.
56120         (_gl_TS_obj_files): New configurable variable.
56121         (_gl_TS_headers): Likewise.
56123 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56125         verify: fix bug when gnulib <assert.h> is also included
56126         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
56127         is defined, not if _GL_STATIC_ASSERT_H is not defined.
56128         Perhaps there's a better way, but this fixes the immediate problem.
56129         Problem reported by Bruno Haible in
56130         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
56132 2011-05-22  Bruno Haible  <bruno@clisp.org>
56134         xgetcwd: Simplify autoconf macro.
56135         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
56137 2011-05-22  Bruno Haible  <bruno@clisp.org>
56139         New module 'mktime-internal'.
56140         * modules/mktime-internal: New file.
56141         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
56142         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
56143         mktime_internal as a C macro if libc has __mktime_internal.
56144         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
56145         conditions.
56146         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
56148 2011-05-22  Bruno Haible  <bruno@clisp.org>
56150         timegm: Correct mktime replacement statements.
56151         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
56152         defining mktime as a C macro. This completes a 2009-07-28 commit.
56154 2011-05-22  Bruno Haible  <bruno@clisp.org>
56156         timegm: Simplify autoconf macro.
56157         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
56159 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
56161         clock-time: change to LGPLv2+.
56162         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
56163         BSD-like but we have no mark for that; this is good enough for now.
56165 2011-05-21  Bruno Haible  <bruno@clisp.org>
56167         strerror_r: Fix comments.
56168         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
56170 2011-05-21  Bruno Haible  <bruno@clisp.org>
56172         relocatable-prog-wrapper: Fix possible link error.
56173         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
56174         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
56175         (gl_FUNC_SETENV): ... to here.
56176         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
56177         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
56179 2011-05-21  Bruno Haible  <bruno@clisp.org>
56181         relocatable-prog-wrapper: Assume strerror() exists.
56182         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
56183         m4/strerror.m4.
56184         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
56185         * lib/relocwrapper.c: Remove mention of strerror module.
56186         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
56187         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
56188         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
56189         C macro.
56191 2011-05-21  Bruno Haible  <bruno@clisp.org>
56193         select: Simplify replacement idiom.
56194         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
56195         Win32 platforms.
56196         * lib/sys_select.in.h (select): Simplify accordingly.
56197         * modules/select (Depends-on): Likewise.
56199 2011-05-21  Bruno Haible  <bruno@clisp.org>
56201         mkdir-p: Simplify autoconf macro.
56202         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
56203         gl_FUNC_LCHOWN.
56205 2011-05-21  Eric Blake  <eblake@redhat.com>
56207         strerror_r: avoid clobbering strerror on cygwin
56208         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
56209         fall back instead to sys_errlist.
56210         * modules/strerror (configure.ac): Add witness.
56211         * tests/test-strerror_r.c (main): Enhance test.
56212         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
56213         * tests/test-perror2.c (main): Free memory before exit.
56215 2011-05-21  Bruno Haible  <bruno@clisp.org>
56217         mkdtemp: Use gnulib naming conventions.
56218         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
56219         * modules/mkdtemp (configure.ac): Update.
56221 2011-05-20  Eric Blake  <eblake@redhat.com>
56223         strerror_r: avoid corrupting errno on Solaris
56224         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
56225         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
56227         strerror_r: avoid compiler warning
56228         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
56230         strerror_r: simplify AIX code
56231         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
56233         test-perror: avoid spurious failure on FreeBSD
56234         * modules/perror-tests (Depends-on): Add strerror, now that
56235         strerror_r no longer pulls it in.
56237 2011-05-20  Bruno Haible  <bruno@clisp.org>
56239         strerror_r-posix: Remove unused dependencies.
56240         * modules/strerror_r-posix (Depends-on): Remove strerror.
56241         Reported by Eric Blake.
56243 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56245         intprops: remove assumption about A|B representation
56246         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
56247         is a valid integer if both A and B are.  Although this is true for
56248         all known practical hosts, the C standard doesn't guarantee it,
56249         and the code need not assume it.  Also, this change may work around
56250         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
56251         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
56253 2011-05-20  Eric Blake  <eblake@redhat.com>
56255         perror: work around FreeBSD bug
56256         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
56257         is broken.  Move AC_LIBOBJ...
56258         * modules/perror (configure.ac): Here.
56259         * doc/posix-functions/perror.texi (perror): Document this.
56260         * tests/test-perror2.c (main): Enhance test.
56262         test-perror: check for strerror interactions
56263         * tests/macros.h (STREQ): Add macro.
56264         * modules/perror-tests (Files): Add second test.
56265         * tests/test-perror2.c (main): New file.
56266         * doc/posix-functions/perror.texi (perror): Document glibc bug.
56268         test-perror: rewrite to use init script
56269         * modules/perror-tests (Files): Add init.sh.
56270         * tests/test-perror.sh: Use temporary directory.
56272 2011-05-20  Jim Meyering  <meyering@redhat.com>
56274         maint: replace misused "a" with "an"
56275         * doc/intprops.texi: "a integer"
56276         * doc/regex.texi: "a explanation"
56277         * lib/alignof.h: "a object"
56278         * lib/argmatch.h: "a explanation"
56279         * lib/argp-help.c: "a option" and "a OPTION_DOC"
56280         * lib/stdint.in.h: "a integer"
56281         * lib/userspec.c: "a owner"
56282         * doc/gnulib.texi: Fix "a idea", and reword.
56284 2011-05-19  Jim Meyering  <meyering@redhat.com>
56286         maint: correct misuse of "a" and "an"
56287         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
56288         * lib/argp-help.c: "an docum...": s/an/a/
56289         * lib/argp-parse.c: "An vector": s/An/A/
56290         * lib/execute.c: "an native": s/an/a/
56291         * lib/spawn-pipe.c: Likewise.
56292         * lib/gc.h: "an Gc_rc": s/an/a/
56293         * lib/unigbrk.in.h: "an grapheme": s/an/a/
56294         * lib/fts.c: "an stat.st_dev": s/an/a/
56296 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56298         intprops-tests: work around HP-UX 11.23 cc bug with constants
56299         * tests/test-intprops.c (VERIFY): New macro.
56300         (main): Use it, instead of verify, to work around the compiler bug; see
56301         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56303         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
56304         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
56305         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
56306         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
56307         (_GL_REMAINDER_OVERFLOW): Use it.
56309         intprops-tests: revert unsigned part of previous change
56310         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
56311         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
56312         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
56313         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
56315 2011-05-19  Bruno Haible  <bruno@clisp.org>
56317         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
56318         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
56319         strerror_r() returned without filling the buffer.
56320         Reported by Eric Blake.
56322 2011-05-19  Eric Blake  <eblake@redhat.com>
56324         strerror_r: guarantee unchanged errno
56325         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
56326         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
56327         failure.
56328         * tests/test-strerror_r.c (main): Enhance test.
56330 2011-05-19  Bruno Haible  <bruno@clisp.org>
56332         strerror_r: Reorder #if blocks.
56333         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
56334         for consistency with the previous commit.
56336 2011-05-19  Bruno Haible  <bruno@clisp.org>
56338         perror: Avoid clobbering the strerror buffer when possible.
56339         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
56340         * lib/strerror.c: Include it.
56341         * modules/strerror (Files): Add lib/strerror-impl.h.
56342         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
56343         (my_strerror): New function, defined through lib/strerror-impl.h.
56344         (perror): Use it instead of strerror.
56345         * modules/perror (Files): Add lib/strerror-impl.h.
56346         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
56348 2011-05-19  Eric Blake  <eblake@redhat.com>
56350         strerror_r: fix on newer cygwin
56351         * lib/strerror_r.c (strerror_r): Cygwin now has
56352         __xpg_strerror_r, use it.
56354 2011-05-19  Bruno Haible  <bruno@clisp.org>
56356         strerror_r: Avoid clobbering the strerror buffer when possible.
56357         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
56358         (sys_nerr, sys_errlist): New declarations.
56359         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
56360         HP-UX, native Win32, IRIX, and 32-bit Solaris.
56361         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
56363 2011-05-19  Bruno Haible  <bruno@clisp.org>
56365         strerror_r: Fix test failure on mingw.
56366         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
56367         EXTEND_STRERROR_R.
56368         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
56369         macros from errno.in.h instead.
56371 2011-05-19  Eric Blake  <eblake@redhat.com>
56373         strerror: relax test for Solaris
56374         * tests/test-strerror.c (main): Permit Solaris behavior.
56375         * tests/test-strerror_r.c (main): Likewise.
56377         strerror: enforce POSIX ruling on strerror(0)
56378         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
56379         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
56380         * lib/strerror_r.c (rpl_strerror_r): Work around it.
56381         * doc/posix-functions/strerror.texi (strerror): Document it.
56382         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
56383         * tests/test-strerror.c (main): Strengthen test.
56384         * tests/test-strerror_r.c (main): Likewise.
56386 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56388         intprop-tests: port to older and more-pedantic compilers
56389         * modules/intprops-tests (Files): Add tests/macros.h.
56390         * tests/test-intprops.c: Include macros.h.
56391         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
56392         it's no longer documented to expand to an integer constant expression.
56393         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
56394         argument is floating point, as it's no longer documented to expand
56395         to an integer constant expression in that case.
56396         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
56397         compiler bugs reported by Bruno Haible.  See
56398         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56399         (U0, U1): New constants, to work around the same bugs.  Also,
56400         in tests, use e.g., "(unsigned int) 39" rather than "39u".
56402         intprops: work around C compiler bugs
56403         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
56404         bug in Sun C 5.11 2010/08/13 and other compilers; see
56405         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56407         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
56408         * doc/intprops.texi (Integer Type Determination): Fix
56409         documentation for TYPE_IS_INTEGER: it returns an constant
56410         expression, not an integer constant expression.  Fix doc for
56411         TYPE_SIGNED: it returns an integer constant expression only if its
56412         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
56413         hardly worth documented that way....)
56415 2011-05-18  Bruno Haible  <bruno@clisp.org>
56417         strerror_r: Avoid clobbering the strerror buffer when possible.
56418         * lib/strerror_r.c (strerror_r): Merge the three implementations.
56419         Handle gnulib defined errno values here. When strerror() returns NULL
56420         or an empty string, return EINVAL.
56421         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
56422         gnulib defined errno values here.
56423         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
56425 2011-05-18  Eric Blake  <eblake@redhat.com>
56427         fnmatch: avoid compiler warning
56428         * lib/fnmatch_loop.c (FCT): Use correct type.
56429         Reported by Matthias Bolte.
56431 2011-05-13  Jim Meyering  <meyering@redhat.com>
56433         maint.mk: three new prohibit_<HDR>_without_use rules
56434         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
56435         (sc_prohibit_stdio-safer_without_use): Likewise.
56436         (sc_prohibit_xfreopen_without_use): Likewise.
56438 2011-05-17  Jim Meyering  <meyering@redhat.com>
56440         announce-gen: fail if the NEWS delta is empty
56441         If there's nothing noteworthy in NEWS, then either you forgot
56442         or you shouldn't be releasing.
56443         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
56445 2011-05-17  Pádraig Brady  <P@draigBrady.com>
56447         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
56448         reserved symbols starting with double underscore from the check.
56450 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56452         intprops: add doc
56453         * doc/intprops.texi: New file, documenting intprops.
56454         * doc/gnulib.texi (Particular Modules): Include it.
56456         verify: add doc to gnulib manual and fix example
56457         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
56458         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
56459         (Compile-time Assertions): Fix example so it can't overflow.
56461 2011-05-17  Jim Meyering  <meyering@redhat.com>
56463         warnings.m4: don't usurp save_CPPFLAGS variable name
56464         * m4/warnings.m4: Prefix local temporary variable name with gl_.
56466         doc: fix typo
56467         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
56469 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56470             Bruno Haible  <bruno@clisp.org>
56472         doc: Tweak recent change.
56473         * README (Portability guidelines): Tweak new text.
56474         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
56475         Interix 6.1.
56477 2011-05-16  Eric Blake  <eblake@redhat.com>
56479         inttypes: avoid autoconf warning
56480         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
56481         * m4/stdint.m4 (gl_STDINT_H): Likewise.
56483 2011-05-16  Sam Steingold  <sds@gnu.org>
56484         and Eric Blake  <eblake@redhat.com>
56486         vc-list-files: accept multiple directory operands
56487         * build-aux/vc-list-files: Iterate over all remaining operands.
56489 2011-05-16  Bruno Haible  <bruno@clisp.org>
56491         Fix confusion regarding deprecated modules.
56492         * modules/calloc (Status, Notice): Mark module as deprecated, not
56493         obsolete.
56494         * modules/fnmatch-posix (Status, Notice): Likewise.
56495         * modules/getdate (Status, Notice): Likewise.
56496         * modules/getopt (Status, Notice): Likewise.
56497         * modules/malloc (Status, Notice): Likewise.
56498         * modules/pipe (Status, Notice): Likewise.
56499         * modules/realloc (Status, Notice): Likewise.
56500         * modules/rename-dest-slash (Status, Notice): Likewise.
56501         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
56502         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
56503         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
56504         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
56505         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
56507 2011-05-16  Bruno Haible  <bruno@clisp.org>
56509         doc: List the target platforms.
56510         * doc/gnulib-intro.texi (Target Platforms): New section.
56511         * doc/gnulib.texi (Introduction): Update menu.
56512         * README (Portability guidelines): Refer to the new section. Update
56513         statement about oldest supported environment. Remove rationale why
56514         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
56515         unportable C89 function.
56516         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
56517         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
56519 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56521         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
56523 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56525         intprops-tests: new module
56526         * modules/intprops-tests, tests/test-intprops.c: New files.
56528         intprops: add safe, portable integer overflow checking
56529         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
56530         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
56531         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
56532         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
56533         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
56534         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
56535         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
56536         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
56537         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
56538         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
56539         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
56541 2011-05-12  James Youngman  <jay@gnu.org>
56543         Add a test for glibc's Bugzilla bug #12378.
56544         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
56545         doesn't allow the literal matching of a lone "[" (which is
56546         required by POSIX).
56547         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
56549 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
56551         Sync glibc change fixing Bugzilla bug #12378.
56552         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
56553         beginning and fall back to matching as normal character if the
56554         string ends before the matching ']' is found.  This is what POSIX
56555         requires.
56557 2011-05-13  Eric Blake  <eblake@redhat.com>
56559         getcwd-lgpl: relax test for FreeBSD
56560         * doc/posix-functions/getcwd.texi (getcwd): Document portability
56561         issue.
56562         * tests/test-getcwd-lgpl.c (main): Relax test.
56563         Reported by Matthias Bolte.
56565 2011-05-11  Eric Blake  <eblake@redhat.com>
56567         test-fflush: silence compiler warning
56568         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
56570 2011-05-11  Bruno Haible  <bruno@clisp.org>
56572         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
56573         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
56574         * modules/canonicalize (Depends-on): Add 'nocrash'.
56575         * modules/canonicalize-lgpl (Depends-on): Likewise.
56576         * doc/posix-functions/realpath.texi: Update platforms list.
56577         Reported by Ryan Schmidt <ryandesign@macports.org>.
56579 2011-05-11  Bruno Haible  <bruno@clisp.org>
56581         group-member: Declare function in <unistd.h>.
56582         * lib/unistd.in.h (group_member): New declaration.
56583         * lib/group-member.h: Remove file.
56584         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
56585         * tests/test-unistd-c++.cc: Check signature of group_member.
56586         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
56587         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
56588         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
56589         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
56590         HAVE_GROUP_MEMBER.
56591         * modules/group-member (Files): Remove lib/group-member.h.
56592         (Depends-on): Add unistd. Specify conditions.
56593         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56594         (Include): Change to <unistd.h>.
56595         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
56596         HAVE_GROUP_MEMBER.
56597         * NEWS: Mention the change.
56598         * lib/euidaccess.c: Don't include group-member.h.
56600 2011-05-11  Bruno Haible  <bruno@clisp.org>
56602         group-member: Document module.
56603         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
56604         module.
56606 2011-05-11  Bruno Haible  <bruno@clisp.org>
56608         fclose: Fix mistake earlier today.
56609         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
56611 2011-05-11  Eric Blake  <eblake@redhat.com>
56613         fclose: preserve fflush errors
56614         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
56615         Reported by Jim Meyering.
56617         bootstrap: support a prereq of 'rpcgen -' on RHEL5
56618         * build-aux/bootstrap (check_versions): When no specific version
56619         is required, merely check that the app produces an exit status
56620         that indicates its existence.
56622         maint.mk: drop redundant check
56623         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
56624         the same but better.
56626 2011-05-11  Bruno Haible  <bruno@clisp.org>
56628         fclose: Fix possible link error.
56629         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
56630         unregister_shadow_fd. Improve comments.
56631         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
56632         Eric Blake.
56634 2011-05-11  Jim Meyering  <meyering@redhat.com>
56636         maint.mk: improve "can not" detection and generalize rule name
56637         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
56638         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
56639         Use the same technique as in sc_prohibit_doubled_word, so that
56640         we recognize "can not" also when the words are separated by a newline.
56641         Suggested by Eric Blake.
56642         (perl_filename_lineno_text_): Define.  Factored out of...
56643         (prohibit_doubled_word_): ...here.  Use the new definition.
56644         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
56645         (prohibit_undesirable_word_seq_RE_): New overridable variable.
56646         (ignore_undesirable_word_sequence_RE_): New overridable variable.
56648 2011-05-10  Eric Blake  <eblake@redhat.com>
56650         fclose: avoid double close race when possible
56651         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
56652         all but WINDOWS_SOCKETS.
56654 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
56656         openat: correct new comment
56657         * lib/openat-proc.c (openat_proc_name): Correct the comment.
56659 2011-05-10  Jim Meyering  <meyering@redhat.com>
56661         openat: add comments
56662         * lib/openat-proc.c (openat_proc_name): Add comments,
56663         mostly from Eric Blake.
56665 2011-05-09  Eric Blake  <eblake@redhat.com>
56667         openat: reduce syscalls in first probe of /proc
56668         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
56669         be a directory.  Simplify the probe for .. bugs.
56670         * modules/openat (Depends-on): Drop same-inode.
56671         Reported by Bastien ROUCARIES.
56673 2011-05-09  Jim Meyering  <meyering@redhat.com>
56675         maint.mk: change semantics/name of tight_scope variables
56676         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
56677         Rename variables to align with semantics that make them more useful.
56679         maint.mk: tweak new rule's name not to impinge
56680         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
56681         (sc_tight_scope): Use new rule name rather than $@-0.
56683         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
56684         * top/maint.mk (sc_tight_scope): New rule.
56685         (sc_tight_scope-0): New rule, ifdef'd out.
56686         (_gl_TS_dir): Default.
56687         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
56688         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
56690 2011-05-09  Simon Josefsson  <simon@josefsson.org>
56692         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
56693         Haible <bruno@clisp.org>.
56695 2011-05-08  Bruno Haible  <bruno@clisp.org>
56697         Comments.
56698         * m4/isnanf.m4: Add comment.
56699         * m4/isnanl.m4: Likewise.
56701 2011-05-08  Bruno Haible  <bruno@clisp.org>
56703         glob: Remove obsolete macro.
56704         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
56706 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
56708         intprops: Sun C 5.11 supports __typeof__
56709         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
56710         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
56711         which is new.
56712         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
56714         intprops: switch to usual gnulib indenting and naming
56715         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
56716         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
56718         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
56720 2011-05-08  Jim Meyering  <meyering@redhat.com>
56722         maint.mk: suppress "Entering/Leaving directory" diag in announcement
56723         * top/maint.mk (release-prep): Use make's --no-print-directory
56724         option when generating the announcement.  This eliminates the
56725         pesky "make[2]: Entering/Leaving directory" diagnostics in the
56726         generated announcement template.
56728 2011-05-08  Bruno Haible  <bruno@clisp.org>
56730         tzset: Fix gettimeofday wrapper on Solaris 2.6.
56731         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
56732         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
56734 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
56736         ignore-value, verify: Omit include files from lib_SOURCES.
56737         * modules/ignore-value, modules/verify (Makefile.am):
56738         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
56739         that leads Automake to duplicate use of am__objects_... variables
56740         in Makefile.in.  See
56741         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
56743 2011-05-07  Bruno Haible  <bruno@clisp.org>
56745         fclose: Simplify autoconf macro.
56746         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
56747         defined.
56749 2011-05-07  Bruno Haible  <bruno@clisp.org>
56751         canonicalize-lgpl: Fix autoconf macro ordering bug.
56752         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
56753         gl_STDLIB_H_DEFAULTS.
56755 2011-05-06  Eric Blake  <eblake@redhat.com>
56757         maintainer-makefile: make sc_po_check easier to tune
56758         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
56759         to probe for strings, such as an alternate location for gnulib.
56761         fclose: guarantee behavior on seekable stdin
56762         * modules/fclose (Depends-on): Add fflush.
56763         * doc/posix-functions/fclose.texi (fclose): Document this.
56764         * tests/test-fclose.c (main): Make test for this unconditional.
56766 2011-05-06  Bruno Haible  <bruno@clisp.org>
56768         fflush, fpurge: Relicense under LGPLv2+.
56769         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
56770         * modules/fpurge (License): Likewise.
56771         With permission from Eric Blake and Jim Meyering.
56772         Suggested by Eric Blake.
56774 2011-05-06  Karl Berry  <karl@gnu.org>
56776         * MODULES.html.sh (func_all_modules): remove exit.
56778 2011-05-06  Jim Meyering  <meyering@redhat.com>
56780         maint.mk: use info-gnu@ as the default only for a stable release
56781         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
56782         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
56783         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
56784         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
56786 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56788         assert-h: new module, which supports C1X-style static_assert
56789         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
56790         * lib/verify.h: Revamp so that this can be copied into assert.h,
56791         while retaining the ability to use it standalone as before.
56792         Rename private identifiers so as not to encroach on the
56793         standard C namespace, since this is now used by assert.h.
56794         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
56795         the old verify_true.
56796         (_GL_VERIFY_TRUE): New macro, with much of the contents of
56797         the old verify_true.  Use _GL_VERIFY_TYPE.
56798         (_GL_VERIFY): New macro, with much of the contents of the old verify.
56799         (static_assert): New macro, if _GL_STATIC_ASSERT_H
56800         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
56801         defined when this file is copied into the replacement assert.h.
56802         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
56803         and _Static_assert is not built in.
56804         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
56805         defined, and use the new macros mentioned above.
56806         * doc/posix-headers/assert.texi: Document this.
56808 2011-05-05  Bruno Haible  <bruno@clisp.org>
56810         fclose, fflush: Respect rules for use of AC_LIBOBJ.
56811         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
56812         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
56813         gl_REPLACE_FCLOSE here.
56814         * modules/fflush (Depends-on): Remove fclose.
56815         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
56816         combination with module 'fclose'.
56818 2011-05-05  Bruno Haible  <bruno@clisp.org>
56820         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
56821         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
56822         gl_FUNC_FFLUSH.
56823         (gl_FUNC_FFLUSH): Use it.
56824         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
56825         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
56826         gl_REPLACE_FSEEKO here.
56828 2011-05-05  Bruno Haible  <bruno@clisp.org>
56830         tzset: Relicense under LGPL.
56831         * modules/tzset (License): Change to LGPL.
56832         No agreement needed; it's a no-op.
56834         strtoimax, strtoumax: Relicense under LGPL.
56835         * modules/strtoimax (License): Change to LGPL.
56836         * modules/strtoumax (License): Likewise.
56837         With permission from Jim Meyering, Paul Eggert:
56838         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
56839         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
56841         getgroups: Relicense under LGPL.
56842         * modules/getgroups (License): Change to LGPL.
56843         With permission from Jim Meyering, Paul Eggert, Eric Blake:
56844         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56845         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56846         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56848         nanosleep: Relicense under LGPL.
56849         * modules/nanosleep (License): Change to LGPL.
56850         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
56851         Haible:
56852         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56853         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56854         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56855         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56857         futimens: Relicense under LGPL.
56858         * modules/futimens (License): Change to LGPL.
56859         With permission from Eric Blake:
56860         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56862         fflush: Relicense under LGPL.
56863         * modules/fflush (License): Change to LGPL.
56864         With permission from Eric Blake, Bruno Haible, Jim Meyering:
56865         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56866         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56867         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
56869         tmpfile: Relicense under LGPL.
56870         * modules/tmpfile (License): Change to LGPL.
56871         With permission from Ben Pfaff:
56872         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56874         isfinite: Relicense under LGPL.
56875         * modules/isfinite (License): Change to LGPL.
56876         With permission from Ben Pfaff, Bruno Haible:
56877         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56878         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
56880         acosl..tanl: Relicense under LGPL.
56881         * modules/acosl (License): Change to LGPL.
56882         * modules/asinl (License): Likewise.
56883         * modules/atanl (License): Likewise.
56884         * modules/cosl (License): Likewise.
56885         * modules/expl (License): Likewise.
56886         * modules/logl (License): Likewise.
56887         * modules/sinl (License): Likewise.
56888         * modules/sqrtl (License): Likewise.
56889         * modules/tanl (License): Likewise.
56890         Source code originally from glibc and Paolo Bonzini. Agreements:
56891         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
56892         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
56894 2011-05-05  Bruno Haible  <bruno@clisp.org>
56896         signal: Define sighandler_t.
56897         * lib/signal.in.h (sighandler_t): New type.
56898         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
56899         whether sighandler_t is defined.
56900         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
56901         * modules/signal (Depends-on): Add extensions.
56902         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
56903         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
56904         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
56906 2011-05-05  Eric Blake  <eblake@redhat.com>
56908         maint: remove useless REPLACE_*_H macros
56909         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
56910         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56911         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56912         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
56913         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56914         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56915         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
56916         * m4/btowc.m4: Update callers.
56917         * m4/dirfd.m4: Likewise.
56918         * m4/duplocale.m4: Likewise.
56919         * m4/fchdir.m4: Likewise.
56920         * m4/fdopendir.m4: Likewise.
56921         * m4/inet_ntop.m4: Likewise.
56922         * m4/inet_pton.m4: Likewise.
56923         * m4/ioctl.m4: Likewise.
56924         * m4/mbrlen.m4: Likewise.
56925         * m4/mbrtowc.m4: Likewise.
56926         * m4/mbsinit.m4: Likewise.
56927         * m4/mbsnrtowcs.m4: Likewise.
56928         * m4/mbsrtowcs.m4: Likewise.
56929         * m4/poll.m4: Likewise.
56930         * m4/setlocale.m4: Likewise.
56931         * m4/wcrtomb.m4: Likewise.
56932         * m4/wcsnrtombs.m4: Likewise.
56933         * m4/wcsrtombs.m4: Likewise.
56934         * m4/wctob.m4: Likewise.
56935         * m4/wcwidth.m4: Likewise.
56936         * modules/posix_spawn: Likewise.
56937         * modules/posix_spawn_file_actions_addclose: Likewise.
56938         * modules/posix_spawn_file_actions_adddup2: Likewise.
56939         * modules/posix_spawn_file_actions_addopen: Likewise.
56940         * modules/posix_spawn_file_actions_destroy: Likewise.
56941         * modules/posix_spawn_file_actions_init: Likewise.
56942         * modules/posix_spawnattr_destroy: Likewise.
56943         * modules/posix_spawnattr_getflags: Likewise.
56944         * modules/posix_spawnattr_getpgroup: Likewise.
56945         * modules/posix_spawnattr_getschedparam: Likewise.
56946         * modules/posix_spawnattr_getschedpolicy: Likewise.
56947         * modules/posix_spawnattr_getsigdefault: Likewise.
56948         * modules/posix_spawnattr_getsigmask: Likewise.
56949         * modules/posix_spawnattr_init: Likewise.
56950         * modules/posix_spawnattr_setflags: Likewise.
56951         * modules/posix_spawnattr_setpgroup: Likewise.
56952         * modules/posix_spawnattr_setschedparam: Likewise.
56953         * modules/posix_spawnattr_setschedpolicy: Likewise.
56954         * modules/posix_spawnattr_setsigdefault: Likewise.
56955         * modules/posix_spawnattr_setsigmask: Likewise.
56956         * modules/posix_spawnp: Likewise.
56958 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
56960         Add option to do-release-commit-and-tag to specify branch.
56961         * build-aux/do-release-commit-and-tag: Add --branch.
56963 2011-05-03  Bruno Haible  <bruno@clisp.org>
56965         Avoid unnecessary compilation units, through conditional dependencies.
56966         * modules/accept (Depends-on): Add conditions to the dependencies.
56967         * modules/acosl (Depends-on): Likewise.
56968         * modules/argz (Depends-on): Likewise.
56969         * modules/asinl (Depends-on): Likewise.
56970         * modules/atanl (Depends-on): Likewise.
56971         * modules/atoll (Depends-on): Likewise.
56972         * modules/bind (Depends-on): Likewise.
56973         * modules/btowc (Depends-on): Likewise.
56974         * modules/canonicalize-lgpl (Depends-on): Likewise.
56975         * modules/ceil (Depends-on): Likewise.
56976         * modules/ceilf (Depends-on): Likewise.
56977         * modules/ceill (Depends-on): Likewise.
56978         * modules/chdir-long (Depends-on): Likewise.
56979         * modules/chown (Depends-on): Likewise.
56980         * modules/close (Depends-on): Likewise.
56981         * modules/connect (Depends-on): Likewise.
56982         * modules/cosl (Depends-on): Likewise.
56983         * modules/dirfd (Depends-on): Likewise.
56984         * modules/dprintf (Depends-on): Likewise.
56985         * modules/dprintf-posix (Depends-on): Likewise.
56986         * modules/error (Depends-on): Likewise.
56987         * modules/euidaccess (Depends-on): Likewise.
56988         * modules/expl (Depends-on): Likewise.
56989         * modules/faccessat (Depends-on): Likewise.
56990         * modules/fchdir (Depends-on): Likewise.
56991         * modules/fclose (Depends-on): Likewise.
56992         * modules/fcntl (Depends-on): Likewise.
56993         * modules/fdopendir (Depends-on): Likewise.
56994         * modules/fflush (Depends-on): Likewise.
56995         * modules/floor (Depends-on): Likewise.
56996         * modules/floorf (Depends-on): Likewise.
56997         * modules/floorl (Depends-on): Likewise.
56998         * modules/fnmatch (Depends-on): Likewise.
56999         * modules/fopen (Depends-on): Likewise.
57000         * modules/fprintf-posix (Depends-on): Likewise.
57001         * modules/frexp (Depends-on): Likewise.
57002         * modules/frexp-nolibm (Depends-on): Likewise.
57003         * modules/frexpl (Depends-on): Likewise.
57004         * modules/frexpl-nolibm (Depends-on): Likewise.
57005         * modules/fseek (Depends-on): Likewise.
57006         * modules/fsusage (Depends-on): Likewise.
57007         * modules/ftell (Depends-on): Likewise.
57008         * modules/ftello (Depends-on): Likewise.
57009         * modules/futimens (Depends-on): Likewise.
57010         * modules/getcwd (Depends-on): Likewise.
57011         * modules/getcwd-lgpl (Depends-on): Likewise.
57012         * modules/getdelim (Depends-on): Likewise.
57013         * modules/getdomainname (Depends-on): Likewise.
57014         * modules/getgroups (Depends-on): Likewise.
57015         * modules/gethostname (Depends-on): Likewise.
57016         * modules/getline (Depends-on): Likewise.
57017         * modules/getlogin_r (Depends-on): Likewise.
57018         * modules/getopt-posix (Depends-on): Likewise.
57019         * modules/getpeername (Depends-on): Likewise.
57020         * modules/getsockname (Depends-on): Likewise.
57021         * modules/getsockopt (Depends-on): Likewise.
57022         * modules/getsubopt (Depends-on): Likewise.
57023         * modules/getusershell (Depends-on): Likewise.
57024         * modules/glob (Depends-on): Likewise.
57025         * modules/grantpt (Depends-on): Likewise.
57026         * modules/iconv_open (Depends-on): Likewise.
57027         * modules/iconv_open-utf (Depends-on): Likewise.
57028         * modules/inet_ntop (Depends-on): Likewise.
57029         * modules/inet_pton (Depends-on): Likewise.
57030         * modules/ioctl (Depends-on): Likewise.
57031         * modules/isapipe (Depends-on): Likewise.
57032         * modules/isfinite (Depends-on): Likewise.
57033         * modules/isinf (Depends-on): Likewise.
57034         * modules/lchown (Depends-on): Likewise.
57035         * modules/ldexpl (Depends-on): Likewise.
57036         * modules/link (Depends-on): Likewise.
57037         * modules/linkat (Depends-on): Likewise.
57038         * modules/listen (Depends-on): Likewise.
57039         * modules/logl (Depends-on): Likewise.
57040         * modules/lstat (Depends-on): Likewise.
57041         * modules/mbrlen (Depends-on): Likewise.
57042         * modules/mbrtowc (Depends-on): Likewise.
57043         * modules/mbsinit (Depends-on): Likewise.
57044         * modules/mbsnrtowcs (Depends-on): Likewise.
57045         * modules/mbsrtowcs (Depends-on): Likewise.
57046         * modules/mbtowc (Depends-on): Likewise.
57047         * modules/memcmp (Depends-on): Likewise.
57048         * modules/mkdir (Depends-on): Likewise.
57049         * modules/mkdtemp (Depends-on): Likewise.
57050         * modules/mkfifo (Depends-on): Likewise.
57051         * modules/mkfifoat (Depends-on): Likewise.
57052         * modules/mknod (Depends-on): Likewise.
57053         * modules/mkostemp (Depends-on): Likewise.
57054         * modules/mkostemps (Depends-on): Likewise.
57055         * modules/mkstemp (Depends-on): Likewise.
57056         * modules/mkstemps (Depends-on): Likewise.
57057         * modules/mktime (Depends-on): Likewise.
57058         * modules/nanosleep (Depends-on): Likewise.
57059         * modules/open (Depends-on): Likewise.
57060         * modules/openat (Depends-on): Likewise.
57061         * modules/perror (Depends-on): Likewise.
57062         * modules/poll (Depends-on): Likewise.
57063         * modules/popen (Depends-on): Likewise.
57064         * modules/posix_spawn (Depends-on): Likewise.
57065         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
57066         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
57067         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
57068         * modules/posix_spawnp (Depends-on): Likewise.
57069         * modules/pread (Depends-on): Likewise.
57070         * modules/printf-posix (Depends-on): Likewise.
57071         * modules/ptsname (Depends-on): Likewise.
57072         * modules/putenv (Depends-on): Likewise.
57073         * modules/pwrite (Depends-on): Likewise.
57074         * modules/readline (Depends-on): Likewise.
57075         * modules/readlink (Depends-on): Likewise.
57076         * modules/readlinkat (Depends-on): Likewise.
57077         * modules/recv (Depends-on): Likewise.
57078         * modules/recvfrom (Depends-on): Likewise.
57079         * modules/regex (Depends-on): Likewise.
57080         * modules/remove (Depends-on): Likewise.
57081         * modules/rename (Depends-on): Likewise.
57082         * modules/renameat (Depends-on): Likewise.
57083         * modules/rmdir (Depends-on): Likewise.
57084         * modules/round (Depends-on): Likewise.
57085         * modules/roundf (Depends-on): Likewise.
57086         * modules/roundl (Depends-on): Likewise.
57087         * modules/rpmatch (Depends-on): Likewise.
57088         * modules/select (Depends-on): Likewise.
57089         * modules/send (Depends-on): Likewise.
57090         * modules/sendto (Depends-on): Likewise.
57091         * modules/setenv (Depends-on): Likewise.
57092         * modules/setlocale (Depends-on): Likewise.
57093         * modules/setsockopt (Depends-on): Likewise.
57094         * modules/shutdown (Depends-on): Likewise.
57095         * modules/sigaction (Depends-on): Likewise.
57096         * modules/signbit (Depends-on): Likewise.
57097         * modules/sigprocmask (Depends-on): Likewise.
57098         * modules/sinl (Depends-on): Likewise.
57099         * modules/sleep (Depends-on): Likewise.
57100         * modules/snprintf (Depends-on): Likewise.
57101         * modules/snprintf-posix (Depends-on): Likewise.
57102         * modules/socket (Depends-on): Likewise.
57103         * modules/sprintf-posix (Depends-on): Likewise.
57104         * modules/sqrtl (Depends-on): Likewise.
57105         * modules/stat (Depends-on): Likewise.
57106         * modules/strchrnul (Depends-on): Likewise.
57107         * modules/strdup-posix (Depends-on): Likewise.
57108         * modules/strerror (Depends-on): Likewise.
57109         * modules/strerror_r-posix (Depends-on): Likewise.
57110         * modules/strndup (Depends-on): Likewise.
57111         * modules/strnlen (Depends-on): Likewise.
57112         * modules/strptime (Depends-on): Likewise.
57113         * modules/strsep (Depends-on): Likewise.
57114         * modules/strsignal (Depends-on): Likewise.
57115         * modules/strstr-simple (Depends-on): Likewise.
57116         * modules/strtod (Depends-on): Likewise.
57117         * modules/strtoimax (Depends-on): Likewise.
57118         * modules/strtok_r (Depends-on): Likewise.
57119         * modules/strtoumax (Depends-on): Likewise.
57120         * modules/symlink (Depends-on): Likewise.
57121         * modules/symlinkat (Depends-on): Likewise.
57122         * modules/tanl (Depends-on): Likewise.
57123         * modules/tcgetsid (Depends-on): Likewise.
57124         * modules/tmpfile (Depends-on): Likewise.
57125         * modules/trunc (Depends-on): Likewise.
57126         * modules/truncf (Depends-on): Likewise.
57127         * modules/truncl (Depends-on): Likewise.
57128         * modules/uname (Depends-on): Likewise.
57129         * modules/unlink (Depends-on): Likewise.
57130         * modules/unlockpt (Depends-on): Likewise.
57131         * modules/unsetenv (Depends-on): Likewise.
57132         * modules/usleep (Depends-on): Likewise.
57133         * modules/utimensat (Depends-on): Likewise.
57134         * modules/vasprintf (Depends-on): Likewise.
57135         * modules/vdprintf (Depends-on): Likewise.
57136         * modules/vdprintf-posix (Depends-on): Likewise.
57137         * modules/vfprintf-posix (Depends-on): Likewise.
57138         * modules/vprintf-posix (Depends-on): Likewise.
57139         * modules/vsnprintf (Depends-on): Likewise.
57140         * modules/vsnprintf-posix (Depends-on): Likewise.
57141         * modules/vsprintf-posix (Depends-on): Likewise.
57142         * modules/wcrtomb (Depends-on): Likewise.
57143         * modules/wcscasecmp (Depends-on): Likewise.
57144         * modules/wcscspn (Depends-on): Likewise.
57145         * modules/wcsdup (Depends-on): Likewise.
57146         * modules/wcsncasecmp (Depends-on): Likewise.
57147         * modules/wcsnrtombs (Depends-on): Likewise.
57148         * modules/wcspbrk (Depends-on): Likewise.
57149         * modules/wcsrtombs (Depends-on): Likewise.
57150         * modules/wcsspn (Depends-on): Likewise.
57151         * modules/wcsstr (Depends-on): Likewise.
57152         * modules/wcstok (Depends-on): Likewise.
57153         * modules/wcswidth (Depends-on): Likewise.
57154         * modules/wctob (Depends-on): Likewise.
57155         * modules/wctomb (Depends-on): Likewise.
57156         * modules/wctype (Depends-on): Likewise.
57157         * modules/wcwidth (Depends-on): Likewise.
57158         * modules/write (Depends-on): Likewise.
57160 2011-05-03  Bruno Haible  <bruno@clisp.org>
57162         Support for conditional dependencies.
57163         * doc/gnulib.texi (Module description): Document the syntax of
57164         conditional dependencies.
57165         * gnulib-tool: New option --conditional-dependencies.
57166         (func_usage): Document it.
57167         (cond_dependencies): New variable.
57168         (func_get_automake_snippet_conditional,
57169         func_get_automake_snippet_unconditional): New functions, extracted from
57170         func_get_automake_snippet.
57171         (func_get_automake_snippet): Use them.
57172         (sed_first_32_chars): New variable.
57173         (func_module_shellfunc_name): New function.
57174         (func_module_shellvar_name): New function.
57175         (func_module_conditional_name): New function.
57176         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
57177         func_cond_module_condition): New functions.
57178         (func_modules_transitive_closure): Add support for conditional
57179         dependencies.
57180         (func_emit_lib_Makefile_am): For a conditional module, enclose the
57181         conditional automake snippet in an automake conditional.
57182         (func_emit_autoconf_snippets): Emit shell functions that contain the
57183         code for conditional modules.
57184         (func_import, func_create_testdir): Update specification.
57186 2011-05-03  Eric Blake  <eblake@redhat.com>
57188         test-getaddrinfo: report error information
57189         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
57191 2011-05-03  Jim Meyering  <meyering@redhat.com>
57193         bootstrap: avoid build failure when $GZIP is set
57194         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
57195         program name.  If defined at all, it is supposed to list gzip options.
57196         Reported by Alan Curry in http://debbugs.gnu.org/8609
57198 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
57200         readme-release: new module with release instructions
57201         * modules/readme-release: New module.
57202         * top/README-release: New file, from coreutils, grep, diffutils.
57203         * MODULES.html.sh (Support for maintaining and releasing): Add it.
57205 2011-05-02  Eric Blake  <eblake@redhat.com>
57207         fflush: also replace fclose when fixing fflush
57208         * modules/fflush (Depends-on): Add fclose.
57209         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
57210         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
57211         memstreams with no backing fd.
57212         * doc/posix-functions/fclose.texi (fclose): Document the use of
57213         fflush module to fix the bug.
57214         * tests/test-fclose.c (main): Relax test when fclose is used in
57215         isolation.
57217         fclose: add some tests
57218         * modules/fclose-tests: New test module.
57219         * tests/test-fclose.c: New file.
57220         * doc/posix-functions/fclose.texi (fclose): Document the bug.
57222         fclose: reduced dependencies
57223         * modules/fclose (Depends-on): Switch from fflush/fseeko to
57224         simpler lseek.
57225         * lib/fclose.c (rpl_fclose): Likewise.
57226         Reported by Simon Josefsson.
57228         exit: drop remaining clients
57229         * modules/argmatch (Depends-on): Replace exit with stdlib.
57230         * modules/copy-file (Depends-on): Likewise.
57231         * modules/execute (Depends-on): Likewise.
57232         * modules/exitfail (Depends-on): Likewise.
57233         * modules/obstack (Depends-on): Likewise.
57234         * modules/pagealign_alloc (Depends-on): Likewise.
57235         * modules/pipe-filter-gi (Depends-on): Likewise.
57236         * modules/pipe-filter-ii (Depends-on): Likewise.
57237         * modules/savewd (Depends-on): Likewise.
57238         * modules/spawn-pipe (Depends-on): Likewise.
57239         * modules/wait-process (Depends-on): Likewise.
57240         * modules/xsetenv (Depends-on): Likewise.
57241         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
57242         * modules/git-merge-changelog (Depends-on): Likewise.
57243         * modules/long-options (Depends-on): Likewise.
57244         * modules/pt_chown (Depends-on): Likewise.
57245         * modules/sysexits (Depends-on): Likewise.
57247         freading: relax license from LGPLv3+ to LGPLv2+
57248         * modules/freading (License): Relax LGPL version.
57250 2011-05-02  Bruno Haible  <bruno@clisp.org>
57252         fchdir: Remove unused dependencies.
57253         * modules/fchdir (Depends-on): Remove include_next.
57255 2011-05-02  Bruno Haible  <bruno@clisp.org>
57257         gnulib-tool: Refactor.
57258         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
57259         from func_emit_autoconf_snippets.
57260         (func_emit_autoconf_snippets): Use it.
57262 2011-05-02  Simon Josefsson  <simon@josefsson.org>
57264         * NEWS: Document removal of 'exit'.
57265         * modules/exit: Remove file.
57267 2011-05-01  Bruno Haible  <bruno@clisp.org>
57269         Update DEPENDENCIES.
57270         * DEPENDENCIES (gettext): Recommend the newest release.
57271         Reported by Simon Josefsson.
57273 2011-05-01  Bruno Haible  <bruno@clisp.org>
57275         gnulib-tool: Reduce code duplication.
57276         * gnulib-tool (func_emit_autoconf_snippets): New function.
57277         (func_import, func_create_testdir): Use it.
57279 2011-04-30  Eric Blake  <eblake@redhat.com>
57281         fclose: don't fail on non-seekable input stream
57282         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
57283         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
57284         since fflush is allowed to fail in that case.
57286 2011-04-30  Bruno Haible  <bruno@clisp.org>
57288         dup3: cleanup
57289         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
57291 2011-04-30  Bruno Haible  <bruno@clisp.org>
57293         netdb: Make it work in C++ mode.
57294         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
57295         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
57296         module.
57297         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
57298         gl_MODULE_INDICATOR_FOR_TESTS.
57299         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
57300         * modules/netdb-c++-tests: New file.
57301         * tests/test-netdb-c++.cc: New file.
57303 2011-04-30  Bruno Haible  <bruno@clisp.org>
57305         New modules 'vfscanf', 'vscanf'.
57306         * modules/vfscanf: New file.
57307         * modules/vscanf: New file.
57308         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
57309         here.
57310         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
57311         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
57313 2011-04-30  Bruno Haible  <bruno@clisp.org>
57315         passfd: Add comments.
57316         * lib/passfd.c: Add comments about platforms.
57318 2011-04-30  Bruno Haible  <bruno@clisp.org>
57320         sys_uio: Make <sys/uio.h> self-contained.
57321         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
57322         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
57324 2011-04-30  Bruno Haible  <bruno@clisp.org>
57326         sys_socket: Ensure 'struct iovec' definition.
57327         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
57328         <sys/socket.h>.
57329         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
57331 2011-04-30  Bruno Haible  <bruno@clisp.org>
57333         sys_uio: Protect definition of 'struct iovec'.
57334         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
57335         it as a C struct.
57337 2011-04-30  Bruno Haible  <bruno@clisp.org>
57339         manywarnings: fix indentation
57340         * m4/manywarnings.m4: Indent by 2 spaces consistently.
57342 2011-04-30  Pádraig Brady  <P@draigBrady.com>
57344         manywarnings: add -Wno-missing-field-initializers if needed.
57345         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
57346         option if it's needed to allow initialization with { 0, }
57348 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
57350         announce-gen: cosmetic improvement
57351         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
57353 2011-04-29  Jim Meyering  <meyering@redhat.com>
57355         vc-list-files: indent with spaces, not TABs
57356         * build-aux/vc-list-files: Convert leading TABs to spaces,
57357         to match the style of most other files in gnulib.
57359         announce-gen: indent with spaces, not TABs
57360         * build-aux/announce-gen: Convert all TABs to spaces, to match
57361         the style of most other files in gnulib.
57363 2011-04-29  Eric Blake  <eblake@redhat.com>
57365         quotearg: avoid uninitialized variable use
57366         * lib/quotearg.c (quoting_options_from_style): Initialize
57367         remaining fields, and ensure that custom styles are only used via
57368         quoting_options rather than quoting_style.
57370 2011-04-29  Jim Meyering  <meyering@redhat.com>
57372         maint.mk: remove unused VC-tag variable
57373         * top/maint.mk (VC-tag): Remove unused variable.
57375 2011-04-29  Bruno Haible  <bruno@clisp.org>
57377         netdb: fix gai_strerror replacements
57378         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
57379         * modules/netdb: Substitute it.
57381 2011-04-29  Jim Meyering  <meyering@redhat.com>
57383         test-getcwd.c: avoid new set-but-not-used warning
57384         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
57385         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
57386         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
57387         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
57389         test-hash.c: avoid a new shadowing warning
57390         * tests/test-hash.c (main): Don't shadow "dup".
57392 2011-04-28  Eric Blake  <eblake@redhat.com>
57394         getaddrinfo: fix gai_strerror signature
57395         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
57396         and work around mingw with UNICODE defined.
57397         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
57398         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
57399         * modules/netdb (Makefile.am): Substitute it.
57400         * lib/netdb.in.h (gai_strerror): Declare replacement.
57401         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
57402         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
57403         the fix.
57405         getsockopt: avoid compiler warning
57406         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
57407         Reported by Matthias Bolte.
57409         tests: drop unused link dependency
57410         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
57411         * modules/dirent-safer-tests (Makefile.am): Likewise.
57412         * modules/fdopendir-tests (Makefile.am): Likewise.
57413         * modules/mkfifoat-tests (Makefile.am): Likewise.
57414         * modules/openat-safer-tests (Makefile.am): Likewise.
57415         * modules/openat-tests (Makefile.am): Likewise.
57416         * modules/readlinkat-tests (Makefile.am): Likewise.
57417         * modules/symlinkat-tests (Makefile.am): Likewise.
57418         * modules/linkat-tests (Makefile.am): Likewise.
57419         (Depends-on): Switch to filenamecat-lgpl.
57420         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
57421         LIBINTL.
57422         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
57423         * tests/test-linkat.c (main): Don't require xalloc.
57425         hash, mgetgroups: drop xalloc dependency
57426         * lib/hash.c (includes): Adjust includes.
57427         * lib/mgetgroups.c (includes): Likewise.
57428         (xgetgroups): Move...
57429         * lib/xgetgroups.c: ...to new file.
57430         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
57431         * modules/xgetgroups: New file, split from...
57432         * modules/mgetgroups: ...here.
57433         (Depends-on): Add xalloc-oversized.
57434         * modules/hash (Depends-on): Likewise.
57435         * modules/hash-tests (Depends-on): Drop xalloc.
57436         (test_hash_LDADD): Drop unused library.
57437         * tests/test-hash.c (main): Break xalloc dependency.
57438         (includes): Drop unused include.
57440         xalloc-oversized: new module
57441         * modules/xalloc-oversized: New module.
57442         * modules/xalloc (Depends-on): Add it.
57443         * lib/xalloc.h (xalloc_oversized): Move...
57444         * lib/xalloc-oversized.h: ...into new file.
57446         utimecmp: drop dependency on xmalloc
57447         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
57448         due to memory pressure.
57449         * modules/utimecmp (Depends-on): Drop xalloc.
57451 2011-04-27  Eric Blake  <eblake@redhat.com>
57453         getcwd: fix mingw bugs
57454         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
57455         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
57456         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
57458 2011-04-27  Bruno Haible  <bruno@clisp.org>
57460         mkstemps: Ensure declaration on MacOS X 10.5.
57461         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
57462         * doc/glibc-functions/mkstemps.texi: Document header file problem on
57463         MacOS X.
57465 2011-04-27  Bruno Haible  <bruno@clisp.org>
57467         mkstemp: More documentation.
57468         * doc/posix-functions/mkstemp.texi: Document header file problem on
57469         MacOS X.
57471 2011-04-27  Bruno Haible  <bruno@clisp.org>
57473         mkstemp: Tweak configure message when cross-compiling.
57474         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
57475         result as a guess.
57477 2011-04-27  Bruno Haible  <bruno@clisp.org>
57479         clean-temp: Clarify what it does.
57480         * lib/clean-temp.h: Add more comments.
57481         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
57482         module.
57483         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
57484         * doc/glibc-functions/mkstemps.texi: Likewise.
57485         * doc/glibc-functions/mkostemps.texi: Likewise.
57487 2011-04-27  Eric Blake  <eblake@redhat.com>
57489         fchdir: avoid extra chdir and fix test
57490         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
57491         getcwd-lgpl.
57492         * lib/fchdir.c (get_name): Any absolute name will do; it does not
57493         have to be canonical.
57494         (canonicalize_file_name): Drop unused macro.
57495         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
57497         filenamecat-lgpl: fix licence
57498         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
57499         when it was first created.
57501         linkat, renameat: add missing dependency
57502         * modules/linkat (Depends-on): Require getcwd-lgpl.
57503         * modules/renameat (Depends-on): Likewise.
57505         tests: reduce dependencies
57506         * tests/test-linkat.c (main): Use lighter-weight getcwd.
57507         * tests/test-renameat.c (main): Likewise.
57508         * modules/linkat-tests (Depends-on): Relax dependency.
57509         * modules/renameat-tests (Depends-on): Likewise.
57510         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
57511         dependency explicit.
57513         save-cwd: reduce default dependency
57514         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
57515         * lib/save-cwd.c: Update comments.
57516         * NEWS: Document the semantic change.
57518         getcwd: enhance tests
57519         * tests/test-getcwd-lgpl.c: New file, taken from...
57520         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
57521         repeat long path stress tests from m4 probe.
57522         * modules/getcwd-lgpl-tests: New module.
57523         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
57524         * m4/getcwd-abort-bug.m4: Update comment.
57525         * m4/getcwd-path-max.m4: Likewise.
57527         getcwd-lgpl: new module
57528         * modules/getcwd-lgpl: New module.
57529         * lib/getcwd-lgpl.c: New file.
57530         * doc/posix-functions/getcwd.texi (getcwd): Document it.
57531         * MODULES.html.sh (lacking POSIX:2008): Likewise.
57532         * modules/getcwd (configure.ac): Set C witness.
57533         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
57535         getcwd: tweak comments
57536         * m4/getcwd-abort-bug.m4: Fix comments.
57537         * m4/getcwd-path-max.m4: Likewise.
57538         * m4/getcwd.m4: Likewise.
57540 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57541         and Eric Blake  <eblake@redhat.com>
57543         mkstemp: replace if system version uses wrong permissions
57544         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
57545         read/write mode bits set in file created by mkstemp.
57546         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
57548 2011-04-27  Eric Blake  <eblake@redhat.com>
57550         passfd: avoid compiler warning
57551         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
57552         Reported by Laine Stump.
57554 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
57556         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
57557         required by the NetBSD (and perhaps other 4.4BSD derived) join.
57559 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57560         and Eric Blake  <eblake@redhat.com>
57562         mkstemp: mention clean-temp module
57563         * lib/mkstemp.c: Add comment.
57564         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
57566 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
57568         inttypes: also provide default values for 32-bit tests
57569         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
57570         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
57572 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
57574         strtoumax: remove dependency on strtoimax
57575         This is like the strtoull change of yesterday.
57576         * modules/strtoumax (Files): Add lib/strtoimax.c.
57577         (Depends-on): Remove strtoimax and add verify.
57579         inttypes-incomplete: new module
57580         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
57581         all but the PRI* and SCN* parts of gl_INTTYPES_H.
57582         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
57583         of gl_INTTYPES_H.
57584         (gl_INTTYPES_H): Rewrite in terms of these new macros.
57585         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
57586         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
57587         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
57588         * modules/strtoumax, modules/xstrtol (Depends-on):
57589         Depend on inttypes-incomplete, not inttypes.
57590         * modules/inttypes-incomplete: New module, containing the contents
57591         of the old modules/inttypes module, except that the Files: section
57592         omits m4/inttypes-pri.m4, and the configure.ac section invokes
57593         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
57594         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
57595         (Depends-on): Depend only on inttypes-incomplete.
57596         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
57598         inttypes: omit now-redundant strtoimax and strtoumax work
57599         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
57600         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
57602         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
57603         This supports apps that need pointers to strtoimax and strtoumax,
57604         and ports to HP-UX 11.00 64.bit, which has macros that expand to
57605         nonexistent functions.  See
57606         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
57607         et seq.
57608         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
57609         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
57610         a macro.
57611         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57613 2011-04-25  Simon Josefsson  <simon@josefsson.org>
57615         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
57617 2011-04-25  Bruno Haible  <bruno@clisp.org>
57619         strtol, strtoul: Mark modules as obsolete.
57620         * modules/strtol (Status, Notice): New sections.
57621         * modules/strtoul (Status, Notice): New sections.
57623 2011-04-25  Bruno Haible  <bruno@clisp.org>
57625         strtod: Remove check for strtod, unless supporting old platforms.
57626         * modules/strtod-obsolete: New file.
57627         * m4/strtod-obsolete.m4: New file.
57628         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
57629         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
57630         * modules/strtod (Depends-on): Add strtod-obsolete.
57631         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
57633 2011-04-25  Bruno Haible  <bruno@clisp.org>
57635         strcase: Make module obsolete.
57636         * modules/strcase (Status, Notice): New sections.
57638 2011-04-25  Bruno Haible  <bruno@clisp.org>
57640         dup2: Remove check for dup2, unless supporting old obsolete platforms.
57641         * modules/dup2-obsolete: New file.
57642         * m4/dup2-obsolete.m4: New file.
57643         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
57644         gl_FUNC_DUP2_OBSOLETE is not also defined.
57645         * modules/dup2 (Depends-on): Add dup2-obsolete.
57646         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
57648 2011-04-25  Bruno Haible  <bruno@clisp.org>
57650         strnlen: Avoid memchr related link error on old obsolete platforms.
57651         * modules/memchr-obsolete: New file.
57652         * m4/memchr-obsolete.m4: New file.
57653         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
57654         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
57655         * modules/memchr (Depends-on): Add memchr-obsolete.
57656         * modules/strnlen (Depends-on): Likewise.
57657         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
57659 2011-04-25  Jim Meyering  <meyering@redhat.com>
57661         maint.mk: makefile_at_at_check extend and clean up
57662         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
57663         in addition to */Makefile.am.
57664         Exempt legitimate uses of @VAR@ notation, e.g.,
57665         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
57666         Remove obsolete coreutils-specific comment.
57667         Prompted by discussion here:
57668         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
57670 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57672         strtoul: remove dependency on strtol
57673         This is so that 'configure' need not check for strtol merely because
57674         the application needs strtoul.
57675         * modules/strtoul (Files): Add lib/strtol.c.
57676         (Depends-on): Remove strtol.
57678         strtoull: remove dependency on strtoul
57679         This is like the strtoll change.
57680         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
57681         (Depends-on): Remove strtoul.
57683         strtoll: remove dependency on strtol
57684         This is so that 'configure' need not check for strtol merely because
57685         the application needs strtoll.
57686         * modules/strtoll (Files): Add lib/strtol.c.
57687         (Depends-on): Remove strtol.
57689 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57691         inttypes: Move some configure check to module 'imaxdiv'.
57692         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
57693         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
57694         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
57696 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57698         inttypes: Move some configure check to module 'imaxabs'.
57699         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
57700         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
57701         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
57703 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57705         inttypes: Remove configure tests that are not needed since 2009-12-31.
57706         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
57707         gl_cv_header_working_inttypes_h.
57709 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57711         * modules/strnlen (Depends-on): Remove memchr.
57712         The strnlen implementation doesn't need the memchr module's fixes; see
57713         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
57715         strtol: remove dependency on wchar
57716         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
57717         * modules/strtol (Depends-on): Remove wchar.
57719 2011-04-21  Eric Blake  <eblake@redhat.com>
57721         passfd: fix test regression on Linux
57722         * modules/passfd-tests (configure.ac): Correct socketpair check.
57724         passfd: speed up configure and drop unused code
57725         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
57726         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
57727         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
57728         Instead of probing at configure for unix_scm_rights_bsd44_way,
57729         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
57730         check to a struct member probe.
57731         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
57732         (sendfd, recvfd): Update preprocessor checks.
57733         * modules/passfd (Files): Reflect rename, and drop unused file.
57734         (Depends-on): Drop unused dependency.
57736         passfd: allow compilation on mingw
57737         * modules/sys_socket (Depends-on): Add sys_uio.
57738         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
57739         iovec and a minimal struct msghdr.
57740         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
57741         * tests/test-sys_socket.c (main): Enhance test.
57742         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
57743         guaranteed to provide what we need.
57744         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
57745         * modules/passfd-tests (Depends-on): Add sys_wait.
57746         * tests/test-passfd.c (main): Skip test on mingw, for now.
57747         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
57748         partial 'struct msghdr' implementation.
57750         sys_uio: new module
57751         * modules/sys_uio: New module.
57752         * modules/sys_uio-tests: Likewise.
57753         * lib/sys_uio.in.h: New file.
57754         * m4/sys_uio_h.m4: Likewise.
57755         * tests/test-sys_uio.c: Likewise.
57756         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
57757         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
57759 2011-04-20  Jim Meyering  <meyering@redhat.com>
57761         useless-if-before-free: avoid false-positive
57762         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
57763         disjunct so that it too requires a terminating ";".  Without that,
57764         this script would identify as useless one statement from gcc that
57765         was not:
57766           if (aligned_ptr)
57767             free (((void **) aligned_ptr) [-1]);
57769 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
57771         doc: update users.txt.
57772         * users.txt: Add barcode.
57774 2011-04-19  Bruno Haible  <bruno@clisp.org>
57776         ioctl: Remove link dependency on native Windows.
57777         * lib/fd-hook.h: Renamed from lib/close-hook.h.
57778         (gl_close_fn, gl_ioctl_fn): New types.
57779         (struct fd_hook): Renamed from struct close_hook. Change type of
57780         private_close_fn field. Add private_ioctl_fn field.
57781         (close_hook_fn): Add parameter for primary close method.
57782         (execute_close_hooks, execute_all_close_hooks): Likewise.
57783         (ioctl_hook_fn): New type.
57784         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
57785         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57786         argument.
57787         (unregister_fd_hook): Renamed from unregister_close_hook.
57788         * lib/fd-hook.c: Renamed from lib/close-hook.c.
57789         Don't include <unistd.h>.
57790         (close): Remove undef.
57791         (anchor): Update.
57792         (execute_close_hooks): Add argument for primary close method.
57793         (execute_all_close_hooks): Likewise.
57794         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
57795         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57796         argument. Allow each argument to be NULL.
57797         (unregister_fd_hook): Renamed from unregister_close_hook.
57798         * lib/close.c (rpl_close): Pass 'close' function pointer to
57799         execute_all_close_hooks.
57800         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
57801         (primary_ioctl): New function.
57802         (ioctl): Don't call ioctlsocket here. Instead, call
57803         execute_all_ioctl_hooks.
57804         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
57805         close method.
57806         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
57807         (fd_sockets_hook): Renamed from close_sockets_hook.
57808         (gl_sockets_startup, gl_sockets_cleanup): Update.
57809         * modules/fd-hook: Renamed from modules/close-hook. Update.
57810         * modules/close (Depends-on): Add fd-hook, remove close-hook.
57811         * modules/sockets (Depends-on): Likewise.
57812         * modules/ioctl (Depends-on): Add fd-hook.
57813         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
57814         GNULIB_SOCKET.
57816 2011-04-19  Bruno Haible  <bruno@clisp.org>
57818         Move the support of O_NONBLOCK in open() to the 'open' module.
57819         * modules/nonblocking (Depends-on): Remove 'open'.
57820         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
57821         gl_cv_have_open_O_NONBLOCK.
57822         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
57823         O_NONBLOCK support.
57824         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
57826 2011-04-17  Bruno Haible  <bruno@clisp.org>
57828         pipe2: Simplify code.
57829         * lib/pipe2.c (pipe2): Reduce code duplication.
57831 2011-04-17  Bruno Haible  <bruno@clisp.org>
57833         nonblocking: Add comment.
57834         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
57836 2011-04-17  Bruno Haible  <bruno@clisp.org>
57838         nonblocking: Add tests for sockets.
57839         * tests/test-nonblocking-socket.sh: New file.
57840         * tests/test-nonblocking-socket-main.c: New file.
57841         * tests/test-nonblocking-socket-child.c: New file.
57842         * tests/test-nonblocking-socket.h: New file.
57843         * tests/socket-server.h: New file.
57844         * tests/socket-client.h: New file.
57845         * modules/nonblocking-socket-tests: New file.
57846         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
57848 2011-04-17  Bruno Haible  <bruno@clisp.org>
57850         nonblocking: Add tests for pipes.
57851         * tests/test-nonblocking-pipe.sh: New file.
57852         * tests/test-nonblocking-pipe-main.c: New file.
57853         * tests/test-nonblocking-pipe-child.c: New file.
57854         * tests/test-nonblocking-pipe.h: New file.
57855         * tests/test-nonblocking-writer.h: New file.
57856         * tests/test-nonblocking-reader.h: New file.
57857         * tests/test-nonblocking-misc.h: New file.
57858         * modules/nonblocking-pipe-tests: New file.
57859         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
57861 2011-04-16  Bruno Haible  <bruno@clisp.org>
57863         gettext: Clarify the needed programmer actions.
57864         * modules/gettext (Notice): New field.
57865         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57867 2011-04-16  Bruno Haible  <bruno@clisp.org>
57869         strchrnul: Tweak last commit.
57870         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
57871         bug.
57872         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
57873         as in _GL_FUNCDECL_SYS.
57874         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
57875         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
57877 2011-04-15  Eric Blake  <eblake@redhat.com>
57879         strchrnul: work around cygwin bug
57880         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
57881         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
57882         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
57883         * modules/string (Makefile.am): Substitute it.
57884         * lib/string.in.h (strchrnul): Use it.
57886 2011-04-15  Bruno Haible  <bruno@clisp.org>
57888         Don't require lib/stdio-write.c when only module 'stdio' is used.
57889         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
57890         invocation.
57891         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
57893 2011-04-14  Bruno Haible  <bruno@clisp.org>
57895         Support non-blocking pipe I/O in read() on native Windows.
57896         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
57897         (read): New declaration.
57898         * lib/read.c: New file.
57899         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
57900         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
57901         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
57902         vscanf): New declarations.
57903         * lib/stdio-read.c: New file.
57904         * m4/read.m4: New file.
57905         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
57906         REPLACE_READ.
57907         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
57908         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57909         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
57910         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
57911         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
57912         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57913         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57914         * modules/read: New file.
57915         * modules/nonblocking (Files): Add lib/stdio-read.c.
57916         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
57917         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
57918         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57919         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57920         * modules/pread (Depends-on): Add read.
57921         * modules/safe-read (Depends-on): Likewise.
57922         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
57923         gets, scanf, vfscanf, vscanf): Verify signatures.
57924         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
57925         problem with non-blocking pipes.
57926         * doc/posix-functions/fgetc.texi: Likewise.
57927         * doc/posix-functions/fgets.texi: Likewise.
57928         * doc/posix-functions/fread.texi: Likewise.
57929         * doc/posix-functions/fscanf.texi: Likewise.
57930         * doc/posix-functions/getc.texi: Likewise.
57931         * doc/posix-functions/getchar.texi: Likewise.
57932         * doc/posix-functions/gets.texi: Likewise.
57933         * doc/posix-functions/scanf.texi: Likewise.
57934         * doc/posix-functions/vfscanf.texi: Likewise.
57935         * doc/posix-functions/vscanf.texi: Likewise.
57937 2011-04-14  Bruno Haible  <bruno@clisp.org>
57939         Support non-blocking pipe I/O in write() on native Windows.
57940         * lib/write.c (rpl_write): Split a write request that failed merely
57941         because the byte count was larger than the pipe buffer's size.
57942         * doc/posix-functions/write.texi: Mention the problem with large byte
57943         counts.
57945 2011-04-14  Bruno Haible  <bruno@clisp.org>
57947         wchar: Ensure that wchar_t gets defined on uClibc.
57948         * lib/wchar.in.h: On uClibc, include <stddef.h>.
57949         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
57951 2011-04-13  Bruno Haible  <bruno@clisp.org>
57953         safe-write, full-read: Avoid unnecessary compilation units.
57954         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
57955         (Depends-on): Remove safe-read. Add ssize_t.
57956         * modules/full-read (Files): Add lib/full-write.c.
57957         (Depends-on): Add full-write.
57959 2011-04-13  Bruno Haible  <bruno@clisp.org>
57961         Support non-blocking pipe I/O and SIGPIPE in pwrite().
57962         * modules/pwrite (Depends-on): Add 'write'.
57964 2011-04-13  Bruno Haible  <bruno@clisp.org>
57966         Support non-blocking pipe I/O in write() on native Windows.
57967         * lib/unistd.in.h (write): Enable replacement also if
57968         GNULIB_UNISTD_H_NONBLOCKING is 1.
57969         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
57970         (rpl_write): When failing to write on a non-blocking pipe, change
57971         errno from ENOSPC to EAGAIN.
57972         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
57973         putchar, puts, vfprintf, vprintf): Enable replacement also if
57974         GNULIB_STDIO_H_NONBLOCKING is 1.
57975         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
57976         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
57977         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
57978         CALL_WITH_SIGPIPE_EMULATION.
57979         (CALL_WITH_SIGPIPE_EMULATION): Use them.
57980         * m4/nonblocking.m4: New file.
57981         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
57982         for non-blocking I/O support.
57983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57984         GNULIB_UNISTD_H_NONBLOCKING.
57985         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
57986         required for non-blocking I/O support.
57987         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
57988         * modules/nonblocking (Files): Add m4/nonblocking.m4,
57989         lib/stdio-write.c, m4/asm-underscore.m4.
57990         (Depends-on): Add stdio, unistd.
57991         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
57992         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
57993         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
57994         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
57995         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
57996         problem with non-blocking pipes.
57997         * doc/posix-functions/fputc.texi: Likewise.
57998         * doc/posix-functions/fputs.texi: Likewise.
57999         * doc/posix-functions/fwrite.texi: Likewise.
58000         * doc/posix-functions/printf.texi: Likewise.
58001         * doc/posix-functions/putc.texi: Likewise.
58002         * doc/posix-functions/putchar.texi: Likewise.
58003         * doc/posix-functions/puts.texi: Likewise.
58004         * doc/posix-functions/vfprintf.texi: Likewise.
58005         * doc/posix-functions/vprintf.texi: Likewise.
58006         * doc/posix-functions/write.texi: Likewise.
58008 2011-04-10  Jim Meyering  <meyering@redhat.com>
58010         maint.mk: prohibit doubled words
58011         Detect them also when they're separated by a newline.
58012         There are 3 ways to customize it:
58013           - disable the test on a per file basis, as usual with rules using
58014             $(VC_LIST_EXCEPT)
58015           - replace the default doubled-word-selecting regexp (affects all files)
58016           - ignore a particular file-vs-doubled-word match
58017         I nearly used that last one to ignore the "is is" match in
58018         coreutils' NEWS file, since the text was "ls -is is ..."
58019         To do that, I would have added this line to cfg.mk:
58020           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
58021         but it would have ignored any "is is" match in NEWS.
58022         Low probability, but still...
58023         Instead, I changed the text, slightly:
58024           -  ls -is is now consistent with ls -lis in ignoring values returned
58025           +  "ls -is" is now consistent with ls -lis in ignoring values returned
58026         * top/maint.mk (prohibit_double_word_RE_): Provide default.
58027         (prohibit_doubled_word_): Define.
58028         (sc_prohibit_doubled_word): New rule.
58029         (sc_prohibit_the_the): Remove.  Subsumed by the above.
58031 2011-04-10  Jim Meyering  <meyering@redhat.com>
58033         maint: fix doubled-word typo in comment
58034         * m4/gethostname.m4: s/is is/it is/
58035         * m4/getdomainname.m4: Likewise.
58037 2011-04-10  Jim Meyering  <meyering@redhat.com>
58039         maint: remove doubled word: s/it it/it/
58040         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
58042 2011-04-10  Jim Meyering  <meyering@redhat.com>
58044         maint.mk: remove useless semicolon and backslash
58045         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
58046         semicolon and backslash.
58048 2011-04-10  Bruno Haible  <bruno@clisp.org>
58050         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
58051         * modules/stdint-tests (Depends-on): Add wchar.
58053 2011-04-10  Jim Meyering  <meyering@redhat.com>
58055         maint: remove doubled words in comments, e.g., s/a a/a/
58056         * lib/strptime.c (day_of_the_week): s/the the/the/
58057         * tests/test-chown.h (test_chown): s/a a/a/
58059         test-chown.h: correct a cast
58060         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
58061         when the destination is a stat.st_gid.
58063 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
58065         getaddrinfo: Fix test for sa_len member.
58066         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
58067         include <sys/types.h> before <sys/socket.h>.
58069 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58071         maint: change "can not" to "cannot"
58072         * doc/posix-functions/iconv.texi (iconv): This one crossed line
58073         boundaries.
58075 2011-04-09  Jim Meyering  <meyering@redhat.com>
58077         maint: change "a a" to "a"
58078         * tests/test-lchown.h (test_lchown): s/a a/a/
58080         maint.mk: prohibit \<the the\>
58081         * top/maint.mk (sc_prohibit_the_the): New rule.
58083         maint: fix "the the" in comment
58084         * lib/count-one-bits.h: s/the the/the/
58086         maint: change "can not" to "cannot"
58087         But do not change the occurrences in maintain.texi or in
58088         build-aux/po/Makefile.in.in, which I presume comes from gettext.
58089         * doc/gnulib-tool.texi: s/can not/cannot/
58090         * doc/posix-functions/accept.texi (accept): Likewise.
58091         * doc/posix-functions/socket.texi (socket): Likewise.
58092         * lib/mbrtowc.c: Likewise.
58094         maint.mk: prohibit use of "can not"
58095         * top/maint.mk (sc_prohibit_can_not): New rule.
58096         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
58098 2011-04-09  Bruno Haible  <bruno@clisp.org>
58100         careadlinkat: Guard against misuse of careadlinkatcwd.
58101         * lib/careadlinkat.c: Include <stdlib.h>.
58102         (careadlinkatcwd): Check that the fd argument is as expected.
58104 2011-04-09  Bruno Haible  <bruno@clisp.org>
58106         careadlinkat: Use common coding style.
58107         * lib/careadlinkat.c: Move gnulib includes after system includes.
58109 2011-04-09  Bruno Haible  <bruno@clisp.org>
58111         careadlinkat: Clarify specification.
58112         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
58113         (careadlinkatcwd): Add comment.
58114         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
58116 2011-04-09  Bruno Haible  <bruno@clisp.org>
58118         areadlinkat: Avoid link error on many platforms.
58119         * modules/areadlinkat (Depends-on): Add areadlink.
58121 2011-04-09  Bruno Haible  <bruno@clisp.org>
58123         allocator, careadlinkat: Fix double-inclusion guard.
58124         * lib/allocator.h: Fix double-inclusion guard.
58125         * lib/careadlinkat.h: Likewise.
58127 2011-04-09  Bruno Haible  <bruno@clisp.org>
58129         relocatable-prog-wrapper: Update after module 'areadlink' changed.
58130         * lib/relocwrapper.c: Update dependencies hierarchy.
58131         * build-aux/install-reloc: Update list of files to be compiled.
58132         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
58133         lib/allocator.[hc].
58135 2011-04-08  Eric Blake  <eblake@redhat.com>
58137         strftime: silence gnulib-tool warning
58138         * modules/strftime-tests (Depends-on): Drop automatic dependency.
58140 2011-04-08  Bruno Haible  <bruno@clisp.org>
58142         verify: Fix syntax error with GCC 4.6 in C++ mode.
58143         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
58144         (HAVE_STATIC_ASSERT): New macro.
58145         (verify_true, verify): Use 'static_assert' if it is supported and
58146         '_Static_assert' is not supported.
58148 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
58150         allocator: New module.
58151         * modules/allocator, lib/allocator.c: New files.
58152         * lib/allocator.h (stdlib_allocator): New decl.
58153         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
58154         Remove.  Do not include <stdlib.h>.
58155         (careadlinkat): Use stdlib_allocator instead of rolling our own.
58156         * modules/careadlinkat (Files): Remove lib/allocator.h.
58157         (Depends-on): Add allocator.
58159         stdlib: let modules use system malloc, realloc
58160         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
58161         if !_GL_USE_STDLIB_ALLOC.
58162         (malloc, realloc): Limit this change to a smaller scope.
58164         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
58165         (malloc, realloc): Don't #undef; no longer needed.
58166         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58167         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58168         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
58169         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58170         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58171         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58172         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58173         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
58175         careadlinkat: rename members to avoid problem
58176         * lib/allocator.h (struct allocator): Rename members from
58177         malloc/realloc to allocate/reallocate, to avoid problems if malloc
58178         and realloc are #define'd.  Reported by Eric Blake in
58179         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
58180         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
58182 2011-04-08  Eric Blake  <eblake@redhat.com>
58184         nonblocking: reduce dependency
58185         * tests/test-nonblocking.c: Only test sockets when in use.
58186         * modules/nonblocking-tests (Depends-on): Drop socket.
58187         (Makefile.am): Link even if sockets are not present.
58188         * modules/pipe2-tests (Makefile.am): Likewise.
58189         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
58191         pipe2: fix O_NONBLOCK support on mingw
58192         * modules/pipe2 (Depends-on): Add nonblocking.
58193         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
58194         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
58195         * tests/test-nonblocking.c (main): Likewise.
58196         * modules/pipe2-tests (Makefile.am): Avoid link failure.
58198         fcntl-h: fix O_ACCMODE on cygwin
58199         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
58200         * lib/fcntl.in.h (O_ACCMODE): Fix it.
58202         pipe-filter: drop O_NONBLOCK workarounds
58203         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
58204         * modules/pipe-filter-ii (Depends-on): Likewise.
58205         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
58207         nonblocking: provide O_NONBLOCK for mingw
58208         * modules/nonblocking (Depends-on): Add open.
58209         (configure.ac): Set new witness macro.
58210         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
58211         * modules/fcntl-h (Makefile.am): Substitute it.
58212         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
58213         nonblocking module is in use.
58214         * lib/nonblocking.c: Adjust portability test.
58215         * lib/open.c (open): Don't let native open see gnulib flag.
58216         * tests/test-fcntl-h.c (main): Enhance test.
58217         * tests/test-open.h (test_open): Likewise.
58218         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
58220         careadlinkat: fix compilation error on mingw
58221         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
58222         within struct allocator.
58224 2011-04-06  Eric Blake  <eblake@redhat.com>
58226         binary-io: relicense under LGPLv2+
58227         * modules/binary-io (License): Relax to LGPLv2+.
58228         Requested for libvirt, and required by pipe2.
58230 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
58232         verify: use _Static_assert if available
58233         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
58234         (verify_true, verify): Use it if available.  This generates better
58235         diagnostics with GCC 4.6.0 and later.
58237 2011-04-05  Bruno Haible  <bruno@clisp.org>
58239         Remove leftover generated .h files after config.status changed.
58241         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
58242         GL_GENERATE_ALLOCA_H.
58243         * modules/alloca-opt (Makefile.am): Remove alloca.h if
58244         GL_GENERATE_ALLOCA_H evaluates to false.
58246         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
58247         GL_GENERATE_ARGZ_H.
58248         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
58249         evaluates to false.
58251         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
58252         GL_GENERATE_BYTESWAP_H.
58253         * modules/byteswap (Makefile.am): Remove byteswap.h if
58254         GL_GENERATE_BYTESWAP_H evaluates to false.
58256         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
58257         GL_GENERATE_ERRNO_H.
58258         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
58259         evaluates to false.
58261         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
58262         GL_GENERATE_FLOAT_H.
58263         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
58264         evaluates to false.
58266         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
58267         GL_GENERATE_FNMATCH_H.
58268         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
58269         GL_GENERATE_FNMATCH_H evaluates to false.
58271         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
58272         GL_GENERATE_GLOB_H.
58273         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
58274         evaluates to false.
58276         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
58277         automake conditional GL_GENERATE_ICONV_H.
58278         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
58279         evaluates to false.
58281         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
58282         GL_GENERATE_NETINET_IN_H.
58283         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
58284         GL_GENERATE_NETINET_IN_H evaluates to false.
58286         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
58287         conditional GL_GENERATE_PTHREAD_H.
58288         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
58289         * modules/pthread (Makefile.am): Remove pthread.h if
58290         GL_GENERATE_PTHREAD_H evaluates to false.
58292         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
58293         GL_GENERATE_SCHED_H.
58294         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
58295         evaluates to false.
58297         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
58298         conditional GL_GENERATE_SELINUX_CONTEXT_H.
58299         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
58300         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
58302         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
58303         GL_GENERATE_STDARG_H.
58304         * modules/stdarg (Makefile.am): Remove stdarg.h if
58305         GL_GENERATE_STDARG_H evaluates to false.
58307         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
58308         GL_GENERATE_STDBOOL_H.
58309         * modules/stdbool (Makefile.am): Remove stdbool.h if
58310         GL_GENERATE_STDBOOL_H evaluates to false.
58312         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
58313         conditional GL_GENERATE_STDDEF_H.
58314         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
58315         * modules/stddef (Makefile.am): Remove stddef.h if
58316         GL_GENERATE_STDDEF_H evaluates to false.
58318         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
58319         GL_GENERATE_STDINT_H.
58320         * modules/stdint (Makefile.am): Remove stdint.h if
58321         GL_GENERATE_STDINT_H evaluates to false.
58323         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
58324         GL_GENERATE_SYSEXITS_H.
58325         * modules/sysexits (Makefile.am): Remove sysexits.h if
58326         GL_GENERATE_SYSEXITS_H evaluates to false.
58328         Reported by Karl Berry and Ralf Wildenhues.
58330 2011-04-05  Bruno Haible  <bruno@clisp.org>
58332         Ensure to rebuild generated .h files when config.status has changed.
58333         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
58334         config.status.
58335         * modules/ctype (Makefile.am): Likewise.
58336         * modules/dirent (Makefile.am): Likewise.
58337         * modules/errno (Makefile.am): Likewise.
58338         * modules/fcntl-h (Makefile.am): Likewise.
58339         * modules/float (Makefile.am): Likewise.
58340         * modules/getopt-posix (Makefile.am): Likewise.
58341         * modules/glob (Makefile.am): Likewise.
58342         * modules/iconv-h (Makefile.am): Likewise.
58343         * modules/inttypes (Makefile.am): Likewise.
58344         * modules/langinfo (Makefile.am): Likewise.
58345         * modules/locale (Makefile.am): Likewise.
58346         * modules/math (Makefile.am): Likewise.
58347         * modules/netdb (Makefile.am): Likewise.
58348         * modules/netinet_in (Makefile.am): Likewise.
58349         * modules/poll-h (Makefile.am): Likewise.
58350         * modules/pthread (Makefile.am): Likewise.
58351         * modules/pty (Makefile.am): Likewise.
58352         * modules/sched (Makefile.am): Likewise.
58353         * modules/search (Makefile.am): Likewise.
58354         * modules/selinux-h (Makefile.am): Likewise.
58355         * modules/signal (Makefile.am): Likewise.
58356         * modules/spawn (Makefile.am): Likewise.
58357         * modules/stdarg (Makefile.am): Likewise.
58358         * modules/stdbool (Makefile.am): Likewise.
58359         * modules/stddef (Makefile.am): Likewise.
58360         * modules/stdint (Makefile.am): Likewise.
58361         * modules/stdio (Makefile.am): Likewise.
58362         * modules/stdlib (Makefile.am): Likewise.
58363         * modules/string (Makefile.am): Likewise.
58364         * modules/strings (Makefile.am): Likewise.
58365         * modules/sys_file (Makefile.am): Likewise.
58366         * modules/sys_ioctl (Makefile.am): Likewise.
58367         * modules/sys_select (Makefile.am): Likewise.
58368         * modules/sys_socket (Makefile.am): Likewise.
58369         * modules/sys_stat (Makefile.am): Likewise.
58370         * modules/sys_time (Makefile.am): Likewise.
58371         * modules/sys_times (Makefile.am): Likewise.
58372         * modules/sys_utsname (Makefile.am): Likewise.
58373         * modules/sys_wait (Makefile.am): Likewise.
58374         * modules/sysexits (Makefile.am): Likewise.
58375         * modules/termios (Makefile.am): Likewise.
58376         * modules/time (Makefile.am): Likewise.
58377         * modules/unistd (Makefile.am): Likewise.
58378         * modules/wchar (Makefile.am): Likewise.
58379         * modules/wctype-h (Makefile.am): Likewise.
58380         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
58382 2011-04-05  Bruno Haible  <bruno@clisp.org>
58384         pipe2: Relicense under LGPLv2+.
58385         * modules/pipe2 (License): Change to LGPLv2+.
58386         Requested by Eric Blake, for libvirt.
58388 2011-04-05  Bruce Korb  <bkorb@gnu.org>
58390         bootstrap: compute gnulib_extra_files after updating build_aux
58391         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
58392         change build_aux or also supply gnulib_extra_files.  Handle correctly.
58394 2011-04-05  Eric Blake  <eblake@redhat.com>
58396         bootstrap: preserve git whitelist item sorting
58397         * build-aux/bootstrap (sort_patterns): New function.
58398         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
58400 2011-04-05  Simon Josefsson  <simon@josefsson.org>
58402         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
58403         sc_space_tab check.
58405 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
58407         areadlink, areadlinkat: rewrite in terms of careadlinkat
58408         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
58409         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
58410         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
58411         (malloc, realloc): Remove #undefs.
58412         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
58413         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
58414         readlink, ssize_t, stdint, unistd.
58415         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
58416         areadlink, stdint.
58418         careadlinkat: new module
58419         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
58420         * modules/careadlinkat: New files, written by me with
58421         a review and feedback from Ben Pfaff in
58422         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
58424 2011-04-01  Bruno Haible  <bruno@clisp.org>
58426         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
58427         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
58428         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
58429         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
58430         Reported by Bruce Korb <bruce.korb@gmail.com>.
58432 2011-04-01  Bruno Haible  <bruno@clisp.org>
58434         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
58435         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
58436         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
58437         * modules/wcpcpy (Depends-on): Add extensions.
58438         * modules/wcpncpy (Depends-on): Likewise.
58439         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
58440         systems.
58441         * doc/posix-functions/wcpncpy.texi: Likewise.
58442         * doc/posix-functions/wcwidth.texi: Likewise.
58444 2011-03-31  Eric Blake  <eblake@redhat.com>
58446         nonblocking: fix mingw test failures
58447         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
58448         non-blocking flag on regular file.
58449         (get_nonblocking_flag): Set errno on invalid fd.
58450         * tests/test-nonblocking.c (main): Avoid test failure on
58451         directories if fchdir is not active.
58452         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
58454 2011-03-31  Bruno Haible  <bruno@clisp.org>
58456         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
58457         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
58458         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
58459         Reported by Simon Josefsson <simon@josefsson.org>.
58461 2011-03-31  Bruno Haible  <bruno@clisp.org>
58462         and Eric Blake  <eblake@redhat.com>
58464         nonblocking: new module
58465         * modules/nonblocking: New module.
58466         * modules/nonblocking-tests: Likewise.
58467         * lib/nonblocking.h: New file.
58468         * lib/nonblocking.c: Likewise.
58469         * tests/test-nonblocking.c: New test.
58470         * lib/ioctl.c (ioctl) [mingw]: Update comment.
58472 2011-03-30  Bruno Haible  <bruno@clisp.org>
58474         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
58475         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
58476         instead of 'printf' format for GCC >= 4.4.
58477         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
58478         (fprintf, printf, vfprintf, vprintf): Declare with
58479         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
58480         the system's vfprintf() function.
58481         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
58483 2011-03-30  Eric Blake  <eblake@redhat.com>
58485         passfd: fix scoping bug
58486         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
58487         before sendmsg/recvmsg.
58489         passfd: standardize coding conventions
58490         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
58491         can be learned at compile time.
58492         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
58493         ifdefs.
58494         (sendfd, recvfd): Follow gnulib code conventions.
58496         passfd: fix incorrect sendmsg arguments
58497         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
58498         incorrect msg_controllen value.
58499         * modules/passfd-tests (Depends-on): Check for alarm.
58500         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
58501         Reported by Bastien ROUCARIES.
58503 2011-03-30  Bruno Haible  <bruno@clisp.org>
58505         c-strcasestr: Relicense under LGPLv2+.
58506         * modules/c-strcasestr (License): Change to LGPLv2+.
58507         Requested by Eric Blake, for libvirt.
58509 2011-03-30  Simon Josefsson  <simon@josefsson.org>
58511         * users.txt: Add libidn2.  Fix libtasn1 link.
58513 2011-03-30  Jim Meyering  <meyering@redhat.com>
58515         tests: readlink* ("",... fails with EINVAL on newer kernels
58516         readlink and readlinkat have typically failed with ENOENT for
58517         the invalid, empty file name,  "".  However, with the advent
58518         of linux-2.6.39, they fail with EINVAL.
58519         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
58520         when operating on the empty file name.
58521         * tests/test-readlink.h (test_readlink): Likewise.
58523 2011-03-29  Bruno Haible  <bruno@clisp.org>
58525         Relicense some modules under LGPLv2+, for libidn2.
58526         * modules/array-mergesort (License): Change to LGPLv2+.
58527         * modules/c-strcaseeq (License): Likewise.
58528         * modules/striconveh (License): Likewise.
58529         * modules/striconveha (License): Likewise.
58530         * modules/uniconv/base (License): Likewise.
58531         * modules/uniconv/u8-conv-from-enc (License): Likewise.
58532         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
58533         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
58534         * modules/unictype/base (License): Likewise.
58535         * modules/unictype/bidiclass-of (License): Likewise.
58536         * modules/unictype/category-M (License): Likewise.
58537         * modules/unictype/category-none (License): Likewise.
58538         * modules/unictype/category-of (License): Likewise.
58539         * modules/unictype/category-test (License): Likewise.
58540         * modules/unictype/category-test-withtable (License): Likewise.
58541         * modules/unictype/combining-class (License): Likewise.
58542         * modules/unictype/joiningtype-of (License): Likewise.
58543         * modules/unictype/scripts (License): Likewise.
58544         * modules/uninorm/base (License): Likewise.
58545         * modules/uninorm/canonical-decomposition (License): Likewise.
58546         * modules/uninorm/composition (License): Likewise.
58547         * modules/uninorm/decompose-internal (License): Likewise.
58548         * modules/uninorm/decomposition-table (License): Likewise.
58549         * modules/uninorm/nfc (License): Likewise.
58550         * modules/uninorm/nfd (License): Likewise.
58551         * modules/uninorm/u32-normalize (License): Likewise.
58552         * modules/unistr/base (License): Likewise.
58553         * modules/unistr/u32-cpy (License): Likewise.
58554         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
58555         * modules/unistr/u32-to-u8 (License): Likewise.
58556         * modules/unistr/u32-uctomb (License): Likewise.
58557         * modules/unistr/u8-check (License): Likewise.
58558         * modules/unistr/u8-mblen (License): Likewise.
58559         * modules/unistr/u8-mbtouc (License): Likewise.
58560         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
58561         * modules/unistr/u8-mbtoucr (License): Likewise.
58562         * modules/unistr/u8-prev (License): Likewise.
58563         * modules/unistr/u8-strlen (License): Likewise.
58564         * modules/unistr/u8-to-u32 (License): Likewise.
58565         * modules/unistr/u8-uctomb (License): Likewise.
58566         * modules/unitypes (License): Likewise.
58567         Requested by Simon Josefsson.
58569 2011-03-29  Simon Josefsson  <simon@josefsson.org>
58571         lib-symbol-visibility: Add a notice.
58572         * modules/lib-symbol-visibility (Notice): New field.
58574 2011-03-29  Bruno Haible  <bruno@clisp.org>
58576         getaddrinfo: Doc fix.
58577         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
58578         section "fixed in Gnulib".
58580 2011-03-28  Simon Josefsson  <simon@josefsson.org>
58582         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
58583         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
58585 2011-03-26  Bruno Haible  <bruno@clisp.org>
58587         unictype/property-byname: Reduce the number of load-time relocations.
58588         * lib/unictype/pr_byname.c: Include <stdlib.h>.
58589         (UC_PROPERTY_INDEX_*): New enumeration values.
58590         (uc_property_byname): Convert an index from the lookup table to an
58591         uc_property_t.
58592         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
58593         values.
58595 2011-03-26  Bruno Haible  <bruno@clisp.org>
58597         unictype/property-byname: Allow omitted word separators and aliases.
58598         * lib/unictype/pr_byname.gperf: Add property names without word
58599         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
58600         for 'space'.
58602 2011-03-26  Bruno Haible  <bruno@clisp.org>
58604         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
58605         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
58606         also hyphens to space.
58607         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
58608         without spaces.
58609         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
58611 2011-03-26  Bruno Haible  <bruno@clisp.org>
58613         unictype/joiningtype-byname: Recognize long names as well.
58614         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
58615         a long name.
58616         * lib/unictype/joiningtype_byname.c: Include <string.h>,
58617         unictype/joiningtype_byname.h.
58618         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
58619         * lib/unictype/joiningtype_byname.gperf: New file.
58620         * modules/unictype/joiningtype-byname (Files): Add
58621         lib/unictype/joiningtype_byname.gperf.
58622         (Depends-on): Add gperf.
58623         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
58624         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
58625         long names.
58627         Tests for module 'unictype/joiningtype-longname'.
58628         * modules/unictype/joiningtype-longname-tests: New file.
58629         * tests/unictype/test-joiningtype_longname.c: New file.
58631         New module 'unictype/joiningtype-longname'.
58632         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
58633         * lib/unictype/joiningtype_longname.c: New file.
58634         * modules/unictype/joiningtype-longname: New file.
58635         * modules/unictype/joiningtype-all (Depends-on): Add
58636         unictype/joiningtype-longname.
58638 2011-03-26  Bruno Haible  <bruno@clisp.org>
58640         unictype/bidiclass-byname: Recognize long names as well.
58641         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
58642         name.
58643         * lib/unictype/bidi_byname.c: Include <string.h>,
58644         unictype/bidi_byname.h.
58645         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
58646         * lib/unictype/bidi_byname.gperf: New file.
58647         * modules/unictype/bidiclass-byname (Files): Add
58648         lib/unictype/bidi_byname.gperf.
58649         (Depends-on): Add gperf.
58650         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
58651         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
58652         long names.
58654         Tests for module 'unictype/bidiclass-longname'.
58655         * modules/unictype/bidiclass-longname-tests: New file.
58656         * tests/unictype/test-bidi_longname.c: New file.
58658         New module 'unictype/bidiclass-longname'.
58659         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
58660         * lib/unictype/bidi_longname.c: New file.
58661         * modules/unictype/bidiclass-longname: New file.
58662         * modules/unictype/bidiclass-all (Depends-on): Add
58663         unictype/bidiclass-longname.
58665 2011-03-26  Bruno Haible  <bruno@clisp.org>
58667         unictype/bidi*: Rename modules.
58668         * modules/unictype/bidiclass-all: Renamed from
58669         modules/unictype/bidicategory-all.
58670         * modules/unictype/bidiclass-name: Renamed from
58671         modules/unictype/bidiclass-name.
58672         (Description): Update.
58673         * modules/unictype/bidiclass-name-tests: Renamed from
58674         modules/unictype/bidicategory-name-tests.
58675         * modules/unictype/bidiclass-byname: Renamed from
58676         modules/unictype/bidicategory-byname.
58677         (Description): Update.
58678         * modules/unictype/bidiclass-byname-tests: Renamed from
58679         modules/unictype/bidicategory-byname-tests.
58680         * modules/unictype/bidiclass-of: Renamed from
58681         modules/unictype/bidicategory-of.
58682         (Description): Update.
58683         * modules/unictype/bidiclass-of-tests: Renamed from
58684         modules/unictype/bidicategory-of-tests.
58685         * modules/unictype/bidiclass-test: Renamed from
58686         modules/unictype/bidicategory-test.
58687         (Description): Update.
58688         * modules/unictype/bidiclass-test-tests: Renamed from
58689         modules/unictype/bidicategory-test-tests.
58690         * modules/unictype/bidicategory-all: New file, a simple redirection.
58691         * modules/unictype/bidicategory-name: Likewise.
58692         * modules/unictype/bidicategory-byname: Likewise.
58693         * modules/unictype/bidicategory-of: Likewise.
58694         * modules/unictype/bidicategory-test: Likewise.
58695         * modules/unictype/property-bidi-* (Dependencies): Update.
58696         * lib/unictype/bidi_*.c: Update comment.
58698 2011-03-26  Bruno Haible  <bruno@clisp.org>
58700         unictype/bidi*: Rename functions, part 2.
58701         * modules/unictype/bidicategory-name (configure.ac): Update required
58702         libunistring version.
58703         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
58705 2011-03-25  Bruno Haible  <bruno@clisp.org>
58707         New module 'unictype/combining-class-all'.
58708         * modules/unictype/combining-class-all: New file.
58710         Tests for module 'unictype/combining-class-byname'.
58711         * modules/unictype/combining-class-byname-tests: New file.
58712         * tests/unictype/test-combiningclass_byname.c: New file.
58714         New module 'unictype/combining-class-byname'.
58715         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
58716         * lib/unictype/combiningclass_byname.c: New file.
58717         * lib/unictype/combiningclass_byname.gperf: New file.
58718         * modules/unictype/combining-class-byname: New file.
58720         Tests for module 'unictype/combining-class-longname'.
58721         * modules/unictype/combining-class-longname-tests: New file.
58722         * tests/unictype/test-combiningclass_longname.c: New file.
58724         New module 'unictype/combining-class-longname'.
58725         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
58726         * lib/unictype/combiningclass_longname.c: New file.
58727         * modules/unictype/combining-class-longname: New file.
58729         Tests for module 'unictype/combining-class-name'.
58730         * modules/unictype/combining-class-name-tests: New file.
58731         * tests/unictype/test-combiningclass_name.c: New file.
58733         New module 'unictype/combining-class-name'.
58734         * lib/unictype.in.h (uc_combining_class_name): New declaration.
58735         * lib/unictype/combiningclass_name.c: New file.
58736         * modules/unictype/combining-class-name: New file.
58738 2011-03-25  Bruno Haible  <bruno@clisp.org>
58740         unictype/combining-class: Rename source files.
58741         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
58742         of unictype/combining.h.
58743         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
58744         Update.
58745         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
58746         * modules/unictype/combining-class (Description): Fix.
58747         (Files, Makefile.am): Update.
58748         * tests/unictype/test-combiningclass.c: Renamed from
58749         tests/unictype/test-combining.c.
58750         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
58752 2011-03-25  Bruno Haible  <bruno@clisp.org>
58754         unictype: Update list of canonical combining classes.
58755         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
58757 2011-03-25  Bruno Haible  <bruno@clisp.org>
58759         unictype/category-byname: Recognize long names as well.
58760         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
58761         a long name.
58762         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
58763         unictype/categ_byname.h.
58764         (UC_CATEGORY_INDEX_*): New enumeration values.
58765         (uc_general_category_byname): Use uc_general_category_lookup and
58766         convert from index to value.
58767         * lib/unictype/categ_byname.gperf: New file.
58768         * modules/unictype/category-byname (Files): Add
58769         lib/unictype/categ_byname.gperf.
58770         (Depends-on): Add gperf.
58771         (Makefile.am): Add rule for generating unictype/categ_byname.h.
58772         * tests/unictype/test-categ_byname.c (main): Test the recognition of
58773         long names.
58775         Tests for module 'unictype/category-longname'.
58776         * modules/unictype/category-longname-tests: New file.
58777         * tests/unictype/test-categ_longname.c: New file.
58779         New module 'unictype/category-longname'.
58780         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
58781         * lib/unictype/categ_longname.c: New file.
58782         * modules/unictype/category-longname: New file.
58783         * modules/unictype/category-all (Depends-on): Add it.
58785 2011-03-25  Bruno Haible  <bruno@clisp.org>
58787         Tests for module 'unictype/category-LC'.
58788         * modules/unictype/category-LC-tests: New file.
58789         * tests/unictype/test-categ_LC.c: New file, automatically generated.
58791         New module 'unictype/category-LC'.
58792         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
58793         (UC_CATEGORY_LC): New declaration.
58794         (UC_CASED_LETTER): New macro.
58795         * lib/gen-uni-tables.c (is_category_LC): New function.
58796         (output_categories): Also handle category LC.
58797         (UC_CATEGORY_MASK_LC): New enumeration value.
58798         (general_category_byname): Also handle category LC.
58799         * lib/unictype/categ_LC.c: New file.
58800         * lib/unictype/categ_LC.h: New file, automatically generated.
58801         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
58802         category LC.
58803         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
58804         * modules/unictype/category-LC: New file.
58805         * modules/unictype/category-byname (Depends-on): Add
58806         unictype/category-LC.
58807         * modules/unictype/category-all (Depends-on): Likewise.
58809 2011-03-25  Eric Blake  <eblake@redhat.com>
58811         xmalloc: revert yesterday's regression
58812         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
58813         realloc's underlying behavior (allowing allocation of zero-size
58814         objects, especially if malloc-gnu is also in use).
58816 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
58818         maint.mk: add missing version to VC-tag
58819         * top/maint.mk: git tag was missing actual tag name; add it.
58821         valgrind: do leak checking, and exit with code 1 on error (not 0)
58822         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
58823         to VALGRIND.
58825 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
58827         posix-modules: say what it does.
58828         * posix-modules: Add a line to the --help output saying what it does.
58830 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
58832         xmalloc: Do not leak if underlying realloc is C99 compatible.
58833         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
58834         This avoids a leak on C99-based systems.  See
58835         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
58837 2011-03-24  Eric Blake  <eblake@redhat.com>
58839         realloc: document portability problem
58840         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
58841         passing 0 size to realloc.
58843 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
58845         doc: update users.txt
58846         * users.txt: Add cvsps, tmpwatch
58848 2011-03-23  Matt Rice  <ratmice@gmail.com>
58850         doc: update users.txt
58851         * users.txt: Add gdb.
58853 2011-03-23  Jim Meyering  <meyering@redhat.com>
58855         doc: update users.txt
58856         Looking through matches up to the following URL (there are still
58857         several more pages), I found several projects that use gnulib:
58858         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
58859         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
58860         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
58862 2011-03-22  Bruno Haible  <bruno@clisp.org>
58864         unictype/bidi*: Rename functions.
58865         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
58866         uc_bidi_class, uc_is_bidi_class): New declarations.
58867         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
58868         uc_bidi_category_byname.
58869         (uc_bidi_category_byname): New function.
58870         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
58871         u_bidi_category_name.
58872         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
58873         (uc_bidi_category_name): New function.
58874         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
58875         uc_bidi_category.
58876         (uc_bidi_category): New function.
58877         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
58878         uc_is_bidi_category. Invoke uc_bidi_class.
58879         (uc_is_bidi_category): New function.
58880         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
58881         instead of uc_bidi_category_byname.
58882         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
58883         instead of uc_bidi_category_name.
58884         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
58885         uc_bidi_category.
58886         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
58887         instead of uc_is_bidi_category.
58889 2011-03-21  Bruno Haible  <bruno@clisp.org>
58891         New module 'unictype/joininggroup-all'.
58892         * modules/unictype/joininggroup-all: New file.
58894         Tests for module 'unictype/joininggroup-of'.
58895         * modules/unictype/joininggroup-of-tests: New file.
58896         * tests/unictype/test-joininggroup_of.c: New file.
58897         * tests/unictype/test-joininggroup_of.h: New file, automatically
58898         generated by gen-uni-tables.
58900         New module 'unictype/joininggroup-of'.
58901         * modules/unictype/joininggroup-of: New file.
58902         * lib/unictype/joininggroup_of.c: New file.
58903         * lib/unictype/joininggroup_of.h: New file, automatically generated by
58904         gen-uni-tables.
58906         Tests for module 'unictype/joininggroup-byname'.
58907         * modules/unictype/joininggroup-byname-tests: New file.
58908         * tests/unictype/test-joininggroup_byname.c: New file.
58910         New module 'unictype/joininggroup-byname'.
58911         * modules/unictype/joininggroup-byname: New file.
58912         * lib/unictype/joininggroup_byname.c: New file.
58913         * lib/unictype/joininggroup_byname.gperf: New file.
58915         Tests for module 'unictype/joininggroup-name'.
58916         * modules/unictype/joininggroup-name-tests: New file.
58917         * tests/unictype/test-joininggroup_name.c: New file.
58919         New module 'unictype/joininggroup-name'.
58920         * modules/unictype/joininggroup-name: New file.
58921         * lib/unictype/joininggroup_name.c: New file.
58922         * lib/unictype/joininggroup_name.h: New file.
58924         New module 'unictype/joiningtype-all'.
58925         * modules/unictype/joiningtype-all: New file.
58927         Tests for module 'unictype/joiningtype-of'.
58928         * modules/unictype/joiningtype-of-tests: New file.
58929         * tests/unictype/test-joiningtype_of.c: New file.
58930         * tests/unictype/test-joiningtype_of.h: New file, automatically
58931         generated by gen-uni-tables.
58933         New module 'unictype/joiningtype-of'.
58934         * modules/unictype/joiningtype-of: New file.
58935         * lib/unictype/joiningtype_of.c: New file.
58936         * lib/unictype/joiningtype_of.h: New file, automatically generated by
58937         gen-uni-tables.
58939         Tests for module 'unictype/joiningtype-byname'.
58940         * modules/unictype/joiningtype-byname-tests: New file.
58941         * tests/unictype/test-joiningtype_byname.c: New file.
58943         New module 'unictype/joiningtype-byname'.
58944         * modules/unictype/joiningtype-byname: New file.
58945         * lib/unictype/joiningtype_byname.c: New file.
58947         Tests for module 'unictype/joiningtype-name'.
58948         * modules/unictype/joiningtype-name-tests: New file.
58949         * tests/unictype/test-joiningtype_name.c: New file.
58951         New module 'unictype/joiningtype-name'.
58952         * modules/unictype/joiningtype-name: New file.
58953         * lib/unictype/joiningtype_name.c: New file.
58955         unictype: Add support for Arabic shaping properties.
58956         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
58957         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
58958         declarations.
58959         (UC_JOINING_GROUP_*): New enumeration values.
58960         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
58961         declarations.
58962         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
58963         (unicode_joining_type): New variable.
58964         (UC_JOINING_GROUP_*): New enumeration values.
58965         (unicode_joining_group): New variable.
58966         (fill_arabicshaping, joining_type_as_c_identifier,
58967         output_joining_type_test, output_joining_type,
58968         joining_group_as_c_identifier, output_joining_group_test,
58969         output_joining_group): New functions.
58970         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
58971         fill_arabicshaping and output_joining_type_test, output_joining_type,
58972         output_joining_group_test, output_joining_group.
58973         Reported by Simon Josefsson.
58975 2011-03-21  Jim Meyering  <meyering@redhat.com>
58977         strftime: fix a bug in yesterday's change
58978         * lib/strftime.c (add): Accommodate width's initial value of -1.
58979         Otherwise, nstrftime would copy uninitialized data into
58980         the result buffer.
58982 2011-03-21  Jim Meyering  <meyering@redhat.com>
58984         tests: add strftime-tests module
58985         * tests/test-strftime.c: New file.
58986         * modules/strftime-tests: New module.
58988 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58990         strftime: don't assume a byte count fits in 'int'
58991         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
58992         found this problem by static analysis, using gcc -Wstrict-overflow
58993         (GCC 4.5.2, x86-64).  This reported an optimization that depended
58994         on an integer overflow having undefined behavior, but it turns out
58995         that the argument is a size, which might not fit in 'int' anyway,
58997 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58999         stdio: don't require ignore_value around fwrite
59001         This patch works around libc bug 11959
59002         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
59003         Without this patch, applications must often write
59004         ignore_value (fwrite (...)) even though the ignore_value is
59005         not helpful here.  It's common to write many objects, using
59006         fwrite/printf/etc., and then use ferror to detect output error.
59008         I considered making this patch optional, but decided against it,
59009         because libc is obviously being inconsistent here: there is no
59010         reason libc should insist that user code must inspect fwrite
59011         return's value without also insisting that it inspect printf's,
59012         putchar's, etc.  If user code wants to have a strict style where
59013         all these functions' values are checked (so that ferror need not
59014         be checked), we could add support for that style in a new gnulib
59015         module, but in the meantime it's better to be consistent and to
59016         support common usage.
59018         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
59019         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
59020         that we are compiling in checking mode, and if not C++, and
59021         if not already wrapping fwrite for some other reason.
59022         (fwrite): #define to rpl_fwrite if the latter is defined.
59024 2011-03-20  Bruno Haible  <bruno@clisp.org>
59026         verror: Fix compilation error introduced on 2011-02-13.
59027         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
59028         instead of __attribute__.
59029         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
59031 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
59032             Bruno Haible  <bruno@clisp.org>
59034         socklen: do not depend on sys_socket
59035         While trying to modify Emacs to use gnulib's socklen module,
59036         I discovered a circular dependency: socklen depends on sys_socket
59037         and vice versa.  Emacs can use socklen, but it does not need
59038         sys_socket because it has its own substitute for sys/socket.h.
59039         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
59040         gl_TYPE_SOCKLEN_T.
59041         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
59042         gl_PREREQ_SYS_H_SOCKET.
59043         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
59044         gl_PREREQ_SYS_H_SOCKET.
59045         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
59046         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
59047         * modules/socklen (Depends-on): Do not depend on sys_socket.
59048         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
59050 2011-03-20  Jim Meyering  <meyering@redhat.com>
59052         maint.mk: sort file names *after* new transformation
59053         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
59054         prefix would have led to an unwarranted failure in GNU parted.
59055         Sort after that transformation.
59057 2011-03-19  Jim Meyering  <meyering@redhat.com>
59059         maint.mk: fix po-file syntax-check rule
59060         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
59061         Patch by Bruno Haible.
59063 2011-03-19  Bruno Haible  <bruno@clisp.org>
59065         socklen: Update comment.
59066         * m4/socklen.m4: Update comment about platforms.
59068 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59069             Bruno Haible  <bruno@clisp.org>
59071         inet_ntop, inet_pton: Simplify.
59072         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
59073         documented to provide socklen_t and we already depend on sys_socket.
59074         * modules/inet_pton (Depends-on): Likewise.
59075         * lib/arpa_inet.in.h: Adjust comment.
59077 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59078             Bruno Haible  <bruno@clisp.org>
59080         netdb: Simplify.
59081         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
59082         documented to provide socklen_t and we already depend on sys_socket.
59083         * lib/netdb.in.h: Adjust comment.
59085 2011-03-19  Bruno Haible  <bruno@clisp.org>
59087         sys_socket, netdb: Document problem with socklen_t.
59088         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
59089         platforms.
59090         * doc/posix-headers/netdb.texi: Likewise.
59092 2011-03-18  Eric Blake  <eblake@redhat.com>
59094         maint.mk: let po check work in VPATH build
59095         * top/maint.mk (po_file): Allow cfg.mk override.
59096         (sc_po_check): Allow VPATH use.
59097         Reported by Jiri Denemark.
59099 2011-03-16  Jim Meyering  <meyering@redhat.com>
59101         maint.mk: allow fine-grained syntax-check exclusion via Make variables
59102         Before, you would have had to create one .x-sc_ file per rule in order
59103         to exempt offending files.  Now, you may instead use a Make variable --
59104         usually defined in cfg.mk -- whose name identifies the affected rule.
59105         * top/maint.mk (_sc_excl): Define.
59106         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
59107         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
59109 2011-03-13  Bruno Haible  <bruno@clisp.org>
59111         ignore-value tests: Avoid warnings.
59112         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
59113         empty for gcc < 3.4.
59115 2011-03-13  Bruno Haible  <bruno@clisp.org>
59117         passfd: Fix link error on Solaris.
59118         * modules/passfd (Description): Correct.
59119         (Depends-on): Add socketlib.
59120         (Link): New section.
59121         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
59123 2011-03-13  Bruno Haible  <bruno@clisp.org>
59125         passfd: Fix link error on AIX 5.2.
59126         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
59128 2011-03-13  Bruno Haible  <bruno@clisp.org>
59130         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
59131         * lib/sys_socket.in.h: Include <stddef.h>.
59132         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
59133         CMSG_FIRSTHDR. Remove unused variable.
59135 2011-03-13  Bruno Haible  <bruno@clisp.org>
59137         passfd: Fix compilation error on OpenBSD.
59138         * lib/passfd.c: Include <sys/uio.h>.
59140 2011-03-13  Bruno Haible  <bruno@clisp.org>
59142         passfd test: Fix warnings.
59143         * tests/test-passfd.c: Include <sys/wait.h>.
59144         (main): Fix typo.
59146 2011-03-13  Bruno Haible  <bruno@clisp.org>
59148         passfd module, part 4, tweaks.
59149         * tests/test-passfd.c: Reorder includes.
59150         (main): Fix perror and printf calls.
59152 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59154         passfd module, part 4.
59155         * modules/passfd-tests: New file.
59156         * tests/test-passfd.c: New file.
59158 2011-03-13  Jim Meyering  <meyering@redhat.com>
59160         Makefile: rely on GNU make; derive syntax-check rule names
59161         Rather than requiring that each sc_ rule be listed as a dependent
59162         of "check", use features of GNU make to derive the list.
59163         * Makefile (syntax-check-rules): Define.
59164         (check): Depend on the new variable, not the hard-coded list.
59166 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
59167             Bruno Haible  <bruno@clisp.org>
59169         passfd module, part 3.
59170         * lib/passfd.h (recvfd): Add a flags argument.
59171         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
59172         (recvfd): Add a flags argument.
59173         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
59174         exists.
59175         * modules/passfd (Depends-on): Add cloexec.
59176         Suggested by Eric Blake.
59178 2011-03-13  Bruno Haible  <bruno@clisp.org>
59180         passfd module, part 2, tweaks.
59181         * modules/passfd (Files): Reorder.
59182         (Depends-on): Remove errno.
59183         (Include): Remove <sys/socket.h>, <sys/un.h>.
59184         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
59185         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
59186         specification header. Include <sys/socket.h> always. Don't include
59187         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
59188         (sendfd): Clarify that it sets errno when it fails.
59189         (recvfd): Fix specification.
59191 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59193         passfd module, part 2.
59194         * modules/passfd: New file.
59195         * lib/passfd.h: New file.
59196         * lib/passfd.c: New file.
59198 2011-03-12  Bruno Haible  <bruno@clisp.org>
59200         wcswidth, mbswidth: Avoid integer overflow.
59201         * lib/wcswidth.c: Include <limits.h>.
59202         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
59203         * lib/mbswidth.c: Include <limits.h>.
59204         (mbsnwidth): Avoid 'int' overflow.
59205         Reported by Jim Meyering.
59207 2011-03-12  Bruno Haible  <bruno@clisp.org>
59209         futimens, utimensat: Avoid endless recursion on Solaris 10.
59210         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
59211         Solaris.
59212         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
59213         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
59215 2011-03-11  Jim Meyering  <meyering@redhat.com>
59217         maint.mk: relax a regexp to accommodate other formatting styles
59218         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
59219         between "ngettext" and the following "(".
59221 2011-03-11  Pádraig Brady  <P@draigBrady.com>
59223         maint.mk: suppress a false positive warning
59224         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
59225         diagnostics are marked with ngettext.
59227 2011-03-10  Eric Blake  <eblake@redhat.com>
59229         wchar: add explicit dependencies, for Tru64
59230         * modules/mbmemcasecoll (Depends-on): Add wchar.
59231         * modules/mbtowc (Depends-on): Likewise.
59232         * modules/vasnprintf (Depends-on): Likewise.
59233         * modules/unistdio/u-printf-args (Depends-on): Likewise.
59234         * modules/wctomb (Depends-on): Likewise.
59235         Reported by Peter O'Gorman.
59237 2011-03-08  Bruno Haible  <bruno@clisp.org>
59239         passfd module, part 1, tweaks.
59240         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
59241         Improve indentation. Improve AC_MSG_CHECKING messages.
59242         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
59243         gl_SOCKET_FAMILIES.
59245 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59247         passfd module, part 1.
59248         * m4/afunix.m4: New file.
59249         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
59250         sockets.
59252 2011-03-08  Bruno Haible  <bruno@clisp.org>
59254         regex-quote: New API.
59255         * lib/regex-quote.h: Include <stdbool.h>.
59256         (struct regex_quote_spec): New type.
59257         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
59258         New declarations.
59259         (regex_quote_length, regex_quote_copy, regex_quote): Take a
59260         'const struct regex_quote_spec *' argument.
59261         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
59262         (pcre_special): New constant.
59263         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
59264         New functions.
59265         (regex_quote_length, regex_quote_copy, regex_quote): Take a
59266         'const struct regex_quote_spec *' argument.
59267         * modules/regex-quote (Depends-on): Add stdbool.
59268         * tests/test-regex-quote.c (check): Update for new API. Add test for
59269         anchored results.
59270         * NEWS: Mention the API change.
59271         Reported by Reuben Thomas and Eric Blake.
59273 2011-03-06  Bruno Haible  <bruno@clisp.org>
59275         regex-quote: Fix creation of POSIX extended regular expressions.
59276         * lib/regex-quote.c (ere_special): Add grouping and alternation
59277         operators.
59279 2011-03-05  Bruno Haible  <bruno@clisp.org>
59281         doc: Improve doc regarding autopoint vs. gnulib.
59282         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
59283         disable autopoint while running autoreconf.
59284         Suggested by Ralf Wildenhues.
59286 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59288         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
59289         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
59291 2011-03-03  Bruce Korb  <bkorb@gnu.org>
59293         parse-duration: remove xalloc.h dependency
59294         * lib/parse-duration.c (parse_period): handle NULL return from
59295         strdup instead of calling xstrdup().
59296         * modules/parse-duration: remove "xalloc" dependency
59298 2011-03-03  Matthew Booth  <mbooth@redhat.com>
59300         bootstrap: honor m4_base when running aclocal
59301         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
59303 2011-03-02  Jim Meyering  <meyering@redhat.com>
59305         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
59306         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
59307         on request from Matt Booth.
59309 2011-03-01  Eric Blake  <eblake@redhat.com>
59311         test-link: work on Hurd
59312         * tests/test-link.h (test_link): Hurd rejects linking directories
59313         with EISDIR instead of the POSIX-mandated EPERM.
59315 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
59317         stdio: simplify by moving files to printf-posix, sigpipe
59318         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
59319         since this symbol is needed only if printf is replaced.
59320         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
59321         Require gl_ASM_SYMBOL_PREFIX.
59322         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
59323         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
59324         (Depends-on): Add 'raise'.
59325         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
59326         * modules/stdio (Files): Remove lib/stdio-write.c,
59327         m4/asm-underscore.m4.
59328         (Depends-on): Remove 'raise'.
59330         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
59331         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
59332         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
59333         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
59335 2011-02-28  Bruno Haible  <bruno@clisp.org>
59337         localcharset: Assume ANSI C behaviour of free().
59338         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
59339         calling free().
59340         Suggested by Simon Josefsson <simon@josefsson.org>.
59342 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
59343             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
59344             Bruno Haible  <bruno@clisp.org>  (tiny change)
59346         On Cygwin, use /proc file system instead of win32 API.
59347         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
59348         Win32 file names.
59349         (DllMain): Simplify by removing Cygwin specific code.
59350         (find_shared_library_fullname): Use Linux specific implementation also
59351         for Cygwin.
59352         (get_shared_library_fullname): Update accordingly.
59353         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
59354         Win32 file names.
59355         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
59356         Cygwin specific code.
59358 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
59359             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
59361         Fix OpenMP flag detection for various Fortran compilers.
59362         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
59363         OpenMP-conditional compilation construct, to force compile
59364         failure with missing OpenMP flag.
59365         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
59367 2011-02-25  Eric Blake  <eblake@redhat.com>
59369         strstr: expand test coverage
59370         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
59371         compilation.
59372         * tests/test-memmem.c (main): Duplicate tests.
59373         * tests/test-strcasestr.c (main): Likewise.
59374         * tests/test-c-strcasestr.c (main): Likewise.
59376 2011-02-25  Jim Meyering  <meyering@redhat.com>
59378         maint.mk: detect missing-NL-at-EOF, too
59379         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
59380         it also detects when a file lacks a newline at EOF.
59381         (require_exactly_one_NL_at_EOF_): Renamed from
59382         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
59383         since people may well have .x-sc_... file names tied to the
59384         existing name.  Suggested by Eric Blake.
59386 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59388         dirname: move m4/dos.m4 functionality into lib/dosname.h
59390         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
59391         extracts symbols from it, puts them into config.h; but it's much
59392         easier to use the symbols directly.  filename.h already does this,
59393         but it disagrees with dos.m4 in some respects.  This patch
59394         introduces a different include file dosname.h that packages up
59395         dos.m4, and then later we can work on merging filename.h and
59396         dosname.h.  Applications that need only the easy-to-configure
59397         symbols should consider including dosname.h rather than dirname.h.
59398         * NEWS: Mention incompatible changes.
59399         * m4/dos.m4: Remove.
59400         * lib/dosname.h, modules/dosname: New files.
59401         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
59402         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
59403         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
59404         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
59405         Include dosname.h, not dirname.h.
59406         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
59407         Include dosname.h, for definitions of symbols like ISSLASH
59408         that used to be in config.h.
59409         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
59410         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
59411         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
59412         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
59413         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
59414         * modules/rmdir (Files): Likewise.
59415         * modules/stat (Files): Likewise.
59416         * modules/unlink (Files): Likewise.
59417         * modules/dirname-lgpl (Depends-on): Add dosname.
59418         * modules/lstat (Depends-on): Likewise.
59419         * modules/openat (Depends-on): Likewise.
59420         * modules/rmdir (Depends-on): Likewise.
59421         * modules/savewd (Depends-on): Likewise.
59422         * modules/stat (Depends-on): Likewise.
59423         * modules/unlink (Depends-on): Likewise.
59424         * modules/openat (Depends-on): Remove dirname-lgpl.
59425         * modules/savewd (Depends-on): Likewise.
59426         * tests/test-dirname.c: Do not use removed symbols like
59427         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
59428         the remaining symbols, e.g., ISSLASH ('\\').
59430 2011-02-25  Eric Blake  <eblake@redhat.com>
59432         strstr: revert patches that introduced bug and pessimization
59433         * lib/str-two-way.h: Add another reference.
59434         (two_way_short_needle, two_way_long_needle): Revert changes from
59435         2011-02-24; they pessimize search speed.
59436         (critical_factorization): Partially revert changes from
59437         2010-06-22; they violate the requirement that the left half of the
59438         needle be smaller than the period of the needle.
59440 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
59442         filenamecat: remove unnecessary dependency on dirname-lgpl
59443         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
59444         is no direct dependency, just an indirect one via filenamecat-lgpl.
59446         remove: remove unnecessary use of m4/dos.m4
59447         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
59448         * modules/remove (FILES): Remove m4/dos.m4.
59450         * lib/openat-proc.c: Don't include dirname.h; not needed.
59452         backupfile: remove unnecessary use of m4/dos.m4
59453         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
59454         of its symbols are used by the backupfile code.  backupfile.c does
59455         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
59456         for the rare case of programs that want all their backup file
59457         names to live within 8+3 limits, and dos.m4 doesn't address that.
59458         * modules/backupfile (Files): Remove m4/dos.m4.
59460 2011-02-24  Jim Meyering  <meyering@redhat.com>
59462         strstr: fix a bug whereby strstr would mistakenly return NULL
59463         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
59464         in period calculation.
59465         (two_way_long_needle): Likewise.
59466         The original problem was reported by Mike Stump in
59467         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
59468         Ralf Wildenhues provided the short needle and haystack.
59469         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
59470         Add a more involved test to trigger the bug in two_way_long_needle.
59472 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
59474         gnulib-tool: remove use of bold display in help screen
59475         * gnulib-tool (func_usage): Do not use bold display anymore in the
59476         help screen.  That was just meant to be a temporary emphasis for a
59477         backward-incompatible change.
59479 2011-02-23  Bruno Haible  <bruno@clisp.org>
59481         Fix misindentation of preprocessor directives.
59482         * lib/argp-namefrob.h: Reindent preprocessor directives.
59483         * lib/getopt_int.h (struct _getopt_data): Likewise.
59484         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
59485         * lib/vasnprintf.c (decode_long_double): Likewise.
59486         * tests/test-argmatch.c: Insert blank lines, for clarity.
59487         * tests/test-exclude.c: Likewise.
59489 2011-02-22  Bruno Haible  <bruno@clisp.org>
59491         ioctl: Fix for MacOS X in 64-bit mode.
59492         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
59493         value.
59494         Suggested by Eric Blake.
59495         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
59497 2011-02-22  Jim Meyering  <meyering@redhat.com>
59499         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
59500         * Makefile (sc_cpp_indent_check): Don't limit the check to files
59501         in lib/.
59503 2011-02-22  Eric Blake  <eblake@redhat.com>
59505         maint: avoid any CDPATH issue
59506         * Makefile (sc_cpp_indent_check): Anchor cd argument.
59508         maint: adjust cpp indentation for my modules, as well
59509         * Makefile (sc_cpp_indent_check): Add my name.
59510         * lib/fbufmode.c: Filter through cppi.
59511         * lib/fpurge.c: Likewise.
59512         * lib/freadable.c: Likewise.
59513         * lib/freading.c: Likewise.
59514         * lib/fwritable.c: Likewise.
59515         * lib/fwriting.c: Likewise.
59516         * lib/sigaction.c: Likewise.
59518 2011-02-22  Jim Meyering  <meyering@redhat.com>
59520         maint: adjust cpp indentation to reflect nesting depth
59521         I.e., in a block of code that begins with an unnested "#if",
59522         put one space between the "#" in column 1 and following token.
59523         For example,
59524         -#include <sys/vfs.h>
59525         +# include <sys/vfs.h>
59526         Do this only in .c files that are part of a module I maintain.
59527         * lib/linkat.c: Filter through cppi.
59528         * lib/nanosleep.c: Likewise.
59529         * lib/openat.c: Likewise.
59530         * lib/openat-die.c: Likewise.
59531         * lib/dup3.c: Likewise.
59532         * lib/fchownat.c: Likewise.
59533         * lib/flock.c: Likewise.
59534         * lib/fsync.c: Likewise.
59535         * lib/fts.c: Likewise.
59536         * lib/getpass.c: Likewise.
59537         * lib/gettimeofday.c: Likewise.
59538         * lib/userspec.c: Likewise.
59539         * Makefile (sc_cpp_indent_check): New rule, to check this.
59541 2011-02-22  Bruno Haible  <bruno@clisp.org>
59543         New module 'wctomb'.
59544         * lib/stdlib.in.h (wctomb): New declaration.
59545         * lib/wctomb.c: New file.
59546         * lib/wctomb-impl.h: New file.
59547         * m4/wctomb.m4: New file.
59548         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
59549         REPLACE_WCTOMB.
59550         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
59551         REPLACE_WCTOMB.
59552         * modules/wctomb: New file.
59553         * tests/test-stdlib-c++.cc: Test signature of wctomb.
59554         * doc/posix-functions/wctomb.texi: Mention the new module.
59555         * modules/wctob (Depends-on): Add wctomb.
59557 2011-02-22  Bruno Haible  <bruno@clisp.org>
59559         New module 'mbtowc'.
59560         * lib/stdlib.in.h (mbtowc): New declaration.
59561         * lib/mbtowc.c: New file.
59562         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
59563         * m4/mbtowc.m4: New file.
59564         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
59565         REPLACE_MBTOWC.
59566         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
59567         REPLACE_MBTOWC.
59568         * modules/mbtowc: New file.
59569         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
59570         * doc/posix-functions/mbtowc.texi: Mention the new module.
59571         * modules/btowc (Depends-on): Add mbtowc.
59573 2011-02-22  Bruno Haible  <bruno@clisp.org>
59575         wcrtomb: Add more tests for native Windows platforms.
59576         * tests/test-wcrtomb-w32-1.sh: New file.
59577         * tests/test-wcrtomb-w32-2.sh: New file.
59578         * tests/test-wcrtomb-w32-3.sh: New file.
59579         * tests/test-wcrtomb-w32-4.sh: New file.
59580         * tests/test-wcrtomb-w32-5.sh: New file.
59581         * tests/test-wcrtomb-w32.c: New file.
59582         * modules/wcrtomb-tests (Files): Add them.
59583         (Makefile.am): Arrange to run these tests.
59584         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
59585         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
59587 2011-02-20  Bruno Haible  <bruno@clisp.org>
59589         wcrtomb: Enhance test.
59590         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
59592 2011-02-20  Bruno Haible  <bruno@clisp.org>
59594         mbrtowc: Tiny optimization.
59595         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
59597 2011-02-20  Jim Meyering  <meyering@redhat.com>
59599         test-exclude.c: remove unmatched #endif
59600         * tests/test-exclude.c: Remove stray #endif, left over from
59601         the change of a week ago.
59603 2011-02-19  Jim Meyering  <meyering@redhat.com>
59605         git-version-gen: skip "-dirty" check when appropriate
59606         * build-aux/git-version-gen: Don't run any git commands when the
59607         version string comes from .tarball-version.  Prior to this, we
59608         would run git update-index --refresh even from a just-unpacked
59609         tarball directory, and that could affect a .git/ directory in a
59610         parent of the build directory.  Reported by Mike Frysinger.
59612 2011-02-19  Bruno Haible  <bruno@clisp.org>
59614         unictype/property-byname: Reduce the size of the 'data' segment.
59615         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
59617 2011-02-19  Bruno Haible  <bruno@clisp.org>
59619         unictype/scripts: Reduce the size of the 'data' segment.
59620         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
59621         '%pic'.
59622         * lib/unictype/scripts_byname.gperf: Regenerated.
59624 2011-02-19  Bruno Haible  <bruno@clisp.org>
59626         stdint: Update documentation.
59627         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
59629 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
59631         stdint: omit redundant check for wchar.h
59632         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
59633         always tests whether wchar.h exists, so remove the now-redundant test.
59635 2011-02-18  Bruno Haible  <bruno@clisp.org>
59637         stdint: Cut dependency to module 'wchar'.
59638         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
59639         include the necessary prerequisites.
59640         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
59641         * modules/stdint (Depends-on): Remove wchar.
59642         (Makefile.am): Substitute HAVE_WCHAR_H.
59643         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
59645 2011-02-18  Eric Blake  <eblake@redhat.com>
59647         longlong: skip, rather than fail, on cross-compilation
59648         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
59649         when cross-compiling; regression from 2011-02-16.
59651 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59653         * NEWS: Mention 2011-02-08 change to stdlib.
59655 2011-02-17  Bruno Haible  <bruno@clisp.org>
59657         getloadavg: Add comments about platforms.
59658         * m4/getloadavg.m4: Add comment.
59659         * lib/getloadavg.c: Likewise.
59661 2011-02-17  Bruno Haible  <bruno@clisp.org>
59663         getloadavg: Fix link error on Solaris 2.6.
59664         * modules/getloadavg (Link): New section.
59665         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
59666         linking test-getloadavg.
59667         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
59668         getloadavg.
59670 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59672         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
59673         It was 'int', but this doesn't match the IRIX 6.5 manual.
59674         Suggested by Bruno Haible in
59675         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
59677 2011-02-17  Bruno Haible  <bruno@clisp.org>
59679         havelib: Fix comments.
59680         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
59681         change.
59683 2011-02-17  Bruno Haible  <bruno@clisp.org>
59685         havelib: Update config.rpath.
59686         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
59688 2011-02-17  Bruno Haible  <bruno@clisp.org>
59690         getloadavg test: Add some plausibility checks.
59691         * tests/test-getloadavg.c (check_avg): Print a warning when the value
59692         is improbable.
59694 2011-02-16  Eric Blake  <eblake@redhat.com>
59696         maintainer-makefile: make syntax-check a no-op from tarballs
59697         * top/maint.mk (no-vc-detected): New rule.
59698         (local-checks-available): Use it to avoid hanging if someone tries
59699         'make syntax-check' from a tarball.  Also append to any non-syntax
59700         checks already defined in cfg.mk.
59702 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
59704         longlong: tune, particularly for common case of c99
59706         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
59707         or running anything if c99, or if unsigned long long int does not
59708         work.  In either case, we know the answer without further tests.
59709         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
59710         it at most once, and use its results for both long long int and
59711         unsigned long long int.  This is more likely to be efficient in
59712         the common case where the program wants to check for both long
59713         long int and unsigned long long int.
59714         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
59715         since the answer is already known.
59717 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
59719         getloadavg: set errno
59720         * lib/getloadavg.c: Set errno when returning -1.  If no other
59721         error number looks appropriate, set it to ENOSYS if the getloadavg
59722         looks like it can't possibly ever work, ENOTSUP otherwise.
59723         Suggested by Bruno Haible in
59724         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
59726         getloadavg: trim unused parts and speed up 'configure'
59727         * NEWS: Document this.
59728         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
59729         always compiled if getloadavg is absent.
59730         Move test code to ...
59731         * tests/test-getloadavg.c: New file, containing previous
59732         contents of test from lib/getloadavg.c.  It also contains
59733         suggestions by Bruno Haible in
59734         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
59735         * modules/getloadavg-tests: New file.
59736         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
59737         Do tests in the same order as they're needed for getloadavg.c.
59738         Omit setgid-related tests that generate symbols KMEM_GROUP,
59739         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
59740         Do only the tests that are needed to see whether the system has
59741         getloadavg, moving the other tests into ...
59742         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
59743         NLIST_NAME_UNION; nobody should be using it.  Do not define
59744         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
59745         relevant, as the user of this module shouldn't care how getloadavg
59746         is implemented.
59748         getloadavg: omit unused var
59749         * lib/getloadavg.c (getloadavg): Omit unused local variable.
59751 2011-02-15  Jim Meyering  <meyering@redhat.com>
59753         doc: update users.txt
59754         * users.txt: Update iwhd's URL.
59756 2011-02-13  Bruno Haible  <bruno@clisp.org>
59758         Consistent macro naming for macros that use GCC __attribute__.
59759         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
59760         _ATTRIBUTE_NONNULL_.
59761         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
59762         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
59763         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
59764         ATTRIBUTE_DEPRECATED.
59765         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
59766         ATTRIBUTE_NORETURN.
59767         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59768         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59769         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59770         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59771         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
59772         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
59773         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
59774         ATTRIBUTE_SENTINEL.
59775         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
59776         ATTRIBUTE_RETURN_CHECK.
59777         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
59778         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
59779         ATTRIBUTE_NORETURN.
59780         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
59781         Reported by Paul Eggert.
59783 2011-02-13  Bruno Haible  <bruno@clisp.org>
59785         Don't interfere with a program's definition of __attribute__.
59786         * lib/argp.h (__attribute__): Remove definition.
59787         (_GL_ATTRIBUTE_FORMAT): New macro.
59788         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
59789         * lib/argp-fmtstream.h (__attribute__): Remove definition.
59790         (_GL_ATTRIBUTE_FORMAT): New macro.
59791         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
59792         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
59793         GCC 3 or newer.
59794         * lib/error.h (__attribute__): Remove definition.
59795         (_GL_ATTRIBUTE_FORMAT): New macro.
59796         (error, error_at_line): Use it.
59797         * lib/hash.h (__attribute__): Remove definition.
59798         (ATTRIBUTE_WUR): Update definition. Define always.
59799         * lib/openat.h (__attribute__): Remove definition.
59800         (ATTRIBUTE_NORETURN): Update definition. Define always.
59801         * lib/sigpipe-die.h (__attribute__): Remove definition.
59802         (ATTRIBUTE_NORETURN): Update definition. Define always.
59803         * lib/vasnprintf.h (__attribute__): Remove definition.
59804         (_GL_ATTRIBUTE_FORMAT): New macro.
59805         (asnprintf, vasnprintf): Use it.
59806         * lib/xalloc.h (__attribute__): Remove definition.
59807         (ATTRIBUTE_NORETURN): Update definition. Define always.
59808         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
59809         * lib/xmemdup0.h (__attribute__): Remove definition.
59810         (ATTRIBUTE_NORETURN): Update definition. Define always.
59811         * lib/xprintf.h (__attribute__): Remove definition.
59812         (_GL_ATTRIBUTE_FORMAT): New macro.
59813         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
59814         * lib/xstrtol.h (__attribute__): Remove definition.
59815         (ATTRIBUTE_NORETURN): Update definition. Define always.
59816         * lib/xvasprintf.h (__attribute__): Remove definition.
59817         (_GL_ATTRIBUTE_FORMAT): New macro.
59818         (xasprintf, xvasprintf): Use it.
59819         * tests/test-argmatch.c (__attribute__): Remove definition.
59820         (ATTRIBUTE_NORETURN): Update definition. Define always.
59821         * tests/test-exclude.c (__attribute__): Remove definition.
59822         (ATTRIBUTE_NORETURN): Update definition. Define always.
59823         Reported by Paul Eggert.
59825 2011-02-13  Bruno Haible  <bruno@clisp.org>
59827         mbrtowc: Add more tests for native Windows platforms.
59828         * tests/test-mbrtowc-w32-1.sh: New file.
59829         * tests/test-mbrtowc-w32-2.sh: New file.
59830         * tests/test-mbrtowc-w32-3.sh: New file.
59831         * tests/test-mbrtowc-w32-4.sh: New file.
59832         * tests/test-mbrtowc-w32-5.sh: New file.
59833         * tests/test-mbrtowc-w32.c: New file.
59834         * modules/mbrtowc-tests (Files): Add them.
59835         (Makefile.am): Arrange to run these tests.
59836         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
59837         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
59839 2011-02-13  Bruno Haible  <bruno@clisp.org>
59841         mbrtowc: Work around native Windows bug.
59842         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
59843         guess when no suitable locale for testing was found.
59844         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
59846 2011-02-13  Bruno Haible  <bruno@clisp.org>
59848         mbsinit: Work around mingw bug.
59849         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
59850         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
59851         Windows.
59852         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
59854 2011-02-13  Bruno Haible  <bruno@clisp.org>
59856         mbsinit: Don't crash for a NULL argument.
59857         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
59858         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
59860 2011-02-13  Bruno Haible  <bruno@clisp.org>
59862         Don't interfere with a program's definition of __attribute__.
59863         * lib/stdio.in.h (__attribute__): Remove definition.
59864         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
59865         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
59866         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
59867         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
59868         * lib/string.in.h (__attribute__): Remove definition.
59869         Reported by Paul Eggert.
59871 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59873         stdlib: don't get in the way of non-GCC __attribute__
59874         See thread starting at
59875         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
59876         Revert previous stdlib change, installing the following instead:
59877         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
59878         to get in the way of a non-GCC compiler that supports __attribute__.
59879         (_GL_ATTRIBUTE_RETURN): New macro.
59880         (_Exit): Use it instead of __attribute__.
59882 2011-02-12  Bruno Haible  <bruno@clisp.org>
59884         quotearg test: Avoid test failure on mingw.
59885         * tests/test-quotearg.sh: Convert the locale identifier from native
59886         Windows syntax to Unix syntax.
59888 2011-02-12  Bruno Haible  <bruno@clisp.org>
59890         setlocale: Prefer gnulib's override over libintl's override.
59891         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
59892         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
59893         GNULIB_defined_setlocale is set.
59895 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59897         stdlib: support non-GCC __attribute__
59899         Fix a serious and tricky problem encountered when attempting to
59900         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
59901         5.5, but it crashed due to memory corruption on Solaris 10 with
59902         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
59903         bits that are otherwise zero.  This tagging is optional inside
59904         Emacs but is preferred and is used when __attribute__ ((__aligned
59905         (8))) works, as it does with both recent-enough GCC and with Sun C
59906         5.11.  However, Sun C 5.11 is not GCC and does not #define
59907         __GNUC__ and __GNUC_MINOR__.
59909         When I added the getloadavg module to Emacs, it brought in
59910         stdlib.in.h, which contained this fragment:
59912            #ifndef __attribute__
59913            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
59914            #  define __attribute__(Spec)   /* empty */
59915            # endif
59916            #endif
59918         When files that include <stdlib.h> were compiled with Sun C 5.11,
59919         the above code disabled __attribute__ ((__aligned (8))), which
59920         caused variables to not be properly aligned, which eventually led
59921         to the pointer corruption mentioned above.  (This was a bit hard
59922         to diagnose, unfortunately.)
59924         Several "#define __attribute__(X) /* empty */" code snippets need
59925         to be eradicated from Gnulib to work with non-GCC compilers that
59926         support __attribute__.  The Autoconf way to do this is to test for
59927         each kind of attribute that we want support for, and selectively
59928         enable that in source code.
59930         Fix this problem just for stdlib.h, by adding a test for the
59931         __noreturn__ attribute, and change stdlib.in.h to use that test
59932         when needed.  This technique can be easily generalized to the
59933         other *.in.h files and attributes, and a similar technique can be
59934         used for *.h and *.c files.  This patch is enough to solve the
59935         problem for Emacs + getloadavg, and I thought I'd publish it for
59936         feedback before undertaking further, similar fixes in other
59937         modules.
59939         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
59940         because it's not needed for stdlib.h.  It merely substitutes the
59941         value directly into stdlib.h.  We may well need to #define it, or
59942         similar symbols, for other modules, but it's nice to also have an
59943         option to not #define it for applications like Emacs that do not
59944         need it.
59946         * lib/stdlib.in.h (__attribute__): Do not #define.
59947         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
59948         be defined only if the _Exit module is also used.
59949         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
59950         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
59951         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
59952         platforms.
59953         * modules/_Exit (Files): Add m4/attribute.m4.
59954         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
59955         * m4/attribute.m4: New file.
59957 2011-02-12  Bruno Haible  <bruno@clisp.org>
59959         wcsrtombs: Work around bug on native Windows.
59960         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
59961         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
59962         instead of len.
59963         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
59965 2011-02-12  Bruno Haible  <bruno@clisp.org>
59967         mbsrtowcs: Work around bug on native Windows.
59968         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
59969         against mingw bug.
59970         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
59972 2011-02-12  Bruno Haible  <bruno@clisp.org>
59974         Avoid setlocale bugs in tests.
59975         * modules/btowc (Dependencies): Add setlocale.
59976         * modules/c-strcase (Dependencies): Likewise.
59977         * modules/mbmemcasecmp (Dependencies): Likewise.
59978         * modules/mbmemcasecoll (Dependencies): Likewise.
59979         * modules/mbrtowc (Dependencies): Likewise.
59980         * modules/mbscasecmp (Dependencies): Likewise.
59981         * modules/mbscasestr (Dependencies): Likewise.
59982         * modules/mbschr (Dependencies): Likewise.
59983         * modules/mbscspn (Dependencies): Likewise.
59984         * modules/mbsinit (Dependencies): Likewise.
59985         * modules/mbsncasecmp (Dependencies): Likewise.
59986         * modules/mbsnrtowcs (Dependencies): Likewise.
59987         * modules/mbspbrk (Dependencies): Likewise.
59988         * modules/mbspcasecmp (Dependencies): Likewise.
59989         * modules/mbsrchr (Dependencies): Likewise.
59990         * modules/mbsrtowcs (Dependencies): Likewise.
59991         * modules/mbsspn (Dependencies): Likewise.
59992         * modules/mbsstr (Dependencies): Likewise.
59993         * modules/nl_langinfo (Dependencies): Likewise.
59994         * modules/quotearg (Dependencies): Likewise.
59995         * modules/unicase/locale-language (Dependencies): Likewise.
59996         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
59997         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
59998         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
59999         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
60000         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
60001         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
60002         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
60003         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
60004         * modules/vasnprintf-posix (Dependencies): Likewise.
60005         * modules/wcrtomb (Dependencies): Likewise.
60006         * modules/wcsnrtombs (Dependencies): Likewise.
60007         * modules/wcsrtombs (Dependencies): Likewise.
60009 2011-02-12  Bruno Haible  <bruno@clisp.org>
60011         setlocale: Workaround native Windows bug.
60012         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
60013         succeeds but sets LC_CTYPE to "C", report a failure.
60014         * tests/test-setlocale2.sh: New file.
60015         * tests/test-setlocale2.c: New file.
60016         * modules/setlocale-tests (Files): Add the new files.
60017         (Makefile.am): Enable test-setlocale2.sh test.
60018         * doc/posix-functions/setlocale.texi: Mention workaround.
60020 2011-02-11  Bruno Haible  <bruno@clisp.org>
60022         Tests for module 'setlocale'.
60023         * modules/setlocale-tests: New file.
60024         * tests/test-setlocale1.sh: New file.
60025         * tests/test-setlocale1.c: New file.
60027         New module 'setlocale'.
60028         * lib/locale.in.h (setlocale): New declaration.
60029         * lib/setlocale.c: New file, based on
60030         gettext/gettext-runtime/intl/setlocale.c.
60031         * m4/setlocale.m4: New file.
60032         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
60033         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
60034         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
60035         REPLACE_SETLOCALE.
60036         * modules/setlocale: New file.
60037         * tests/test-locale-c++.cc: Test the declaration of setlocale.
60038         * doc/posix-functions/setlocale.texi: Mention the new module.
60040 2011-02-11  Bruno Haible  <bruno@clisp.org>
60042         Prepare for locale dependent tests on mingw.
60043         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
60044         because it has the wrong locale encoding.
60045         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
60046         French_France.1252 instead of "fr".
60047         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
60048         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
60049         because it has the wrong locale encoding.
60050         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
60051         native Windows, try Turkish_Turkey.65001.
60052         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
60053         Chinese_China.54936.
60055         Prepare for locale dependent tests on mingw.
60056         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
60057         differently.
60058         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
60059         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
60060         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60061         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60063 2011-02-11  Eric Blake  <eblake@redhat.com>
60065         strptime: avoid compiler warnings
60066         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
60067         compiler warnings about dead code.
60068         Reported by Daniel P. Berrange.
60070 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
60072         doc: update users.txt
60073         * users.txt: Add rcs.
60075 2011-02-10  John W. Eaton  <jwe@gnu.org>
60077         doc: update users.txt
60078         * users.txt: Add octave.
60080 2011-02-10  Jim Meyering  <meyering@redhat.com>
60082         doc: update users.txt
60083         * users.txt: Add iwhd.
60085 2011-02-09  Bruno Haible  <bruno@clisp.org>
60087         gnulib-tool: Make copyright notice adjustment more robust.
60088         * gnulib-tool (func_import): In sed_transform_main_lib_file,
60089         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
60090         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
60091         License".
60092         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
60094 2011-02-06  Bruno Haible  <bruno@clisp.org>
60096         New module 'towctrans'.
60097         * modules/towctrans: New file.
60098         * lib/wctype.in.h (towctrans): New declaration.
60099         * lib/towctrans.c: New file.
60100         * lib/towctrans-impl.h: New file.
60101         * m4/towctrans.m4: New file.
60102         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
60103         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
60104         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
60105         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
60106         * doc/posix-functions/towctrans.texi: Mention the new module.
60108 2011-02-06  Bruno Haible  <bruno@clisp.org>
60110         New module 'wctrans'.
60111         * modules/wctrans: New file.
60112         * lib/wctype.in.h (wctrans): New declaration.
60113         * lib/wctrans.c: New file.
60114         * lib/wctrans-impl.h: New file.
60115         * m4/wctrans.m4: New file.
60116         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
60117         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
60118         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
60119         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
60120         * doc/posix-functions/wctrans.texi: Mention the new module.
60122 2011-02-06  Bruno Haible  <bruno@clisp.org>
60124         New module 'iswctype'.
60125         * modules/iswctype: New file.
60126         * lib/wctype.in.h (iswctype): New declaration.
60127         * lib/iswctype.c: New file.
60128         * lib/iswctype-impl.h: New file.
60129         * m4/iswctype.m4: New file.
60130         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
60131         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
60132         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
60133         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
60134         * doc/posix-functions/iswctype.texi: Mention the new module and the
60135         HP-UX 11.00 problem.
60137 2011-02-06  Bruno Haible  <bruno@clisp.org>
60139         New module 'wctype'.
60140         * modules/wctype: Change to represent the wctype() substitute.
60141         * lib/wctype.in.h (wctype): New declaration.
60142         * lib/wctype.c: New file.
60143         * lib/wctype-impl.h: New file.
60144         * m4/wctype.m4: New file.
60145         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
60146         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
60147         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
60148         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
60149         * doc/posix-functions/wctype.texi: Mention the new module and the
60150         HP-UX 11.00 problem.
60152 2011-02-06  Bruno Haible  <bruno@clisp.org>
60154         wctype-h: Ensure wctype_t and wctrans_t are defined.
60155         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
60156         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
60157         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
60158         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
60159         HAVE_WCTRANS_T.
60160         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
60162 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60164         flock: fix license typo
60166         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
60167         omitted.
60169 2011-02-08  Bruno Haible  <bruno@clisp.org>
60171         Split large sed scripts, for HP-UX sed.
60172         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
60173         to avoid HP-UX limit of 99 commands, in the near future.
60174         * modules/stdlib (Makefile.am): Likewise.
60175         * modules/unistd (Makefile.am): Likewise.
60176         * modules/wchar (Makefile.am): Likewise.
60177         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
60178         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
60179         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
60181 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
60182             Bruno Haible  <bruno@clisp.org>
60184         stdlib: improve random_r modularization
60185         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
60186         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
60187         you also need the random_r module to get this material right.
60188         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
60189         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
60190         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
60192 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
60194         stdlib: don't depend on stdint
60195         * lib/stdlib.in.h: Don't include <stdint.h> merely because
60196         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
60197         be independent of whether stdint.h is needed.
60198         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
60199         here, instead of ...
60200         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
60201         struct random_data should be using the random_r module, not just
60202         the stdlib module (which wouldn't make sense: what package needs
60203         just struct random_data without also needing random_r?).
60204         * modules/stdlib (Depends-on): Remove stdint.
60206         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
60207         See the thread rooted at
60208         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
60209         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
60210         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
60211         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
60212         __VMS)); previously it was always included (via fcntl--.h).
60213         (getloadavg): Do not use c_strtod.  Instead, approximate it by
60214         hand; this is good enough for load averages.  Also, do not use
60215         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
60216         flags directly if available and don't bother otherwise.  (Packages
60217         that need the extra reliability should use the modules that define
60218         these flags on older platforms that lack them.)
60219         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
60220         fcntl-safer.
60222 2011-02-08  Jim Meyering  <meyering@redhat.com>
60224         di-set.h, ino-map.h: add multiple-inclusion guard
60225         Technically, the guard is required only for ino-map.h, due to its
60226         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
60227         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
60228         * lib/ino-map.h: Likewise.
60230 2011-02-06  Bruno Haible  <bruno@clisp.org>
60232         iswblank: Ensure declaration on glibc systems.
60233         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
60234         * modules/iswblank (Dependencies): Add 'extensions'.
60235         * doc/posix-functions/iswblank.texi: Document the glibc problem.
60237 2011-02-06  Bruno Haible  <bruno@clisp.org>
60239         New module 'iswblank'.
60240         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
60241         * modules/iswblank: New file.
60242         * modules/wctype-h (Files): Remove lib/iswblank.c.
60243         (Makefile.am): Substitute GNULIB_ISWBLANK.
60244         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
60245         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
60246         (gl_WCTYPE_H_DEFAULTS): New macro.
60247         (gl_WCTYPE_H): Require it. Remove iswblank related code.
60248         * modules/iswblank-tests: New file.
60249         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
60250         * tests/test-wctype-h.c (main): Remove iswblank tests.
60251         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
60252         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
60253         of 'wctype-h'.
60254         * NEWS: Mention the change.
60255         * modules/mbchar (Depends-on): Add iswblank.
60257 2011-02-08  Bruno Haible  <bruno@clisp.org>
60259         di-set tests: Refactor.
60260         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
60261         unnecessary includes.
60262         (ASSERT): Remove macro.
60263         (main): Make C90 compliant by avoiding variable declaration after
60264         statement.
60265         * modules/di-set-tests (Files): Add tests/macros.h.
60267 2011-02-08  Bruno Haible  <bruno@clisp.org>
60269         ino-map tests: Refactor.
60270         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
60271         unnecessary includes.
60272         (ASSERT): Remove macro.
60273         (main): Make C90 compliant by avoiding variable declaration after
60274         statement.
60275         * modules/ino-map-tests (Files): Add tests/macros.h.
60277 2011-02-08  Jim Meyering  <meyering@redhat.com>
60279         di-set: add "const" to a cast
60280         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
60281         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
60283 2011-02-06  Bruno Haible  <bruno@clisp.org>
60285         Rename module 'wctype' to 'wctype-h'.
60286         * modules/wctype-h: Renamed from modules/wctype.
60287         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
60288         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
60289         (Files, Depends-on, Makefile.am): Update.
60290         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
60291         (Files, Makefile.am): Update.
60292         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
60293         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
60294         * doc/posix-headers/wctype.texi: Update.
60295         * doc/posix-functions/iswalnum.texi: Update.
60296         * doc/posix-functions/iswalpha.texi: Update.
60297         * doc/posix-functions/iswblank.texi: Update.
60298         * doc/posix-functions/iswcntrl.texi: Update.
60299         * doc/posix-functions/iswdigit.texi: Update.
60300         * doc/posix-functions/iswgraph.texi: Update.
60301         * doc/posix-functions/iswlower.texi: Update.
60302         * doc/posix-functions/iswprint.texi: Update.
60303         * doc/posix-functions/iswpunct.texi: Update.
60304         * doc/posix-functions/iswspace.texi: Update.
60305         * doc/posix-functions/iswupper.texi: Update.
60306         * doc/posix-functions/iswxdigit.texi: Update.
60307         * doc/posix-functions/towlower.texi: Update.
60308         * doc/posix-functions/towupper.texi: Update.
60309         * NEWS: Mention the change.
60310         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
60311         * modules/mbchar (Dependencies): Likewise.
60312         * modules/mbswidth (Dependencies): Likewise.
60313         * modules/quotearg (Dependencies): Likewise.
60314         * modules/regex (Dependencies): Likewise.
60315         * modules/wcscasecmp (Dependencies): Likewise.
60316         * modules/wcsncasecmp (Dependencies): Likewise.
60317         * modules/wcwidth (Dependencies): Likewise.
60319 2011-02-06  Bruno Haible  <bruno@clisp.org>
60321         New module 'wcswidth'.
60322         * modules/wcswidth: New file.
60323         * lib/wchar.in.h (wcswidth): New declaration.
60324         * lib/wcswidth.c: New file.
60325         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
60326         * m4/wcswidth.m4: New file.
60327         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
60328         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
60329         REPLACE_WCSWIDTH.
60330         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
60331         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
60332         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
60333         * doc/posix-functions/wcswidth.texi: Mention the new module.
60335 2011-02-06  Bruno Haible  <bruno@clisp.org>
60337         New module 'wcstok'.
60338         * modules/wcstok: New file.
60339         * lib/wchar.in.h (wcstok): New declaration.
60340         * lib/wcstok.c: New file.
60341         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
60342         * m4/wcstok.m4: New file.
60343         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
60344         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
60345         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
60346         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
60347         * doc/posix-functions/wcstok.texi: Mention the new module.
60349 2011-02-06  Bruno Haible  <bruno@clisp.org>
60351         New module 'wcsstr'.
60352         * modules/wcsstr: New file.
60353         * lib/wchar.in.h (wcsstr): New declaration.
60354         * lib/wcsstr.c: New file.
60355         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
60356         * m4/wcsstr.m4: New file.
60357         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
60358         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
60359         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
60360         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
60361         * doc/posix-functions/wcsstr.texi: Mention the new module.
60363 2011-02-06  Bruno Haible  <bruno@clisp.org>
60365         New module 'wcspbrk'.
60366         * modules/wcspbrk: New file.
60367         * lib/wchar.in.h (wcspbrk): New declaration.
60368         * lib/wcspbrk.c: New file.
60369         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
60370         * m4/wcspbrk.m4: New file.
60371         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
60372         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
60373         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
60374         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
60375         * doc/posix-functions/wcspbrk.texi: Mention the new module.
60377 2011-02-06  Bruno Haible  <bruno@clisp.org>
60379         New module 'wcsspn'.
60380         * modules/wcsspn: New file.
60381         * lib/wchar.in.h (wcsspn): New declaration.
60382         * lib/wcsspn.c: New file.
60383         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
60384         * m4/wcsspn.m4: New file.
60385         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
60386         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
60387         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
60388         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
60389         * doc/posix-functions/wcsspn.texi: Mention the new module.
60391 2011-02-06  Bruno Haible  <bruno@clisp.org>
60393         New module 'wcscspn'.
60394         * modules/wcscspn: New file.
60395         * lib/wchar.in.h (wcscspn): New declaration.
60396         * lib/wcscspn.c: New file.
60397         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
60398         * m4/wcscspn.m4: New file.
60399         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
60400         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
60401         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
60402         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
60403         * doc/posix-functions/wcscspn.texi: Mention the new module.
60405 2011-02-06  Bruno Haible  <bruno@clisp.org>
60407         New module 'wcsrchr'.
60408         * modules/wcsrchr: New file.
60409         * lib/wchar.in.h (wcsrchr): New declaration.
60410         * lib/wcsrchr.c: New file.
60411         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
60412         * m4/wcsrchr.m4: New file.
60413         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
60414         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
60415         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
60416         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
60417         * doc/posix-functions/wcsrchr.texi: Mention the new module.
60419 2011-02-06  Bruno Haible  <bruno@clisp.org>
60421         New module 'wcschr'.
60422         * modules/wcschr: New file.
60423         * lib/wchar.in.h (wcschr): New declaration.
60424         * lib/wcschr.c: New file.
60425         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
60426         * m4/wcschr.m4: New file.
60427         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
60428         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
60429         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
60430         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
60431         * doc/posix-functions/wcschr.texi: Mention the new module.
60433 2011-02-06  Bruno Haible  <bruno@clisp.org>
60435         New module 'wcsdup'.
60436         * modules/wcsdup: New file.
60437         * lib/wchar.in.h (wcsdup): New declaration.
60438         * lib/wcsdup.c: New file.
60439         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
60440         * m4/wcsdup.m4: New file.
60441         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
60442         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
60443         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
60444         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
60445         * doc/posix-functions/wcsdup.texi: Mention the new module.
60447 2011-02-06  Bruno Haible  <bruno@clisp.org>
60449         New module 'wcsxfrm'.
60450         * modules/wcsxfrm: New file.
60451         * lib/wchar.in.h (wcsxfrm): New declaration.
60452         * lib/wcsxfrm.c: New file.
60453         * lib/wcsxfrm-impl.h: New file.
60454         * m4/wcsxfrm.m4: New file.
60455         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
60456         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
60457         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
60458         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
60459         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
60461 2011-02-06  Bruno Haible  <bruno@clisp.org>
60463         New module 'wcscoll'.
60464         * modules/wcscoll: New file.
60465         * lib/wchar.in.h (wcscoll): New declaration.
60466         * lib/wcscoll.c: New file.
60467         * lib/wcscoll-impl.h: New file.
60468         * m4/wcscoll.m4: New file.
60469         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
60470         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
60471         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
60472         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
60473         * doc/posix-functions/wcscoll.texi: Mention the new module.
60475 2011-02-06  Bruno Haible  <bruno@clisp.org>
60477         New module 'wcsncasecmp'.
60478         * modules/wcsncasecmp: New file.
60479         * lib/wchar.in.h (wcsncasecmp): New declaration.
60480         * lib/wcsncasecmp.c: New file.
60481         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
60482         * m4/wcsncasecmp.m4: New file.
60483         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
60484         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
60485         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
60486         HAVE_WCSNCASECMP.
60487         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
60488         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
60490 2011-02-06  Bruno Haible  <bruno@clisp.org>
60492         New module 'wcscasecmp'.
60493         * modules/wcscasecmp: New file.
60494         * lib/wchar.in.h (wcscasecmp): New declaration.
60495         * lib/wcscasecmp.c: New file.
60496         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
60497         * m4/wcscasecmp.m4: New file.
60498         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
60499         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
60500         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
60501         HAVE_WCSCASECMP.
60502         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
60503         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
60505 2011-02-05  Bruno Haible  <bruno@clisp.org>
60507         New module 'wcsncmp'.
60508         * modules/wcsncmp: New file.
60509         * lib/wchar.in.h (wcsncmp): New declaration.
60510         * lib/wcsncmp.c: New file.
60511         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
60512         * m4/wcsncmp.m4: New file.
60513         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
60514         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
60515         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
60516         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
60517         * doc/posix-functions/wcsncmp.texi: Mention the new module.
60519 2011-02-05  Bruno Haible  <bruno@clisp.org>
60521         New module 'wcscmp'.
60522         * modules/wcscmp: New file.
60523         * lib/wchar.in.h (wcscmp): New declaration.
60524         * lib/wcscmp.c: New file.
60525         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
60526         * m4/wcscmp.m4: New file.
60527         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
60528         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
60529         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
60530         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
60531         * doc/posix-functions/wcscmp.texi: Mention the new module.
60533 2011-02-05  Bruno Haible  <bruno@clisp.org>
60535         New module 'wcsncat'.
60536         * modules/wcsncat: New file.
60537         * lib/wchar.in.h (wcsncat): New declaration.
60538         * lib/wcsncat.c: New file.
60539         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
60540         * m4/wcsncat.m4: New file.
60541         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
60542         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
60543         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
60544         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
60545         * doc/posix-functions/wcsncat.texi: Mention the new module.
60547 2011-02-05  Bruno Haible  <bruno@clisp.org>
60549         New module 'wcscat'.
60550         * modules/wcscat: New file.
60551         * lib/wchar.in.h (wcscat): New declaration.
60552         * lib/wcscat.c: New file.
60553         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
60554         * m4/wcscat.m4: New file.
60555         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
60556         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
60557         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
60558         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
60559         * doc/posix-functions/wcscat.texi: Mention the new module.
60561 2011-02-05  Bruno Haible  <bruno@clisp.org>
60563         New module 'wcpncpy'.
60564         * modules/wcpncpy: New file.
60565         * lib/wchar.in.h (wcpncpy): New declaration.
60566         * lib/wcpncpy.c: New file.
60567         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
60568         * m4/wcpncpy.m4: New file.
60569         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
60570         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
60571         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
60572         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
60573         * doc/posix-functions/wcpncpy.texi: Mention the new module.
60575 2011-02-05  Bruno Haible  <bruno@clisp.org>
60577         New module 'wcsncpy'.
60578         * modules/wcsncpy: New file.
60579         * lib/wchar.in.h (wcsncpy): New declaration.
60580         * lib/wcsncpy.c: New file.
60581         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
60582         * m4/wcsncpy.m4: New file.
60583         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
60584         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
60585         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
60586         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
60587         * doc/posix-functions/wcsncpy.texi: Mention the new module.
60589 2011-02-05  Bruno Haible  <bruno@clisp.org>
60591         New module 'wcpcpy'.
60592         * modules/wcpcpy: New file.
60593         * lib/wchar.in.h (wcpcpy): New declaration.
60594         * lib/wcpcpy.c: New file.
60595         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
60596         * m4/wcpcpy.m4: New file.
60597         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
60598         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
60599         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
60600         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
60601         * doc/posix-functions/wcpcpy.texi: Mention the new module.
60603 2011-02-05  Bruno Haible  <bruno@clisp.org>
60605         New module 'wcscpy'.
60606         * modules/wcscpy: New file.
60607         * lib/wchar.in.h (wcscpy): New declaration.
60608         * lib/wcscpy.c: New file.
60609         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
60610         * m4/wcscpy.m4: New file.
60611         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
60612         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
60613         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
60614         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
60615         * doc/posix-functions/wcscpy.texi: Mention the new module.
60617 2011-02-05  Bruno Haible  <bruno@clisp.org>
60619         New module 'wcsnlen'.
60620         * modules/wcsnlen: New file.
60621         * lib/wchar.in.h (wcsnlen): New declaration.
60622         * lib/wcsnlen.c: New file.
60623         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
60624         * m4/wcsnlen.m4: New file.
60625         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
60626         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
60627         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
60628         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
60629         * doc/posix-functions/wcsnlen.texi: Mention the new module.
60631 2011-02-05  Bruno Haible  <bruno@clisp.org>
60633         New module 'wcslen'.
60634         * modules/wcslen: New file.
60635         * lib/wchar.in.h (wcslen): New declaration.
60636         * lib/wcslen.c: New file.
60637         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
60638         * m4/wcslen.m4: New file.
60639         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
60640         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
60641         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
60642         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
60643         * doc/posix-functions/wcslen.texi: Mention the new module.
60645 2011-02-05  Bruno Haible  <bruno@clisp.org>
60647         New module 'wmemset'.
60648         * modules/wmemset: New file.
60649         * lib/wchar.in.h (wmemset): New declaration.
60650         * lib/wmemset.c: New file.
60651         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
60652         * m4/wmemset.m4: New file.
60653         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
60654         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
60655         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
60656         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
60657         * doc/posix-functions/wmemset.texi: Mention the new module.
60659 2011-02-05  Bruno Haible  <bruno@clisp.org>
60661         New module 'wmemmove'.
60662         * modules/wmemmove: New file.
60663         * lib/wchar.in.h (wmemmove): New declaration.
60664         * lib/wmemmove.c: New file.
60665         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
60666         * m4/wmemmove.m4: New file.
60667         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
60668         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
60669         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
60670         HAVE_WMEMMOVE.
60671         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
60672         * doc/posix-functions/wmemmove.texi: Mention the new module.
60674 2011-02-05  Bruno Haible  <bruno@clisp.org>
60676         New module 'wmemcpy'.
60677         * modules/wmemcpy: New file.
60678         * lib/wchar.in.h (wmemcpy): New declaration.
60679         * lib/wmemcpy.c: New file.
60680         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
60681         * m4/wmemcpy.m4: New file.
60682         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
60683         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
60684         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
60685         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
60686         * doc/posix-functions/wmemcpy.texi: Mention the new module.
60688 2011-02-05  Bruno Haible  <bruno@clisp.org>
60690         New module 'wmemcmp'.
60691         * modules/wmemcmp: New file.
60692         * lib/wchar.in.h (wmemcmp): New declaration.
60693         * lib/wmemcmp.c: New file.
60694         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
60695         * m4/wmemcmp.m4: New file.
60696         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
60697         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
60698         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
60699         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
60700         * doc/posix-functions/wmemcmp.texi: Mention the new module.
60702 2011-02-07  Jim Meyering  <meyering@redhat.com>
60704         di-set, ino-map: new modules, from coreutils
60705         * lib/di-set.c: New file.
60706         * lib/di-set.h: Likewise.
60707         * lib/ino-map.c: Likewise.
60708         * lib/ino-map.h: Likewise.
60709         * modules/di-set: Likewise.
60710         * modules/di-set-tests: Likewise.
60711         * modules/ino-map: Likewise.
60712         * modules/ino-map-tests: Likewise.
60713         * tests/test-di-set.c: Likewise.
60714         * tests/test-ino-map.c: Likewise.
60716 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
60718         getloadavg: merge minor changes from Emacs
60720         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
60721         (getloadavg): Use memset, not bzero.
60723         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
60724         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
60725         clash (bug#86).
60727 2010-11-14  Bruno Haible  <bruno@clisp.org>
60729         Allow multiple gnulib generated replacements to coexist.
60730         * lib/getopt.in.h (struct option): Avoid identical redefinition.
60731         * lib/inttypes.in.h (imaxdiv_t): Likewise.
60732         * lib/langinfo.in.h (nl_item): Likewise.
60733         * lib/math.in.h (_NaN, NAN): Likewise.
60734         * lib/netdb.in.h (struct addrinfo): Likewise.
60735         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
60736         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
60737         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
60738         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
60739         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
60740         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
60741         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
60742         pthread_mutexattr_init, pthread_mutexattr_settype,
60743         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
60744         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
60745         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
60746         pthread_spin_trylock, pthread_spin_unlock): Likewise.
60747         * lib/sched.in.h (struct sched_param): Likewise.
60748         * lib/se-selinux.in.h (security_class_t, security_context_t,
60749         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
60750         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
60751         lsetfilecon, fsetfilecon, security_check_context,
60752         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
60753         Likewise.
60754         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
60755         Likewise.
60756         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
60757         _gl_function_taking_int_returning_void_t, union sigval,
60758         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
60759         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
60760         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
60761         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
60762         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
60763         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
60764         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
60765         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
60766         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
60767         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
60768         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
60769         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
60770         socklen_t, rpl_fd_isset): Likewise.
60771         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
60772         * lib/sys_time.in.h (struct timeval): Likewise.
60773         * lib/sys_times.in.h (struct tms): Likewise.
60774         * lib/sys_utsname.in.h (struct utsname):
60775         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
60776         * lib/unistd.in.h (getpagesize): Likewise.
60777         * lib/wchar.in.h (mbstate_t): Likewise.
60778         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60779         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
60780         towlower, towupper): Likewise.
60781         Reported by Sam Steingold <sds@gnu.org>.
60783 2011-02-05  Eric Blake  <eblake@redhat.com>
60785         unsetenv: work around Haiku issues
60786         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
60787         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
60789 2010-12-30  Bruce Korb  <bkorb@gnu.org>
60791         libposix: avoid calling error() within libposix
60792         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
60793         is defined.
60795 2011-02-05  Eric Blake  <eblake@redhat.com>
60797         strerror_r-posix: port to cygwin
60798         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
60799         implementation.
60800         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
60801         * tests/test-strerror_r.c (main): Fix test.
60802         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
60803         issue.
60805 2011-02-05  Bruno Haible  <bruno@clisp.org>
60807         New module 'wmemchr'.
60808         * modules/wmemchr: New file.
60809         * lib/wchar.in.h (wmemchr): New declaration.
60810         * lib/wmemchr.c: New file.
60811         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
60812         * m4/wmemchr.m4: New file.
60813         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
60814         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
60815         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
60816         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
60817         * doc/posix-functions/wmemchr.texi: Mention the new module.
60819 2011-02-04  Eric Blake  <eblake@redhat.com>
60821         fdopendir: detect FreeBSD bug
60822         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
60823         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
60825 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60827         stdbool: do not define HAVE_STDBOOL_H
60828         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
60829         AC_HEADER_STDBOOL.  All uses changed.  Do not define
60830         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
60831         imported from the latest Autoconf git.  It was motivated by Emacs,
60832         which uses gnulib but does not need HAVE_STDBOOL_H.
60834 2011-02-04  Bruno Haible  <bruno@clisp.org>
60836         wcsnrtombs: Prepare for new module wwcsnrtombs.
60837         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
60838         * lib/wcsnrtombs.c: Include it.
60839         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
60841         wcsrtombs: Prepare for new module wwcsrtombs.
60842         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
60843         * lib/wcsrtombs.c: Include it.
60844         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
60846         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
60847         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
60848         * lib/mbsnrtowcs.c: Include it.
60849         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
60851         mbsrtowcs: Prepare for new module mbsrtowwcs.
60852         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
60853         * lib/mbsrtowcs.c: Include it.
60854         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
60856 2011-02-04  Bruno Haible  <bruno@clisp.org>
60858         vasnprintf: Reduce use of malloc for small format strings.
60859         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
60860         (arguments): Add room for the first 7 arguments.
60861         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
60862         (char_directives, u8_directives, u16_directives, u32_directives): Add
60863         room for the first 7 directives.
60864         * lib/printf-parse.c: Include <string.h>.
60865         (PRINTF_PARSE): Change memory handling code so that it uses the first
60866         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
60867         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
60868         Reported by Pádraig Brady <P@draigbrady.com>.
60870 2011-01-31  Eric Blake  <eblake@redhat.com>
60872         dup2: work around Haiku bug
60873         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
60874         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
60875         * doc/posix-functions/dup2.texi (dup2): Document the bug.
60876         * tests/test-dup2.c (main): Enhance test.
60878 2011-01-31  Simon Josefsson  <simon@josefsson.org>
60880         doc: off_t is not available in eglibc 2.11.2 stdio.h.
60881         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
60882         declared by eglibc 2.11.2.
60883         * lib/stdio.in.h: Likewise.
60885 2011-01-31  Eric Blake  <eblake@redhat.com>
60887         ignore-value: add missing test dependency
60888         * tests/test-ignore-value.c: Revert previous change; stdio.h
60889         provides off_t.
60890         * modules/ignore-value-tests (Depends-on): Add missing dependency.
60892 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
60894         mktime: clarify long_int width checking
60895         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
60896         the top level, to make it clearer that the assumption about
60897         long_int width is being checked.  See
60898         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
60900 2011-01-30  Simon Josefsson  <simon@josefsson.org>
60902         ignore-value: Fix self-test.
60903         * tests/test-ignore-value.c: Include sys/types.h for off_t.
60905 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
60907         TYPE_MAXIMUM: avoid theoretically undefined behavior
60908         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
60909         negative number, which the C Standard says has undefined behavior.
60910         In practice this is not a problem, but might as well do it by the book.
60911         Reported by Rich Felker and Eric Blake; see
60912         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
60913         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
60914         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
60915         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60916         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
60917         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60918         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
60920         mktime: #undef mktime before #defining it
60921         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
60923         mktime: systematically normalize tm_isdst comparisons
60924         * lib/mktime.c (isdst_differ): New function.
60925         (__mktime_internal): Use it systematically for all isdst comparisons.
60926         This completes the fix for libc BZ #6723, and removes the need for
60927         normalizing tm_isdst.  See
60928         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
60929         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
60931         mktime: fix some integer overflow issues and sidestep the rest
60933         This was prompted by a bug report by Benjamin Lindner for MinGW
60934         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
60935         His bug is due to signed integer overflow (0 - INT_MIN), and I
60936         I scanned through mktime.c looking for other integer overflow
60937         problems, fixing all the bugs I found.
60939         Although the C Standard says the resulting code is still not safe
60940         in the presence of integer overflow, in practice it should be good
60941         enough for all real-world two's-complement implementations, except
60942         for debugging environments that deliberately trap on integer
60943         overflow (e.g., gcc -ftrapv).
60945         * lib/mktime.c (WRAPV): New macro.
60946         (SHR): Also check that long_int and time_t shift right in the
60947         usual way, before using the fast-but-unportable method.
60948         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
60949         used.  The code already assumed two's complement, so there's
60950         no need to test for alternatives.  All uses removed.
60951         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
60952         the C standard.  Problem reported by Rich Felker in
60953         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
60954         (twos_complement_arithmetic): Also check long_int and time_t.
60955         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
60956         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
60957         (__mktime_internal): Avoid integer overflow with unary subtraction
60958         in two instances where -1 - X is an adequate replacement for -X,
60959         since the calculations are approximate.
60961 2011-01-29  Eric Blake  <eblake@redhat.com>
60963         mktime: avoid infinite loop
60964         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
60965         type; behavior is still undefined but portable to all known targets.
60966         Reported by Rich Felker.
60968 2011-01-29  Simon Josefsson  <simon@josefsson.org>
60970         rename, unlink, same-inode: Relicense.
60971         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
60972         * modules/unlink (License): Likewise.
60973         * modules/same-inode (License): Likewise.
60975 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
60977         mktime: avoid problems on NetBSD 5 / i386
60978         * lib/mktime.c (long_int): New type.  This works around a problem
60979         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
60980         but time_t is 64 bits, and where I expect the existing code is
60981         wrong in some cases.
60982         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
60983         (ydhms_diff): Bring back the compile-time check for wide-enough
60984         year and yday.
60986         mktime: fix misspelling in comment
60987         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
60988         This merges all recent glibc changes of importance.
60990 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60992         move-if-change: cope with concurrent mv of identical file.
60993         * build-aux/move-if-change (CMPPROG): Accept environment
60994         variable as an override for `cmp'.
60995         (usage): Document CMPPROG.
60996         Adjust comparison to drop stdout.  Cope with failure of mv if
60997         the target file exists and is identical to the source, for
60998         parallel builds.
60999         Report from H.J. Lu against binutils in PR binutils/12283.
61001 2011-01-28  Bruce Korb  <bkorb@gnu.org>
61003         * users.txt: Mention sharutils.
61005 2011-01-28  Simon Josefsson  <simon@josefsson.org>
61007         * users.txt: Mention OATH Toolkit.
61009 2011-01-27  Bruno Haible  <bruno@clisp.org>
61011         Prepare for supporting FreeBSD 10.
61012         * build-aux/config.libpath: Remove handling of freebsd1*.
61014 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
61016         Prepare for supporting FreeBSD 10.
61017         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
61018         match FreeBSD 10.0.
61020 2011-01-27  Bruno Haible  <bruno@clisp.org>
61022         vma-iter, get-rusage-as: Add OpenBSD support.
61023         * modules/vma-iter (configure.ac): Test for mquery.
61024         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
61025         * lib/vma-iter.c: Include <sys/mman.h>.
61026         (vma_iterate): Add an implementation based on mquery().
61027         * lib/resource-ext.h (get_rusage_as): Update comments.
61028         * lib/get-rusage-as.c: Likewise.
61029         * lib/get-rusage-data.c: Likewise.
61031 2011-01-26  Karl Berry  <karl@gnu.org>
61033         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
61034         variables to make it easier to override the makeinfo program used.
61036 2011-01-26  Eric Blake  <eblake@redhat.com>
61038         fcntl: work around Haiku F_DUPFD bugs
61039         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
61040         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
61041         cloexec bit on duplication.
61042         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
61044 2011-01-26  Bruno Haible  <bruno@clisp.org>
61046         Enable memory leak tests on AIX.
61047         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
61048         * tests/test-fprintf-posix3.c (main): Likewise.
61050 2011-01-26  Bruno Haible  <bruno@clisp.org>
61052         Tests for module 'get-rusage-data'.
61053         * modules/get-rusage-data-tests: New file.
61054         * tests/test-get-rusage-data.c: New file.
61056         New module 'get-rusage-data'.
61057         * lib/resource-ext.h (get_rusage_data): New declaration.
61058         * lib/get-rusage-data.c: New file.
61059         * modules/get-rusage-data: New file.
61061 2011-01-25  Bruno Haible  <bruno@clisp.org>
61063         get-rusage-as: Allow for easier testing.
61064         * lib/resource-ext.h (get_rusage_as): Add comment.
61065         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
61066         (main): New function for interactive testing.
61068 2011-01-25  Bruno Haible  <bruno@clisp.org>
61070         vma-iter: Treat Haiku like BeOS.
61071         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
61072         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
61074 2011-01-25  Eric Blake  <eblake@redhat.com>
61076         c-stack: fix regression on cygwin when libsigsegv is present
61077         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
61079 2011-01-24  Bruno Haible  <bruno@clisp.org>
61081         vma-iter: Avoid empty intervals.
61082         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
61083         on an empty interval.
61085 2011-01-24  Jim Meyering  <meyering@redhat.com>
61087         u64: remove unnecessary #include
61088         * lib/u64.h: Don't include <stddef.h>.  It was not used.
61090 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61092         Allow the user to avoid the HAVE_RAW_DECL_* macros.
61093         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
61095 2011-01-23  Bruno Haible  <bruno@clisp.org>
61097         New module 'vma-iter'.
61098         * lib/vma-iter.h: New file.
61099         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
61100         * modules/vma-iter: New file.
61101         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
61102         for get_rusage_as_via_iterator.
61103         (vma_iterate_callback): New function.
61104         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
61105         * modules/get-rusage-as (Depends-on): Add vma-iter.
61107 2011-01-23  Bruno Haible  <bruno@clisp.org>
61109         uninorm: Tweak includes.
61110         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
61111         Reported by Jim Meyering.
61113 2011-01-23  Bruno Haible  <bruno@clisp.org>
61115         get-rusage-as: Improve on NetBSD.
61116         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
61117         /proc, like on FreeBSD.
61119 2011-01-23  Jim Meyering  <meyering@redhat.com>
61121         xreadlink.h: remove unnecessary #include
61122         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
61124         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
61125         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
61127 2011-01-23  Bruno Haible  <bruno@clisp.org>
61129         get-rusage-as: Fix bug.
61130         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
61131         original limit when aborting the first loop.
61133 2011-01-23  Bruno Haible  <bruno@clisp.org>
61135         wctype: Ensure valid C syntax.
61136         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
61137         unconditionally, instead of gl_NEXT_HEADERS conditionally.
61139 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
61141         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
61142         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
61143         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
61144         as they are needed only for configure's test case.
61145         This removes two unnecessary symbols from config.h.
61147         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
61148         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
61149         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
61150         AC_CHECK_HEADERS_ONCE on a header that we also invoke
61151         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
61152         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
61153         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
61154         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
61155         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61156         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
61157         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
61158         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61159         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
61160         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
61161         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
61162         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61163         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
61164         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
61166 2011-01-21  Eric Blake  <eblake@redhat.com>
61168         maintainer-makefile: work with older git for submodule check
61169         * top/maint.mk (public-submodule-commit): Rewrite to avoid
61170         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
61171         Reported by Matthias Bolte.
61173         bootstrap: minor portability fixes
61174         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
61175         (usage): Omit leading capital and trailing . on help phrases, per
61176         GNU Coding Standards.
61177         (check_versions, top level): Prefix messages with script name.
61179 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
61181         bootstrap: support --no-git option
61182         * build-aux/bootstrap: Add --no-git option, to be used when
61183         --gnulib-srcdir points to the exact desired checkout.
61185 2011-01-21  Eric Blake  <eblake@redhat.com>
61187         strerror_r-posix: work with glibc 2.13
61188         * lib/strerror_r.c (strerror_r): Fix return type.
61190 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61191             Bruno Haible  <bruno@clisp.org>
61193         uN_strstr: New unit tests.
61194         * modules/unistr/u8-strstr-tests: New file.
61195         * modules/unistr/u16-strstr-tests: New file.
61196         * modules/unistr/u32-strstr-tests: New file.
61197         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
61198         * tests/unistr/test-u8-strstr.c: New file.
61199         * tests/unistr/test-u16-strstr.c: New file.
61200         * tests/unistr/test-u32-strstr.c: New file.
61202 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61203             Bruno Haible  <bruno@clisp.org>
61205         Make uN_strstr functions O(n) worst-case.
61206         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
61207         16-bit and 32-bit unit cases, use the unibyte algorithm from
61208         lib/mbsstr.c.
61209         * lib/unistr/u8-strstr.c: Include <string.h>.
61210         (UNIT_IS_UINT8_T): New macro.
61211         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
61212         (U_STRLEN, U_STRNLEN): New macros.
61213         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
61214         (U_STRLEN, U_STRNLEN): New macros.
61215         * modules/unistr/u8-strstr (Depends-on): Add strstr.
61216         (configure.ac): Update required libunistring version.
61217         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
61218         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
61219         malloca.
61220         (configure.ac): Update required libunistring version.
61221         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
61222         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
61223         malloca.
61224         (configure.ac): Update required libunistring version.
61226 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61227             Bruno Haible  <bruno@clisp.org>
61229         Prepare for faster uN_strstr functions.
61230         * lib/str-kmp.h: Support definable UNITs.
61231         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
61232         needle_len argument.
61233         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
61234         * lib/mbscasestr.c (mbscasestr): Likewise.
61236 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61238         malloca-tests: make faster by unsetting MALLOC_PERTURB_
61239         * tests/test-malloca.c (main): Unset the environment variable
61240         to greatly speed up the test.
61241         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
61242         * modules/malloca-tests: Depend on unsetenv.
61244 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61246         ignore-value: remove stdint dependency
61247         * lib/ignore-value.h: Remove <stdint.h>
61248         * modules/ignore-value: Remove stdint dependency.
61250 2011-01-21  Jim Meyering  <meyering@redhat.com>
61252         maint.mk: adjust variable name to be consistent with other gl_ vars
61253         * top/maint.mk (gl_public_submodule_commit): Rename the variable
61254         to be lower case.
61256 2011-01-20  Jim Meyering  <meyering@redhat.com>
61258         maint.mk: make "check" depend on public-submodule-commit by default
61259         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
61261 2011-01-20  Bruno Haible  <bruno@clisp.org>
61263         mbfile, mbiter: Complete change from 2008-12-21.
61264         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
61265         * m4/mbiter.m4 (gl_MBITER): Likewise.
61267 2011-01-20  Jim Meyering  <meyering@redhat.com>
61269         init.sh: insert space between each function name and "()"
61270         * tests/init.sh: Make it a little easier to see that a function's
61271         name is "warn_", and not "warn" when looking at the first part of
61272         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
61274 2011-01-20  Jim Meyering  <meyering@redhat.com>
61276         mountlist: clean up code formatting
61277         * lib/mountlist.c (read_file_system_list): Split a long line,
61278         correct bracing style, use NULL in place of "(struct statfs *)0",
61279         don't parenthesize return value, add spaces around "=" and after
61280         ";-in-for-stmt".
61282 2011-01-14  Markus Duft  <mduft@gentoo.org>
61284         mountlist: add support for Interix
61285         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
61286         Apply statvfs to all entries of /dev/fs.
61287         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
61288         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
61290 2011-01-20  Jim Meyering  <meyering@redhat.com>
61292         maint.mk: improve the public-submodule-commit rule
61293         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
61294         to suppress printing of its commands... unless V=1.
61295         Add git submodule's --quiet option to suppress printing of e.g.,
61296         "Entering gnulib" output.
61297         "cd" into $(srcdir) before running git submodule.
61299 2011-01-20  Bruno Haible  <bruno@clisp.org>
61301         include_next: Fix bug introduced on 2011-01-18.
61302         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
61303         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
61304         ac_cv_header_... variable if the second argument is not 'check'.
61305         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
61306         gl_NEXT_HEADERS_INTERNAL.
61308 2011-01-20  Bruno Haible  <bruno@clisp.org>
61310         Allow the user to avoid the GNULIB_TEST_* macros.
61311         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
61312         Suggested by Paul Eggert.
61314 2011-01-14  Jim Meyering  <meyering@redhat.com>
61316         bootstrap: avoid failure when there is no .gitmodules file
61317         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
61318         has been assigned to, even when its value is the empty string.
61319         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
61320         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
61321         Reported by John W. Eaton <jwe@gnu.org>.
61323 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
61325         assume <ctype.h>, ..., <time.h> exist
61326         For years gnulib has been assuming the existence of the headers
61327         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
61328         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
61329         them, since they don't appear to be needed.
61330         * README (Portability guidelines): Document this.
61331         * lib/flock.c: Assume <fcntl.h> exists.
61332         * lib/regex_internal.h: Assume <locale.h> exists.
61333         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
61334         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
61335         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
61336         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
61337         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
61338         * m4/regex.m4 (gl_REGEX): Likewise.
61339         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
61340         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
61341         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
61342         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
61343         * tests/test-argp.c: Likewise.
61344         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
61346         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
61347         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
61348         AA_APPLE_UNIVERSAL_BUILD.  See
61349         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
61350         * NEWS: Document this.
61352 2011-01-19  Eric Blake  <eblake@redhat.com>
61354         c-stack: assume stack overflow if SA_SIGINFO unsupported
61355         * lib/c-stack.c (SIGACTION_WORKS): Rename...
61356         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
61357         sigaction will work.
61358         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
61359         behavior match Linux.
61360         * tests/test-c-stack.c (main): Prefer NULL for pointers.
61362         stdbool-tests: accommodate Haiku
61363         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
61365         binary-io: fix O_TEXT on Haiku
61366         * modules/binary-io (Depends-on): Add fcntl-h.
61367         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
61368         than blindly undefining O_TEXT.
61369         Reported by Scott McCreary.
61371 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61373         include_next: do not check for standard headers like stddef.h
61375         I found this problem when modifying Emacs to use gnulib.
61376         I noticed that it added HAVE_STDDEF_H to config.h, even though
61377         gnulib always assumes <stddef.h> exists as per README and this
61378         symbol is unnecessary.
61379         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
61380         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
61381         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
61382         faster for headers like stddef.h that are known to exist.
61383         (gl_CHECK_NEXT_HEADERS): Use it.
61384         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
61385         rather than gl_CHECK_NEXT_HEADERS.
61386         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
61387         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
61389 2011-01-18  Eric Blake  <eblake@redhat.com>
61391         ansi-c++-opt: skip C++ dependency style if C++ is unused
61392         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
61393         tests when we know C++ compilation is not desired.
61394         Reported by Scott McCreary.
61396 2011-01-18  Bruno Haible  <bruno@clisp.org>
61398         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
61399         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
61400         (main): Perform test also when getrlimit and setrlimit don't exist or
61401         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
61402         limiting the address space size using setrlimit, compare the address
61403         space size before and after the test.
61404         * tests/test-dprintf-posix2.c: Likewise.
61405         * tests/test-fprintf-posix3.sh: Update skip messages.
61406         * tests/test-dprintf-posix2.sh: Likewise.
61407         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
61408         * modules/dprintf-posix-tests (Depends-on): Likewise.
61409         Reported by Bruce Korb <bkorb@gnu.org> and
61410         Gary V. Vaughan <gary@gnu.org>.
61412 2011-01-18  Bruno Haible  <bruno@clisp.org>
61414         get-rusage-as: Improvement for Cygwin.
61415         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
61416         areas that are merely reserved.
61418 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61420         strftime: remove dependencies on multibyte modules
61422         strftime depended on mbrlen, mbsinit, and wchar, but these modules
61423         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
61424         only if __osf__ is defined, and I suspect OSF doesn't need these
61425         other modules.  If my guess is wrong, we'll need to come up with a
61426         variant of strftime that doesn't need the multibyte modules.
61428         I discovered this problem when attempting modify Emacs to use the
61429         strftime module.  With the previous gnulib, this caused Emacs to
61430         need 31 new files, ranging from lib/config.charset to
61431         m4/wint_t.m4.  This was overkill and I expect would be offputting
61432         to the Emacs maintainers.  After this change, only 6 new files are
61433         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
61434         stdbool.m4, and tm_gmtoff.m4.
61436         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
61437         Suggested by Bruno Haible in
61438         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
61439         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
61440         and do not check for wchar.h.
61441         * modules/strftime (Files): Remove m4/mbstate_t.m4.
61442         (Depends-on): Remove mbrlen, mbsinit, wchar.
61444 2011-01-18  Bruno Haible  <bruno@clisp.org>
61446         Tests for module 'get-rusage-as'.
61447         * modules/get-rusage-as-tests: New file.
61448         * tests/test-get-rusage-as.c: New file.
61450         New module 'get-rusage-as'.
61451         * modules/get-rusage-as: New file.
61452         * lib/resource-ext.h: New file.
61453         * lib/get-rusage-as.c: New file.
61455 2011-01-17  Eric Blake  <eblake@redhat.com>
61457         sigaction: relax license from LGPLv3+ to LGPLv2+
61458         * modules/sigaction (License): Relax to LGPLv2+.
61460 2011-01-14  Bruno Haible  <bruno@clisp.org>
61462         filemode: Make function declarations usable in C++ mode.
61463         * lib/filemode.h: Enclose function declarations in extern "C" block.
61464         Reported by John W. Eaton <jwe@gnu.org>.
61466 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
61468         save-cwd: no longer include "xgetcwd.h"
61469         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
61470         This avoids a compilation failure in projects that use save-cwd
61471         without also using the xgetcwd module.
61473 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61475         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
61476         This is so that a program like Emacs, which needs only dtoastr,
61477         does not have to bother with distributing and compiling ftoastr
61478         and ldtoastr.
61479         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
61480         * modules/dtoastr, modules/ldtoastr: New files.
61481         * modules/ftoastr: Now works just for 'float'.
61482         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
61483         (Makefile.am): Remove ftoastr.h (not needed and no effect),
61484         dtoastr.c, ldtoastr.c.
61486 2011-01-11  Jim Meyering  <meyering@redhat.com>
61488         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
61489         There is no need to work around the lack of the fchdir function,
61490         since gnulib can now provide a replacement when required.
61491         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
61492         * modules/save-cwd (Depends-on): Add fchdir.
61494 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61496         openat, save-cwd: avoid xmalloc
61498         This removes a direct (but undocumented) dependency of openat on
61499         xalloc, along with an indirect dependency via save-cwd.  It also
61500         removes a dependency of save-cwd on xgetcwd, and thereby
61501         indirectly on xalloc.  This change causes the openat substitute
61502         to fall back on save_cwd when memory is tight, and for save_cwd to
61503         fail instead of dying when memory is tight, but that's good enough.
61504         Problem and initial idea for fix reported by Bastien Roucaries in
61505         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
61507         * lib/openat-proc.c: Include stdlib.h (for malloc), not
61508         xalloc.h (for xmalloc).
61509         (openat_proc_name): Use malloc, not xmalloc.
61510         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
61511         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
61513         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
61514         This avoids heap allocation for file names whose lengths are in
61515         the range 512..1023, with the upper bound increasing to at most
61516         4031 depending on the platform's PATH_MAX.  (We do not want
61517         pathmax.h here as it might supply a non-constant PATH_MAX.)
61518         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
61519         Perhaps they should be moved to malloca.h?
61520         (OPENAT_BUFFER_SIZE): Use them.
61522 2011-01-10  Bruno Haible  <bruno@clisp.org>
61524         doc: Update users.txt.
61525         * users.txt: Add recutils.
61527 2011-01-09  Karl Berry  <karl@gnu.org>
61529         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
61531         * doc/configmake.texi: New file.
61532         * doc/gnulib.texi: Include it.
61533         * modules/configmake: Move documentation from here.
61535 2011-01-09  Bruno Haible  <bruno@clisp.org>
61537         Update to Unicode 6.0.0.
61538         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
61539         (get_lbp): Update for Unicode 6.0.0.
61540         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
61541         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
61542         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
61543         U+11001, U+11038..U+11046. Remove U+06DE.
61544         (uc_width): Fix bounds of planes.
61545         * tests/uniwidth/test-uc_width2.sh: Same updates as in
61546         lib/uniwidth/width.c.
61547         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
61548         trailing whitespace removed.
61549         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
61550         without comments, but with the original copyright notice.
61551         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
61552         * lib/unicase/ignorable.h: Likewise.
61553         * lib/unicase/tocasefold.h: Likewise.
61554         * lib/unicase/tolower.h: Likewise.
61555         * lib/unicase/totitle.h: Likewise.
61556         * lib/unicase/toupper.h: Likewise.
61557         * lib/unictype/bidi_of.h: Likewise.
61558         * lib/unictype/blocks.h: Likewise.
61559         * lib/unictype/categ_C.h: Likewise.
61560         * lib/unictype/categ_Cn.h: Likewise.
61561         * lib/unictype/categ_L.h: Likewise.
61562         * lib/unictype/categ_Ll.h: Likewise.
61563         * lib/unictype/categ_Lm.h: Likewise.
61564         * lib/unictype/categ_Lo.h: Likewise.
61565         * lib/unictype/categ_Lu.h: Likewise.
61566         * lib/unictype/categ_M.h: Likewise.
61567         * lib/unictype/categ_Mc.h: Likewise.
61568         * lib/unictype/categ_Me.h: Likewise.
61569         * lib/unictype/categ_Mn.h: Likewise.
61570         * lib/unictype/categ_N.h: Likewise.
61571         * lib/unictype/categ_Nd.h: Likewise.
61572         * lib/unictype/categ_No.h: Likewise.
61573         * lib/unictype/categ_P.h: Likewise.
61574         * lib/unictype/categ_Po.h: Likewise.
61575         * lib/unictype/categ_S.h: Likewise.
61576         * lib/unictype/categ_Sc.h: Likewise.
61577         * lib/unictype/categ_Sk.h: Likewise.
61578         * lib/unictype/categ_Sm.h: Likewise.
61579         * lib/unictype/categ_So.h: Likewise.
61580         * lib/unictype/categ_of.h: Likewise.
61581         * lib/unictype/combining.h: Likewise.
61582         * lib/unictype/ctype_alnum.h: Likewise.
61583         * lib/unictype/ctype_alpha.h: Likewise.
61584         * lib/unictype/ctype_graph.h: Likewise.
61585         * lib/unictype/ctype_lower.h: Likewise.
61586         * lib/unictype/ctype_print.h: Likewise.
61587         * lib/unictype/ctype_punct.h: Likewise.
61588         * lib/unictype/ctype_upper.h: Likewise.
61589         * lib/unictype/decdigit.h: Likewise.
61590         * lib/unictype/digit.h: Likewise.
61591         * lib/unictype/numeric.h: Likewise.
61592         * lib/unictype/pr_alphabetic.h: Likewise.
61593         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61594         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61595         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61596         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61597         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61598         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61599         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61600         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61601         * lib/unictype/pr_case_ignorable.h: Likewise.
61602         * lib/unictype/pr_cased.h: Likewise.
61603         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
61604         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
61605         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
61606         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
61607         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
61608         * lib/unictype/pr_combining.h: Likewise.
61609         * lib/unictype/pr_composite.h: Likewise.
61610         * lib/unictype/pr_currency_symbol.h: Likewise.
61611         * lib/unictype/pr_decimal_digit.h: Likewise.
61612         * lib/unictype/pr_deprecated.h: Likewise.
61613         * lib/unictype/pr_format_control.h: Likewise.
61614         * lib/unictype/pr_grapheme_base.h: Likewise.
61615         * lib/unictype/pr_grapheme_extend.h: Likewise.
61616         * lib/unictype/pr_grapheme_link.h: Likewise.
61617         * lib/unictype/pr_id_continue.h: Likewise.
61618         * lib/unictype/pr_id_start.h: Likewise.
61619         * lib/unictype/pr_ideographic.h: Likewise.
61620         * lib/unictype/pr_lowercase.h: Likewise.
61621         * lib/unictype/pr_math.h: Likewise.
61622         * lib/unictype/pr_numeric.h: Likewise.
61623         * lib/unictype/pr_other_alphabetic.h: Likewise.
61624         * lib/unictype/pr_other_id_continue.h: Likewise.
61625         * lib/unictype/pr_other_math.h: Likewise.
61626         * lib/unictype/pr_punctuation.h: Likewise.
61627         * lib/unictype/pr_sentence_terminal.h: Likewise.
61628         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61629         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61630         * lib/unictype/pr_unified_ideograph.h: Likewise.
61631         * lib/unictype/pr_uppercase.h: Likewise.
61632         * lib/unictype/pr_xid_continue.h: Likewise.
61633         * lib/unictype/pr_xid_start.h: Likewise.
61634         * lib/unictype/scripts.h: Likewise.
61635         * lib/unictype/scripts_byname.gperf: Likewise.
61636         * lib/unictype/sy_java_ident.h: Likewise.
61637         * lib/unigbrk/gbrkprop.h: Likewise.
61638         * lib/unilbrk/lbrkprop1.h: Likewise.
61639         * lib/unilbrk/lbrkprop2.h: Likewise.
61640         * lib/uninorm/decomposition-table2.h: Likewise.
61641         * lib/uniwbrk/wbrkprop.h: Likewise.
61642         * tests/unicase/test-cased.c: Likewise.
61643         * tests/unicase/test-ignorable.c: Likewise.
61644         * tests/unicase/test-uc_tolower.c: Likewise.
61645         * tests/unicase/test-uc_totitle.c: Likewise.
61646         * tests/unicase/test-uc_toupper.c: Likewise.
61647         * tests/unictype/test-categ_C.c: Likewise.
61648         * tests/unictype/test-categ_Cn.c: Likewise.
61649         * tests/unictype/test-categ_L.c: Likewise.
61650         * tests/unictype/test-categ_Ll.c: Likewise.
61651         * tests/unictype/test-categ_Lm.c: Likewise.
61652         * tests/unictype/test-categ_Lo.c: Likewise.
61653         * tests/unictype/test-categ_Lu.c: Likewise.
61654         * tests/unictype/test-categ_M.c: Likewise.
61655         * tests/unictype/test-categ_Mc.c: Likewise.
61656         * tests/unictype/test-categ_Me.c: Likewise.
61657         * tests/unictype/test-categ_Mn.c: Likewise.
61658         * tests/unictype/test-categ_N.c: Likewise.
61659         * tests/unictype/test-categ_Nd.c: Likewise.
61660         * tests/unictype/test-categ_No.c: Likewise.
61661         * tests/unictype/test-categ_P.c: Likewise.
61662         * tests/unictype/test-categ_Po.c: Likewise.
61663         * tests/unictype/test-categ_S.c: Likewise.
61664         * tests/unictype/test-categ_Sc.c: Likewise.
61665         * tests/unictype/test-categ_Sk.c: Likewise.
61666         * tests/unictype/test-categ_Sm.c: Likewise.
61667         * tests/unictype/test-categ_So.c: Likewise.
61668         * tests/unictype/test-ctype_alnum.c: Likewise.
61669         * tests/unictype/test-ctype_alpha.c: Likewise.
61670         * tests/unictype/test-ctype_graph.c: Likewise.
61671         * tests/unictype/test-ctype_lower.c: Likewise.
61672         * tests/unictype/test-ctype_print.c: Likewise.
61673         * tests/unictype/test-ctype_punct.c: Likewise.
61674         * tests/unictype/test-ctype_upper.c: Likewise.
61675         * tests/unictype/test-decdigit.h: Likewise.
61676         * tests/unictype/test-digit.h: Likewise.
61677         * tests/unictype/test-numeric.h: Likewise.
61678         * tests/unictype/test-pr_alphabetic.c: Likewise.
61679         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61680         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61681         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61682         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61683         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61684         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61685         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61686         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61687         * tests/unictype/test-pr_case_ignorable.c: Likewise.
61688         * tests/unictype/test-pr_cased.c: Likewise.
61689         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
61690         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
61691         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
61692         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
61693         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
61694         * tests/unictype/test-pr_combining.c: Likewise.
61695         * tests/unictype/test-pr_composite.c: Likewise.
61696         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61697         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61698         * tests/unictype/test-pr_deprecated.c: Likewise.
61699         * tests/unictype/test-pr_format_control.c: Likewise.
61700         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61701         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61702         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61703         * tests/unictype/test-pr_id_continue.c: Likewise.
61704         * tests/unictype/test-pr_id_start.c: Likewise.
61705         * tests/unictype/test-pr_ideographic.c: Likewise.
61706         * tests/unictype/test-pr_lowercase.c: Likewise.
61707         * tests/unictype/test-pr_math.c: Likewise.
61708         * tests/unictype/test-pr_numeric.c: Likewise.
61709         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61710         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61711         * tests/unictype/test-pr_other_math.c: Likewise.
61712         * tests/unictype/test-pr_punctuation.c: Likewise.
61713         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61714         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61715         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61716         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61717         * tests/unictype/test-pr_uppercase.c: Likewise.
61718         * tests/unictype/test-pr_xid_continue.c: Likewise.
61719         * tests/unictype/test-pr_xid_start.c: Likewise.
61720         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61721         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61722         changes.
61723         * lib/unictype/categ_Cc.h: Likewise.
61724         * lib/unictype/categ_Cf.h: Likewise.
61725         * lib/unictype/categ_Co.h: Likewise.
61726         * lib/unictype/categ_Cs.h: Likewise.
61727         * lib/unictype/categ_Lt.h: Likewise.
61728         * lib/unictype/categ_Nl.h: Likewise.
61729         * lib/unictype/categ_Pc.h: Likewise.
61730         * lib/unictype/categ_Pd.h: Likewise.
61731         * lib/unictype/categ_Pe.h: Likewise.
61732         * lib/unictype/categ_Pf.h: Likewise.
61733         * lib/unictype/categ_Pi.h: Likewise.
61734         * lib/unictype/categ_Ps.h: Likewise.
61735         * lib/unictype/categ_Z.h: Likewise.
61736         * lib/unictype/categ_Zl.h: Likewise.
61737         * lib/unictype/categ_Zp.h: Likewise.
61738         * lib/unictype/categ_Zs.h: Likewise.
61739         * lib/unictype/ctype_blank.h: Likewise.
61740         * lib/unictype/ctype_cntrl.h: Likewise.
61741         * lib/unictype/ctype_digit.h: Likewise.
61742         * lib/unictype/ctype_space.h: Likewise.
61743         * lib/unictype/ctype_xdigit.h: Likewise.
61744         * lib/unictype/mirror.h: Likewise.
61745         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61746         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61747         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61748         * lib/unictype/pr_bidi_control.h: Likewise.
61749         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61750         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61751         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61752         * lib/unictype/pr_bidi_pdf.h: Likewise.
61753         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61754         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61755         * lib/unictype/pr_dash.h: Likewise.
61756         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61757         * lib/unictype/pr_diacritic.h: Likewise.
61758         * lib/unictype/pr_extender.h: Likewise.
61759         * lib/unictype/pr_hex_digit.h: Likewise.
61760         * lib/unictype/pr_hyphen.h: Likewise.
61761         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61762         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61763         * lib/unictype/pr_ignorable_control.h: Likewise.
61764         * lib/unictype/pr_iso_control.h: Likewise.
61765         * lib/unictype/pr_join_control.h: Likewise.
61766         * lib/unictype/pr_left_of_pair.h: Likewise.
61767         * lib/unictype/pr_line_separator.h: Likewise.
61768         * lib/unictype/pr_logical_order_exception.h: Likewise.
61769         * lib/unictype/pr_non_break.h: Likewise.
61770         * lib/unictype/pr_not_a_character.h: Likewise.
61771         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61772         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61773         * lib/unictype/pr_other_id_start.h: Likewise.
61774         * lib/unictype/pr_other_lowercase.h: Likewise.
61775         * lib/unictype/pr_other_uppercase.h: Likewise.
61776         * lib/unictype/pr_paired_punctuation.h: Likewise.
61777         * lib/unictype/pr_paragraph_separator.h: Likewise.
61778         * lib/unictype/pr_pattern_syntax.h: Likewise.
61779         * lib/unictype/pr_pattern_white_space.h: Likewise.
61780         * lib/unictype/pr_private_use.h: Likewise.
61781         * lib/unictype/pr_quotation_mark.h: Likewise.
61782         * lib/unictype/pr_radical.h: Likewise.
61783         * lib/unictype/pr_soft_dotted.h: Likewise.
61784         * lib/unictype/pr_space.h: Likewise.
61785         * lib/unictype/pr_titlecase.h: Likewise.
61786         * lib/unictype/pr_variation_selector.h: Likewise.
61787         * lib/unictype/pr_white_space.h: Likewise.
61788         * lib/unictype/pr_zero_width.h: Likewise.
61789         * lib/unictype/sy_c_ident.h: Likewise.
61790         * lib/unictype/sy_c_whitespace.h: Likewise.
61791         * lib/unictype/sy_java_whitespace.h: Likewise.
61792         * lib/uninorm/composition-table.gperf: Likewise.
61793         * lib/uninorm/decomposition-table1.h: Likewise.
61794         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
61795         LB8.
61796         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61797         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61798         * modules/unictype/*: Bump version number of expected libunistring
61799         version.
61801 2011-01-09  Bruno Haible  <bruno@clisp.org>
61803         Update to Unicode 5.2.0.
61804         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
61805         trailing whitespace removed.
61807 2011-01-09  Bruno Haible  <bruno@clisp.org>
61809         New Unicode character properties, from Unicode 5.2.0.
61810         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
61811         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
61812         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
61813         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
61814         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
61815         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
61816         uc_is_property_cased, uc_is_property_case_ignorable,
61817         uc_is_property_changes_when_lowercased,
61818         uc_is_property_changes_when_uppercased,
61819         uc_is_property_changes_when_titlecased,
61820         uc_is_property_changes_when_casefolded,
61821         uc_is_property_changes_when_casemapped): New declarations.
61822         * lib/unictype/pr_byname.gperf: Add the new properties.
61823         * modules/unictype/property-byname (Depends-on): Depend on the new
61824         properties modules.
61825         * modules/unictype/property-all (Depends-on): Likewise.
61826         * MODULES.html.sh (Unicode string functions): Add
61827         unictype/property-case-ignorable, unictype/property-cased,
61828         unictype/property-changes-when-casefolded,
61829         unictype/property-changes-when-casemapped,
61830         unictype/property-changes-when-lowercased,
61831         unictype/property-changes-when-titlecased,
61832         unictype/property-changes-when-uppercased.
61834         New module 'unictype/property-changes-when-casemapped'.
61835         * modules/unictype/property-changes-when-casemapped: New file.
61836         * lib/unictype/pr_changes_when_casemapped.c: New file.
61837         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
61838         generated by gen-uni-tables.
61839         * modules/unictype/property-changes-when-casemapped-tests: New file.
61840         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
61841         automatically generated by gen-uni-tables.
61843         New module 'unictype/property-changes-when-casefolded'.
61844         * modules/unictype/property-changes-when-casefolded: New file.
61845         * lib/unictype/pr_changes_when_casefolded.c: New file.
61846         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
61847         generated by gen-uni-tables.
61848         * modules/unictype/property-changes-when-casefolded-tests: New file.
61849         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
61850         automatically generated by gen-uni-tables.
61852         New module 'unictype/property-changes-when-titlecased'.
61853         * modules/unictype/property-changes-when-titlecased: New file.
61854         * lib/unictype/pr_changes_when_titlecased.c: New file.
61855         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
61856         generated by gen-uni-tables.
61857         * modules/unictype/property-changes-when-titlecased-tests: New file.
61858         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
61859         automatically generated by gen-uni-tables.
61861         New module 'unictype/property-changes-when-uppercased'.
61862         * modules/unictype/property-changes-when-uppercased: New file.
61863         * lib/unictype/pr_changes_when_uppercased.c: New file.
61864         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
61865         generated by gen-uni-tables.
61866         * modules/unictype/property-changes-when-uppercased-tests: New file.
61867         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
61868         automatically generated by gen-uni-tables.
61870         New module 'unictype/property-changes-when-lowercased'.
61871         * modules/unictype/property-changes-when-lowercased: New file.
61872         * lib/unictype/pr_changes_when_lowercased.c: New file.
61873         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
61874         generated by gen-uni-tables.
61875         * modules/unictype/property-changes-when-lowercased-tests: New file.
61876         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
61877         automatically generated by gen-uni-tables.
61879         New module 'unictype/property-case-ignorable'.
61880         * modules/unictype/property-case-ignorable: New file.
61881         * lib/unictype/pr_case_ignorable.c: New file.
61882         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
61883         by gen-uni-tables.
61884         * modules/unictype/property-case-ignorable-tests: New file.
61885         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
61886         generated by gen-uni-tables.
61888         New module 'unictype/property-cased'.
61889         * modules/unictype/property-cased: New file.
61890         * lib/unictype/pr_cased.c: New file.
61891         * lib/unictype/pr_cased.h: New file, automatically generated by
61892         gen-uni-tables.
61893         * modules/unictype/property-cased-tests: New file.
61894         * tests/unictype/test-pr_cased.c: New file, automatically generated by
61895         gen-uni-tables.
61897 2011-01-09  Bruno Haible  <bruno@clisp.org>
61899         Update to Unicode 5.2.0.
61900         * lib/gen-uni-tables.c (output_predicate, output_category,
61901         output_combclass, output_bidi_category, output_decimal_digit_test,
61902         output_decimal_digit, output_digit_test, output_digit,
61903         output_numeric_test, output_numeric, output_mirror, output_scripts,
61904         output_scripts_byname, output_blocks, output_ident_category): Fix
61905         comment header.
61906         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
61907         get_wbp.
61908         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
61909         items.
61910         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
61911         Changes_When_Lowercased, Changes_When_Uppercased,
61912         Changes_When_Titlecased, Changes_When_Casefolded,
61913         Changes_When_Casemapped.
61914         (is_property_alphabetic, is_property_default_ignorable_code_point):
61915         Update for Unicode 5.2.0.
61916         (is_property_cased, is_property_case_ignorable,
61917         is_property_changes_when_lowercased,
61918         is_property_changes_when_uppercased,
61919         is_property_changes_when_titlecased,
61920         is_property_changes_when_casefolded,
61921         is_property_changes_when_casemapped): New functions.
61922         (output_properties): Output also the properties cased, case_ignorable,
61923         changes_when_lowercased, changes_when_uppercased,
61924         changes_when_titlecased, changes_when_casefolded,
61925         changes_when_casemapped.
61926         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
61927         Unicode TR#11 revision 17 -> 19.
61928         (LBP_CP): New enumeration value.
61929         (LBP_*): Adjust values accordingly.
61930         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61931         TR#14 revision 22 -> 24.
61932         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
61933         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
61934         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61935         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
61936         is_WBP_MIDLETTER.
61937         (output_composition_tables): Allow for 24 bits instead of 16 bits in
61938         the code1 and code2 of each composition rule.
61939         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
61940         * lib/unicase/ignorable.h: Likewise.
61941         * lib/unicase/tocasefold.h: Likewise.
61942         * lib/unicase/tolower.h: Likewise.
61943         * lib/unicase/totitle.h: Likewise.
61944         * lib/unicase/toupper.h: Likewise.
61945         * lib/unictype/bidi_of.h: Likewise.
61946         * lib/unictype/blocks.h: Likewise.
61947         * lib/unictype/categ_C.h: Likewise.
61948         * lib/unictype/categ_Cf.h: Likewise.
61949         * lib/unictype/categ_Cn.h: Likewise.
61950         * lib/unictype/categ_L.h: Likewise.
61951         * lib/unictype/categ_Ll.h: Likewise.
61952         * lib/unictype/categ_Lm.h: Likewise.
61953         * lib/unictype/categ_Lo.h: Likewise.
61954         * lib/unictype/categ_Lu.h: Likewise.
61955         * lib/unictype/categ_M.h: Likewise.
61956         * lib/unictype/categ_Mc.h: Likewise.
61957         * lib/unictype/categ_Mn.h: Likewise.
61958         * lib/unictype/categ_N.h: Likewise.
61959         * lib/unictype/categ_Nd.h: Likewise.
61960         * lib/unictype/categ_Nl.h: Likewise.
61961         * lib/unictype/categ_No.h: Likewise.
61962         * lib/unictype/categ_P.h: Likewise.
61963         * lib/unictype/categ_Pd.h: Likewise.
61964         * lib/unictype/categ_Po.h: Likewise.
61965         * lib/unictype/categ_S.h: Likewise.
61966         * lib/unictype/categ_Sc.h: Likewise.
61967         * lib/unictype/categ_So.h: Likewise.
61968         * lib/unictype/categ_of.h: Likewise.
61969         * lib/unictype/combining.h: Likewise.
61970         * lib/unictype/ctype_alnum.h: Likewise.
61971         * lib/unictype/ctype_alpha.h: Likewise.
61972         * lib/unictype/ctype_graph.h: Likewise.
61973         * lib/unictype/ctype_lower.h: Likewise.
61974         * lib/unictype/ctype_print.h: Likewise.
61975         * lib/unictype/ctype_punct.h: Likewise.
61976         * lib/unictype/ctype_upper.h: Likewise.
61977         * lib/unictype/decdigit.h: Likewise.
61978         * lib/unictype/digit.h: Likewise.
61979         * lib/unictype/numeric.h: Likewise.
61980         * lib/unictype/pr_alphabetic.h: Likewise.
61981         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61982         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61983         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61984         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61985         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61986         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61987         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61988         * lib/unictype/pr_combining.h: Likewise.
61989         * lib/unictype/pr_composite.h: Likewise.
61990         * lib/unictype/pr_currency_symbol.h: Likewise.
61991         * lib/unictype/pr_dash.h: Likewise.
61992         * lib/unictype/pr_decimal_digit.h: Likewise.
61993         * lib/unictype/pr_deprecated.h: Likewise.
61994         * lib/unictype/pr_diacritic.h: Likewise.
61995         * lib/unictype/pr_extender.h: Likewise.
61996         * lib/unictype/pr_grapheme_base.h: Likewise.
61997         * lib/unictype/pr_grapheme_extend.h: Likewise.
61998         * lib/unictype/pr_grapheme_link.h: Likewise.
61999         * lib/unictype/pr_id_continue.h: Likewise.
62000         * lib/unictype/pr_id_start.h: Likewise.
62001         * lib/unictype/pr_ideographic.h: Likewise.
62002         * lib/unictype/pr_ignorable_control.h: Likewise.
62003         * lib/unictype/pr_logical_order_exception.h: Likewise.
62004         * lib/unictype/pr_lowercase.h: Likewise.
62005         * lib/unictype/pr_numeric.h: Likewise.
62006         * lib/unictype/pr_other_alphabetic.h: Likewise.
62007         * lib/unictype/pr_punctuation.h: Likewise.
62008         * lib/unictype/pr_sentence_terminal.h: Likewise.
62009         * lib/unictype/pr_terminal_punctuation.h: Likewise.
62010         * lib/unictype/pr_unassigned_code_value.h: Likewise.
62011         * lib/unictype/pr_unified_ideograph.h: Likewise.
62012         * lib/unictype/pr_uppercase.h: Likewise.
62013         * lib/unictype/pr_xid_continue.h: Likewise.
62014         * lib/unictype/pr_xid_start.h: Likewise.
62015         * lib/unictype/pr_zero_width.h: Likewise.
62016         * lib/unictype/scripts.h: Likewise.
62017         * lib/unictype/scripts_byname.gperf: Likewise.
62018         * lib/unictype/sy_java_ident.h: Likewise.
62019         * lib/unigbrk/gbrkprop.h: Likewise.
62020         * lib/unilbrk/lbrkprop1.h: Likewise.
62021         * lib/unilbrk/lbrkprop2.h: Likewise.
62022         * lib/unilbrk/lbrktables.h: Likewise.
62023         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
62024         LBP_CP. Implement rule LB30.
62025         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
62026         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
62027         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
62028         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
62029         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
62030         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
62031         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
62032         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
62033         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
62034         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
62035         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
62036         bits instead of 16 bits in the code1 and code2 of each composition
62037         rule.
62038         (uc_composition): Update for Unicode 5.2.0.
62039         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
62040         * lib/uninorm/decomposition-table2.h: Likewise.
62041         * lib/uniwbrk/wbrkprop.h: Likewise.
62042         * tests/unicase/test-cased.c: Likewise.
62043         * tests/unicase/test-ignorable.c: Likewise.
62044         * tests/unicase/test-uc_tolower.c: Likewise.
62045         * tests/unicase/test-uc_totitle.c: Likewise.
62046         * tests/unicase/test-uc_toupper.c: Likewise.
62047         * tests/unictype/test-categ_C.c: Likewise.
62048         * tests/unictype/test-categ_Cf.c: Likewise.
62049         * tests/unictype/test-categ_Cn.c: Likewise.
62050         * tests/unictype/test-categ_L.c: Likewise.
62051         * tests/unictype/test-categ_Ll.c: Likewise.
62052         * tests/unictype/test-categ_Lm.c: Likewise.
62053         * tests/unictype/test-categ_Lo.c: Likewise.
62054         * tests/unictype/test-categ_Lu.c: Likewise.
62055         * tests/unictype/test-categ_M.c: Likewise.
62056         * tests/unictype/test-categ_Mc.c: Likewise.
62057         * tests/unictype/test-categ_Mn.c: Likewise.
62058         * tests/unictype/test-categ_N.c: Likewise.
62059         * tests/unictype/test-categ_Nd.c: Likewise.
62060         * tests/unictype/test-categ_Nl.c: Likewise.
62061         * tests/unictype/test-categ_No.c: Likewise.
62062         * tests/unictype/test-categ_P.c: Likewise.
62063         * tests/unictype/test-categ_Pd.c: Likewise.
62064         * tests/unictype/test-categ_Po.c: Likewise.
62065         * tests/unictype/test-categ_S.c: Likewise.
62066         * tests/unictype/test-categ_Sc.c: Likewise.
62067         * tests/unictype/test-categ_So.c: Likewise.
62068         * tests/unictype/test-ctype_alnum.c: Likewise.
62069         * tests/unictype/test-ctype_alpha.c: Likewise.
62070         * tests/unictype/test-ctype_graph.c: Likewise.
62071         * tests/unictype/test-ctype_lower.c: Likewise.
62072         * tests/unictype/test-ctype_print.c: Likewise.
62073         * tests/unictype/test-ctype_punct.c: Likewise.
62074         * tests/unictype/test-ctype_upper.c: Likewise.
62075         * tests/unictype/test-decdigit.h: Likewise.
62076         * tests/unictype/test-digit.h: Likewise.
62077         * tests/unictype/test-numeric.h: Likewise.
62078         * tests/unictype/test-pr_alphabetic.c: Likewise.
62079         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
62080         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
62081         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
62082         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
62083         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
62084         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
62085         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
62086         * tests/unictype/test-pr_combining.c: Likewise.
62087         * tests/unictype/test-pr_composite.c: Likewise.
62088         * tests/unictype/test-pr_currency_symbol.c: Likewise.
62089         * tests/unictype/test-pr_dash.c: Likewise.
62090         * tests/unictype/test-pr_decimal_digit.c: Likewise.
62091         * tests/unictype/test-pr_deprecated.c: Likewise.
62092         * tests/unictype/test-pr_diacritic.c: Likewise.
62093         * tests/unictype/test-pr_extender.c: Likewise.
62094         * tests/unictype/test-pr_grapheme_base.c: Likewise.
62095         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
62096         * tests/unictype/test-pr_grapheme_link.c: Likewise.
62097         * tests/unictype/test-pr_id_continue.c: Likewise.
62098         * tests/unictype/test-pr_id_start.c: Likewise.
62099         * tests/unictype/test-pr_ideographic.c: Likewise.
62100         * tests/unictype/test-pr_ignorable_control.c: Likewise.
62101         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
62102         * tests/unictype/test-pr_lowercase.c: Likewise.
62103         * tests/unictype/test-pr_numeric.c: Likewise.
62104         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
62105         * tests/unictype/test-pr_punctuation.c: Likewise.
62106         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
62107         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
62108         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
62109         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
62110         * tests/unictype/test-pr_uppercase.c: Likewise.
62111         * tests/unictype/test-pr_xid_continue.c: Likewise.
62112         * tests/unictype/test-pr_xid_start.c: Likewise.
62113         * tests/unictype/test-pr_zero_width.c: Likewise.
62114         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
62115         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
62116         changed behaviour: line breaking is now disallowed between a letter
62117         or '=' and '('.
62118         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
62119         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
62120         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
62121         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
62122         * tests/uniwidth/test-uc_width2.sh: Same updates as in
62123         lib/uniwidth/width.c.
62124         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
62125         without comments, but with the original copyright notice.
62126         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
62127         changes.
62128         * lib/unictype/categ_Cc.h: Likewise.
62129         * lib/unictype/categ_Co.h: Likewise.
62130         * lib/unictype/categ_Cs.h: Likewise.
62131         * lib/unictype/categ_Lt.h: Likewise.
62132         * lib/unictype/categ_Me.h: Likewise.
62133         * lib/unictype/categ_Pc.h: Likewise.
62134         * lib/unictype/categ_Pe.h: Likewise.
62135         * lib/unictype/categ_Pf.h: Likewise.
62136         * lib/unictype/categ_Pi.h: Likewise.
62137         * lib/unictype/categ_Ps.h: Likewise.
62138         * lib/unictype/categ_Sk.h: Likewise.
62139         * lib/unictype/categ_Sm.h: Likewise.
62140         * lib/unictype/categ_Z.h: Likewise.
62141         * lib/unictype/categ_Zl.h: Likewise.
62142         * lib/unictype/categ_Zp.h: Likewise.
62143         * lib/unictype/categ_Zs.h: Likewise.
62144         * lib/unictype/ctype_blank.h: Likewise.
62145         * lib/unictype/ctype_cntrl.h: Likewise.
62146         * lib/unictype/ctype_digit.h: Likewise.
62147         * lib/unictype/ctype_space.h: Likewise.
62148         * lib/unictype/ctype_xdigit.h: Likewise.
62149         * lib/unictype/mirror.h: Likewise.
62150         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
62151         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
62152         * lib/unictype/pr_bidi_block_separator.h: Likewise.
62153         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
62154         * lib/unictype/pr_bidi_common_separator.h: Likewise.
62155         * lib/unictype/pr_bidi_control.h: Likewise.
62156         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
62157         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
62158         * lib/unictype/pr_bidi_pdf.h: Likewise.
62159         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
62160         * lib/unictype/pr_bidi_whitespace.h: Likewise.
62161         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
62162         * lib/unictype/pr_format_control.h: Likewise.
62163         * lib/unictype/pr_hex_digit.h: Likewise.
62164         * lib/unictype/pr_hyphen.h: Likewise.
62165         * lib/unictype/pr_ids_binary_operator.h: Likewise.
62166         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
62167         * lib/unictype/pr_iso_control.h: Likewise.
62168         * lib/unictype/pr_join_control.h: Likewise.
62169         * lib/unictype/pr_left_of_pair.h: Likewise.
62170         * lib/unictype/pr_line_separator.h: Likewise.
62171         * lib/unictype/pr_math.h: Likewise.
62172         * lib/unictype/pr_non_break.h: Likewise.
62173         * lib/unictype/pr_not_a_character.h: Likewise.
62174         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
62175         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
62176         * lib/unictype/pr_other_id_continue.h: Likewise.
62177         * lib/unictype/pr_other_id_start.h: Likewise.
62178         * lib/unictype/pr_other_lowercase.h: Likewise.
62179         * lib/unictype/pr_other_math.h: Likewise.
62180         * lib/unictype/pr_other_uppercase.h: Likewise.
62181         * lib/unictype/pr_paired_punctuation.h: Likewise.
62182         * lib/unictype/pr_paragraph_separator.h: Likewise.
62183         * lib/unictype/pr_pattern_syntax.h: Likewise.
62184         * lib/unictype/pr_pattern_white_space.h: Likewise.
62185         * lib/unictype/pr_private_use.h: Likewise.
62186         * lib/unictype/pr_quotation_mark.h: Likewise.
62187         * lib/unictype/pr_radical.h: Likewise.
62188         * lib/unictype/pr_soft_dotted.h: Likewise.
62189         * lib/unictype/pr_space.h: Likewise.
62190         * lib/unictype/pr_titlecase.h: Likewise.
62191         * lib/unictype/pr_variation_selector.h: Likewise.
62192         * lib/unictype/pr_white_space.h: Likewise.
62193         * lib/unictype/sy_c_ident.h: Likewise.
62194         * lib/unictype/sy_c_whitespace.h: Likewise.
62195         * lib/unictype/sy_java_whitespace.h: Likewise.
62196         * modules/uni*/*: Bump version number of expected libunistring version.
62197         Reported by Simon Josefsson.
62199 2011-01-09  Karl Heuer  <kwzh@gnu.org>
62201         useless-if-before-free: fix typo in --help and make the internal,
62202         automatic version date update process work once again.
62203         --help output contained a NUL character instead of the
62204         backslash-zero that was intended.  Also, the "must lie within
62205         the first 8 lines" line is on line 9, and hence not getting
62206         automatically updated.
62207         * build-aux/useless-if-before-free: Fix the former by adding a
62208         backslash, and the latter by condensing the three lines of what-it-does
62209         to a single line, leaving one line of slack for the future.
62211 2011-01-09  Bruno Haible  <bruno@clisp.org>
62213         uniwidth/width: Fix width of U+1D173..U+1D17A.
62214         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
62215         symbolic_width, output_width_property_test): New functions.
62216         (main): Invoke output_nonspacing_property, output_width_property_test.
62217         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
62218         U+1D173..U+1D17A.
62219         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
62220         1.
62221         * modules/uniwidth/*: Bump version number of expected libunistring
62222         version.
62223         * modules/unilbrk/*: Likewise.
62225 2011-01-08  Bruno Haible  <bruno@clisp.org>
62227         uninorm tests: Preserve copyright of Unicode data file.
62228         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
62229         Mention modifications.
62231 2011-01-08  Bruno Haible  <bruno@clisp.org>
62233         gen-uni-tables: Prepare for Unicode 5.2.0.
62234         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
62235         (debug_output_lbp, output_lbp): Update.
62237 2011-01-08  Bruno Haible  <bruno@clisp.org>
62239         unilbrk: Clarify gen-uni-tables.c code.
62240         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
62241         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
62242         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
62244 2011-01-07  Bruno Haible  <bruno@clisp.org>
62246         strtod: Restore errno when successfully parsing Infinity or NaN.
62247         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
62248         restore the original errno.
62250 2011-01-07  Bruno Haible  <bruno@clisp.org>
62252         remove test: Avoid failure on HP-UX 11.
62253         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
62255 2011-01-07  Bruno Haible  <bruno@clisp.org>
62257         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
62258         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
62259         error code.
62261 2011-01-07  Pádraig Brady  <P@draigBrady.com>
62263         ignore-value: fixup comments, and add Eric Blake
62264         as an author since he rewrote the macros.
62265         * lib/ignore-value.h (ignore_value):  State that
62266         we now support aggregates.  Also specify exactly
62267         when the GCC warn_unused_result feature was added.
62269 2011-01-06  Eric Blake  <eblake@redhat.com>
62271         ignore-value: support aggregate types
62272         * lib/ignore-value.h (ignore_value): Provide separate gcc
62273         definition.
62274         * modules/ignore-value-tests: New test module.
62275         * tests/test-ignore-value.c: New test.
62277         maint.mk: improve sc_prohibit_strcmp regex
62278         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
62279         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
62280         definition of STRNEQ.
62282         signal: work around Haiku issue with SIGBUS
62283         * lib/siglist.h: Add comment.
62284         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
62285         strsignal's favoring of SIGSEGV.
62286         * tests/test-signal.c (main): Avoid test failure.
62287         * doc/posix-headers/signal.texi (signal.h): Document the issue.
62288         Reported by Scott McCreary.
62290         maint.mk: add pre-release check to ensure submodule commits are public
62291         * top/maint.mk (public-submodule-commit): New rule.
62292         (submodule-checks): New variable.
62293         (alpha beta stable): Depend on the variable.
62295 2011-01-05  Pádraig Brady  <P@draigBrady.com>
62296         and Jim Meyering  <meyering@redhat.com>
62298         ignore-value: make ignore_value more generic; deprecate ignore_ptr
62299         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
62300         (ATTRIBUTE_DEPRECATED): Define.
62301         (_ignore_case): New function.
62302         (ignore_value): New macro, to replace the old function.
62303         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
62304         * modules/ignore-value (Depends-on): Add stdint.
62306 2011-01-04  Eric Blake  <eblake@redhat.com>
62308         doc: regenerate INSTALL
62309         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
62310         @firstparagraphindent support, now that autoconf dropped it.
62311         (INSTALL_PRELUDE): Reinstate old macro.
62312         * doc/install.texi: Resync from autoconf.
62313         * doc/INSTALL: Reflect recent autoconf update.
62314         * doc/INSTALL.ISO: Likewise.
62315         * doc/INSTALL.UTF-8: Likewise.
62316         Reported by Karl Berry.
62318 2011-01-04  Bruce Korb  <address@hidden>
62320         git-version-gen: avoid a sub-shell
62321         * build-aux/git-version-gen: Redirect stderr in `...` via
62322         "exec 2>...", rather than via an added sub-shell.
62324 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
62326         git-version-gen: use (...) rather than sh -c '...'
62327         * build-aux/git-version-gen: Rather than hard-coding a shell's name
62328         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
62330 2011-01-03  Jim Meyering  <meyering@redhat.com>
62332         git-version-gen: convert leading TABs to spaces
62333         * build-aux/git-version-gen: Expand leading TABs.
62335         git-version-gen: handle failed "git rev-list"
62336         * build-aux/git-version-gen: Rather than leaking a "fatal" error
62337         from git and proceeding as if it had succeeded but printed no SHA1
62338         checksums, suppress the diagnostic and handle the failure.
62339         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
62341         git-version-gen: include command name in one more diagnostic
62342         * build-aux/git-version-gen: When the required .tarball-version file
62343         was missing or unreadable, you might see the diagnostic from "cat",
62344         but no trace of the name of the invoking script.  Now, you still see
62345         the diagnostic from cat, but also get one from "git-version-gen: ".
62346         Inspired by a patch from Bruce Korb.
62348         update-copyright: adjust test to match changed code
62349         * tests/test-update-copyright.sh: Change test's expected output
62350         to match new actual output.
62352 2011-01-02  Bruno Haible  <bruno@clisp.org>
62354         getlogin_r: Avoid test failure on HP-UX 11.
62355         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
62356         ERANGE when the second argument is zero.
62357         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
62358         portability problem.
62360 2011-01-02  Bruce Korb  <bkorb@gnu.org>
62362         * build-aux/update-copyright: doc Simon's changes
62364 2011-01-02  Simon Josefsson  <simon@josefsson.org>
62366         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
62367         environment variable.
62369 2011-01-02  Bruno Haible  <bruno@clisp.org>
62371         unigbrk: Avoid gcc warnings.
62372         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
62373         unused variable.
62374         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
62375         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
62376         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
62377         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
62378         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
62379         Change type of first argument to 'const char *'.
62380         (main): Remove unused variable.
62381         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
62382         type of first argument to 'const char *'.
62383         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
62384         Likewise.
62385         (main): Change type of variable 's'.
62386         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
62387         to 'int'.
62389 2011-01-02  Bruno Haible  <bruno@clisp.org>
62391         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
62392         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
62393         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
62394         bug.
62395         * lib/pwrite.c: Undo 2010-12-31 patch.
62396         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
62398 2011-01-02  Bruno Haible  <bruno@clisp.org>
62400         pread: Fix test whether it works.
62401         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
62403 2011-01-02  Bruno Haible  <bruno@clisp.org>
62405         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
62406         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
62407         ends in "6". Don't require a specific month name. Try also the locale
62408         names found on HP-UX 11 and Solaris 7.
62410 2011-01-02  Bruno Haible  <bruno@clisp.org>
62412         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
62413         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
62414         C linkage.
62415         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
62417 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62419         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
62420         for consistency, since the "cluster" term is not used elsewhere.
62421         * lib/unigbrk.in.h: Update name.
62422         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
62423         * lib/unigbrk/u16-grapheme-next.c: Update name.
62424         * lib/unigbrk/u16-grapheme-prev.c: Update name.
62425         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
62426         * lib/unigbrk/u32-grapheme-next.c: Update name.
62427         * lib/unigbrk/u32-grapheme-prev.c: Update name.
62428         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
62429         * lib/unigbrk/u8-grapheme-next.c: Update name.
62430         * lib/unigbrk/u8-grapheme-prev.c: Update name.
62431         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
62432         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
62433         Suggested by Bruno Haible.
62435 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62437         Remove module 'u8-grapheme-len' as too redundant with
62438         'u8-grapheme-next'.
62439         * modules/unigbrk/u8-grapheme-len: Delete file.
62440         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
62441         * lib/unigbrk.in.h: Remove prototype for deleted function.
62442         * lib/unigbrk/u8-grapheme-len.c: Delete file.
62443         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
62445         Remove module 'u16-grapheme-len' as too redundant with
62446         'u16-grapheme-next'.
62447         * modules/unigbrk/u16-grapheme-len: Delete file.
62448         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
62449         * lib/unigbrk.in.h: Remove prototype for deleted function.
62450         * lib/unigbrk/u16-grapheme-len.c: Delete file.
62451         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
62453         Remove module 'u32-grapheme-len' as too redundant with
62454         'u32-grapheme-next'.
62455         * modules/unigbrk/u32-grapheme-len: Delete file.
62456         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
62457         * lib/unigbrk.in.h: Remove prototype for deleted function.
62458         * lib/unigbrk/u32-grapheme-len.c: Delete file.
62459         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
62461         Suggested by Bruno Haible.
62463 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62465         * unigbrk.in.h: Fix typo: "ben" => "been".
62466         Reported by Bruno Haible.
62468 2011-01-01  Jim Meyering  <meyering@redhat.com>
62470         maint: update almost all copyright ranges to include 2011
62471         Run the new "make update-copyright" rule.
62473 2011-01-01  Jim Meyering  <meyering@redhat.com>
62475         maint: update-copyright: exempt doc/INSTALL*
62476         * Makefile (update-copyright): Also exclude doc/INSTALL*,
62477         since they are generated.  Suggested by Bruno Haible.
62479 2011-01-01  Jim Meyering  <meyering@redhat.com>
62481         maint: refine the update-copyright rule
62482         * Makefile (update-copyright): Also exclude any file that includes
62483         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
62484         code that merely generates the comment.
62486 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62488         New module 'u8-grapheme-len'.
62489         * modules/unigbrk/u8-grapheme-len: New file.
62490         * modules/unigbrk/u8-grapheme-len-tests: New file.
62491         * lib/unigbrk.in.h: Add prototype for new function.
62492         * lib/unigbrk/u8-grapheme-len.c: New file.
62493         * tests/unigbrk/test-u8-grapheme-len.c: New file.
62495         New module 'u16-grapheme-len'.
62496         * modules/unigbrk/u16-grapheme-len: New file.
62497         * modules/unigbrk/u16-grapheme-len-tests: New file.
62498         * lib/unigbrk.in.h: Add prototype for new function.
62499         * lib/unigbrk/u16-grapheme-len.c: New file.
62500         * tests/unigbrk/test-u16-grapheme-len.c: New file.
62502         New module 'u32-grapheme-len'.
62503         * modules/unigbrk/u32-grapheme-len: New file.
62504         * modules/unigbrk/u32-grapheme-len-tests: New file.
62505         * lib/unigbrk.in.h: Add prototype for new function.
62506         * lib/unigbrk/u32-grapheme-len.c: New file.
62507         * tests/unigbrk/test-u32-grapheme-len.c: New file.
62509         New module 'u8-grapheme-next'.
62510         * modules/unigbrk/u8-grapheme-next: New file.
62511         * modules/unigbrk/u8-grapheme-next-tests: New file.
62512         * lib/unigbrk.in.h: Add prototype for new function.
62513         * lib/unigbrk/u8-grapheme-next.c: New file.
62514         * tests/unigbrk/test-u8-grapheme-next.c: New file.
62516         New module 'u16-grapheme-next'.
62517         * modules/unigbrk/u16-grapheme-next: New file.
62518         * modules/unigbrk/u16-grapheme-next-tests: New file.
62519         * lib/unigbrk.in.h: Add prototype for new function.
62520         * lib/unigbrk/u16-grapheme-next.c: New file.
62521         * tests/unigbrk/test-u16-grapheme-next.c: New file.
62523         New module 'u32-grapheme-next'.
62524         * modules/unigbrk/u32-grapheme-next: New file.
62525         * modules/unigbrk/u32-grapheme-next-tests: New file.
62526         * lib/unigbrk.in.h: Add prototype for new function.
62527         * lib/unigbrk/u32-grapheme-next.c: New file.
62528         * tests/unigbrk/test-u32-grapheme-next.c: New file.
62530         New module 'u8-grapheme-prev'.
62531         * modules/unigbrk/u8-grapheme-prev: New file.
62532         * modules/unigbrk/u8-grapheme-prev-tests: New file.
62533         * lib/unigbrk.in.h: Add prototype for new function.
62534         * lib/unigbrk/u8-grapheme-prev.c: New file.
62535         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
62537         New module 'u16-grapheme-prev'.
62538         * modules/unigbrk/u16-grapheme-prev: New file.
62539         * modules/unigbrk/u16-grapheme-prev-tests: New file.
62540         * lib/unigbrk.in.h: Add prototype for new function.
62541         * lib/unigbrk/u16-grapheme-prev.c: New file.
62542         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
62544         New module 'u32-grapheme-prev'.
62545         * modules/unigbrk/u32-grapheme-prev: New file.
62546         * modules/unigbrk/u32-grapheme-prev-tests: New file.
62547         * lib/unigbrk.in.h: Add prototype for new function.
62548         * lib/unigbrk/u32-grapheme-prev.c: New file.
62549         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
62551         New module 'u8-grapheme-breaks'.
62552         * modules/unigbrk/u8-grapheme-breaks: New file.
62553         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
62554         * lib/unigbrk.in.h: Add prototype for new function.
62555         * lib/unigbrk/u8-grapheme-breaks.c: New file.
62556         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
62558         New module 'u16-grapheme-breaks'.
62559         * modules/unigbrk/u16-grapheme-breaks: New file.
62560         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
62561         * lib/unigbrk.in.h: Add prototype for new function.
62562         * lib/unigbrk/u16-grapheme-breaks.c: New file.
62563         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
62565         New module 'u32-grapheme-breaks'.
62566         * modules/unigbrk/u32-grapheme-breaks: New file.
62567         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
62568         * lib/unigbrk.in.h: Add prototype for new function.
62569         * lib/unigbrk/u32-grapheme-breaks.c: New file.
62570         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
62572         New module 'ulc-grapheme-breaks'.
62573         * modules/unigbrk/ulc-grapheme-breaks: New file.
62574         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
62575         * m4/locale-ar.m4: New file.
62576         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
62577         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
62578         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
62580 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62582         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
62583         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
62584         modified how this file was generated before I initially submitted
62585         the module, but failed to regenerate it.  This meant that several
62586         of the level2 entries were wrong.
62587         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
62588         Remove the division-by-2 that is folded into the table now that
62589         gbrkprop.h has been regenerated properly.  Now -1 entries are
62590         handled correctly.
62592         New module 'unigbrk/uc-gbrk-prop-tests'.
62593         * modules/unigbrk/uc-gbrk-prop-tests: New file.
62594         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
62595         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
62596         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
62598 2011-01-01  Bruno Haible  <bruno@clisp.org>
62600         Avoid use of hexadecimal escapes.
62601         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
62602         instead of hexadecimal escapes.
62604 2011-01-01  Jim Meyering  <meyering@redhat.com>
62606         maint: new rule to update copyright year ranges
62607         * Makefile (update-copyright): New rule.
62609         maint: indent with TABs in Makefile
62610         * Makefile: Expand leading sequences of spaces to TABs
62612         version-etc: update the copyright year it reports
62613         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
62615 2010-12-31  Bruno Haible  <bruno@clisp.org>
62617         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
62618         * lib/isfinite.c (zerof, zerod, zerol): New variables.
62619         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
62620         zero.
62622 2010-12-31  Bruno Haible  <bruno@clisp.org>
62624         pwrite: Work around HP-UX 11.11 bug.
62625         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
62626         works and set REPLACE_PWRITE if not.
62627         * lib/pwrite.c (pwrite): Add an implementation that uses the system
62628         function.
62629         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
62631 2010-12-31  Bruno Haible  <bruno@clisp.org>
62633         pread: Work around HP-UX 11 bugs.
62634         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
62635         and set REPLACE_PREAD if not.
62636         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
62638 2010-12-31  Eric Blake  <eblake@redhat.com>
62640         nl_langinfo: fix YESEXPR on Irix 6.5
62641         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
62642         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
62643         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
62644         it.
62646 2010-12-31  Bruno Haible  <bruno@clisp.org>
62648         iconv: Document HP-UX 11 bug.
62649         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
62651 2010-12-31  Bruno Haible  <bruno@clisp.org>
62653         ldexpl: Fix link error on HP-UX 11.
62654         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
62655         LDEXPL_LIBM, using $ISNANL_LIBM.
62657 2010-12-31  Eric Blake  <eblake@redhat.com>
62659         ftello: avoid compilation failure with SunStudio c89
62660         * lib/ftello.c (ftello): Use lseek, not llseek.
62662         tests: avoid failing coreutils tests on cygwin
62663         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
62664         (create_exe_shims_): Return 0 when skipping.
62666 2010-12-31  Bruno Haible  <bruno@clisp.org>
62668         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
62669         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
62671 2010-12-31  Bruno Haible  <bruno@clisp.org>
62673         waitpid: Fix link error in C++ mode.
62674         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
62676 2010-12-31  Bruno Haible  <bruno@clisp.org>
62678         isnan: Use GCC built-ins when possible.
62679         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
62680         __builtin_isnan.
62681         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
62682         (isnan): Define using GCC built-ins for GCC >= 4.0.
62684 2010-12-31  Bruno Haible  <bruno@clisp.org>
62686         isnand: Fix mistake.
62687         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
62688         __builtin_isnand.
62690 2010-12-31  Bruno Haible  <bruno@clisp.org>
62692         open: Avoid C++ error on HP-UX 11.
62693         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
62695 2010-12-31  Bruno Haible  <bruno@clisp.org>
62697         time_r: Add missing declarations on HP-UX 11.
62698         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
62699         instead of HAVE_LOCALTIME_R.
62700         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
62701         HAVE_LOCALTIME_R always.
62702         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
62703         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
62704         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
62705         HAVE_LOCALTIME_R.
62706         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
62707         * doc/posix-functions/localtime_r.texi: Likewise.
62709 2010-12-29  Eric Blake  <eblake@redhat.com>
62711         mountlist: tweak previous commit
62712         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
62713         Reported by Paul Eggert.
62715         mountlist: fix local drive detection on cygwin
62716         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
62717         that works for cygwin.
62719 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62721         ftoastr, snprintf: ftoastr + snprintf module
62722         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
62723         since the snprintf module now should be good enough here.
62724         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
62725         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
62726         and gl_MODULE_INDICATOR([snprintf]), but the former enables
62727         GNULIB_SNPRINTF only for the test directory, and the latter
62728         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
62729         seems to suffice by itself.
62731 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62733         alloca: one step towards thread-safety
62734         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
62735         need for a static variable.  All callers changed.  This does not
62736         make the alloca replacement thread-safe, but it's one step.
62738         tests: minor indenting change
62739         * tests/init.sh: Sync from coreutils housekeeping patch
62740         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
62741         to keep lines within 80 columns.
62743 2010-12-28  Jim Meyering  <meyering@redhat.com>
62745         regex: don't infloop on persistent failing calloc
62746         * lib/regexec.c (build_trtable): Return failure indication upon
62747         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
62748         In glibc, this was fixed for version 2.13:
62749         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
62751 2010-12-28  Bruno Haible  <bruno@clisp.org>
62752             Paul Eggert <eggert@cs.ucla.edu>
62754         linkat: Make implementation robust against system behaviour variations.
62755         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
62756         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
62757         way, and to -2 if it needs a generic runtime test.
62758         * lib/linkat.c (solaris_optimized_link_immediate,
62759         solaris_optimized_link_follow): New functions.
62760         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
62761         (check_same_link): Use it.
62763 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
62765         New module 'unigbrk/base'.
62766         * modules/unigbrk/base: New file.
62767         * lib/unigbrk.in.h: New file.
62769         New module 'unigbrk/uc-gbrk-prop'.
62770         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
62771         * modules/unigbrk/uc-gbrk-prop: New file.
62772         * lib/unigbrk/gbrkprop.h: New file.
62773         * lib/unigbrk/uc-gbrk-prop.c: New file.
62775         New module 'unigbrk/uc-is-grapheme-break'.
62776         * modules/unigbrk/uc-is-grapheme-break: New file.
62777         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
62778         * lib/unigbrk/uc-is-grapheme-break.c: New file.
62779         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
62780         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
62781         * tests/unigbrk/GraphemeBreakTest.txt: New file.
62783         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
62785 2010-12-27  Bruno Haible  <bruno@clisp.org>
62787         linkat test: Avoid failure on Solaris 11 2010-11.
62788         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
62790 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62792         utimens: work around glibc rounding bug on more platforms
62793         * lib/utimens.c (fdutimens): Work around rounding bug even if
62794         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
62795         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
62797 2010-12-27  Bruno Haible  <bruno@clisp.org>
62799         select tests: Improve comments.
62800         * tests/test-select.c (do_select): Add comments.
62802 2010-12-27  Bruno Haible  <bruno@clisp.org>
62804         select tests: Safer way of handling timeout.
62805         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
62806         at every invocation.
62808 2010-12-27  Bruno Haible  <bruno@clisp.org>
62810         select tests: Use 'bool' where appropriate.
62811         * tests/test-select.c (connect_to_socket): Change argument type to
62812         'bool'.
62814 2010-12-27  Bruno Haible  <bruno@clisp.org>
62816         select tests: Use existing modules.
62817         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
62818         (configure.ac): Don't test for unistd.h.
62819         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
62820         declared in <unistd.h>.
62822 2010-12-27  Bruno Haible  <bruno@clisp.org>
62824         mbrtowc: Work around a Solaris 7 bug.
62825         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
62826         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
62827         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
62828         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
62829         MBRTOWC_NULL_ARG1_BUG.
62830         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
62831         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
62832         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
62833         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
62835 2010-12-27  Jim Meyering  <meyering@redhat.com>
62837         read-file.c: tweak syntax
62838         * lib/read-file.c (fread_file): Remove space after "*" in function
62839         definitions.
62841 2010-12-27  Bruno Haible  <bruno@clisp.org>
62843         times test: Avoid gcc warnings on OSF/1.
62844         * tests/test-times.c (main): Cast printf arguments from clock_t to
62845         'long int'.
62847 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62849         utimens: work around glibc rounding bug on older Linux kernels
62850         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
62851         on Linux with a glibc whose utimes might not work, then work
62852         around a longstanding glibc bug involving rounding rather than
62853         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
62854         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62856 2010-12-26  Bruno Haible  <bruno@clisp.org>
62858         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
62859         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
62860         _GL_CXXALIAS_SYS.
62861         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62863 2010-12-26  Bruno Haible  <bruno@clisp.org>
62865         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
62866         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
62867         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62868         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
62869         looking for the declaration.
62870         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62871         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
62872         problem.
62873         * doc/posix-functions/inet_pton.texi: Likewise.
62875 2010-12-26  Bruno Haible  <bruno@clisp.org>
62877         arpa_inet: Use the common idioms with C++ support.
62878         * lib/arpa_inet.in.h: Include c++defs.h.
62879         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
62880         support.
62881         * modules/arpa_inet (Depends-on): Add c++defs.
62882         (Makefile.am): Substitute the contents of c++defs.h.
62883         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
62884         * modules/arpa_inet-c++-tests: New file.
62885         * tests/test-arpa_inet-c++.cc: New file.
62887 2010-12-25  Bruno Haible  <bruno@clisp.org>
62889         Fix more C++ link errors on Solaris 8.
62890         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
62891         $(LIB_EACCESS).
62892         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
62893         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
62894         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
62895         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
62896         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
62898 2010-12-25  Bruno Haible  <bruno@clisp.org>
62900         printf-posix: Fix link error when a non-GCC compiler is used.
62901         * lib/stdio.in.h (printf): When not using GCC, override printf
62902         correctly.
62903         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62905 2010-12-25  Bruno Haible  <bruno@clisp.org>
62907         strerror_r-posix: Update doc.
62908         * doc/posix-functions/strerror_r.texi: Update doc about the return
62909         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
62911 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62913         utimens: simplify the logic of the previous change
62914         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
62915         This should not affect whether the test succeeds or fails.
62917         utimens: configure better on hosts with NFS clock skew
62918         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
62919         uses the clock of the local host.  It might use the clock of the
62920         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
62921         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62923 2010-12-25  Bruno Haible  <bruno@clisp.org>
62925         ptsname test: Avoid failure on Solaris.
62926         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
62927         open a pseudo-terminal; don't use BSD-style ptys.
62928         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
62930 2010-12-25  Bruno Haible  <bruno@clisp.org>
62932         ptsname: Avoid ERANGE failure on some systems.
62933         * lib/ptsname.c (buffer): Increase size.
62935 2010-12-25  Bruno Haible  <bruno@clisp.org>
62937         rename, renameat: Avoid test failures at NFS mounted locations.
62938         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
62939         so that subsequent mkdir calls succeed.
62941 2010-12-25  Bruno Haible  <bruno@clisp.org>
62943         iswblank: Fix C++ link error on Solaris 8.
62944         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
62945         _GL_FUNCDECL_SYS.
62947 2010-12-25  Bruno Haible  <bruno@clisp.org>
62949         unistd: Fix C++ link error on Solaris 8.
62950         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
62952 2010-12-25  Bruno Haible  <bruno@clisp.org>
62954         readlink doc: Mention an old glibc bug.
62955         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
62957 2010-12-25  Bruno Haible  <bruno@clisp.org>
62959         fcntl-h: Fix for use of C++ on glibc systems.
62960         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
62961         also on glibc systems in C++ mode.
62962         Reported by Gary V. Vaughan <gary@gnu.org>.
62964 2010-12-25  Bruno Haible  <bruno@clisp.org>
62966         roundl-ieee: Make it work on OSF/1 5.1 with cc.
62967         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
62969 2010-12-25  Bruno Haible  <bruno@clisp.org>
62971         truncl-ieee: Make it work on OSF/1 5.1 with cc.
62972         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
62973         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
62974         test whether truncl works according to ISO C 99 with IEC 60559.
62975         * m4/truncl-ieee.m4: New file.
62976         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
62977         m4/signbit.m4.
62978         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
62980 2010-12-25  Bruno Haible  <bruno@clisp.org>
62982         ceill-ieee: Make it work on OSF/1 5.1 with cc.
62983         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
62984         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
62985         test whether ceill works according to ISO C 99 with IEC 60559.
62986         * m4/ceill-ieee.m4: New file.
62987         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
62988         m4/signbit.m4.
62989         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
62991 2010-12-25  Bruno Haible  <bruno@clisp.org>
62993         Ensure all prerequisites of <wchar.h> are included.
62994         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
62995         before <wchar.h>.
62996         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
62997         gl_MBRLEN_NUL_RETVAL): Likewise.
62998         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
62999         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
63000         AC_FUNC_MBRTOWC): Likewise.
63001         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
63002         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
63003         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
63004         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
63005         Likewise.
63006         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
63007         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
63008         (gl_WCHAR_H): Improve comments.
63009         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
63011 2010-12-25  Bruno Haible  <bruno@clisp.org>
63013         strtok_r: Fix C syntax error in autoconf macro.
63014         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
63015         characters in test program.
63017 2010-12-24  Bruno Haible  <bruno@clisp.org>
63019         ceil, trunc, round: Fix gcc warnings.
63020         * lib/ceil.c (MIN): Undefine before redefining.
63021         * lib/trunc.c (MIN): Likewise.
63022         * lib/round.c (MIN): Likewise.
63023         Include <math.h> first.
63025 2010-12-24  Bruno Haible  <bruno@clisp.org>
63027         select tests: Avoid failures on OSF/1 5.1.
63028         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
63029         failure of closing the last socket; it may fail with ECONNRESET.
63031 2010-12-24  Eric Blake  <eblake@redhat.com>
63033         stdint: avoid HP-UX 10.20 preprocessor bug
63034         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
63035         than #if.
63036         * tests/test-floor2.c (main): Likewise.
63037         Reported by Peter O'Gorman.
63039         pipe: make obsoletion transition easier
63040         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
63041         * modules/pipe (Files): Include revived file.
63042         (Include): Drop reference, to mirror getdate's behavior.
63044 2010-12-24  Bruno Haible  <bruno@clisp.org>
63046         sys_socket: Hide mismatch of declarations on NonStop Kernel.
63047         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
63048         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
63049         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63051 2010-12-24  Bruno Haible  <bruno@clisp.org>
63053         gethostname: Ensure declaration on NonStop Kernel.
63054         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
63055         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63057 2010-12-24  Bruno Haible  <bruno@clisp.org>
63059         sys_select: Ensure all necessary types on NonStop Kernel.
63060         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
63061         include <sys/time.h>.
63062         * doc/posix-headers/sys_select.texi: Mention that it's missing on
63063         NonStop Kernel.
63064         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63066 2010-12-24  Bruno Haible  <bruno@clisp.org>
63068         sys_select: Remove unneeded include.
63069         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
63070         have <sys/select.h>.
63072 2010-12-24  Bruno Haible  <bruno@clisp.org>
63074         gethostname: Provide a fallback for HOST_NAME_MAX.
63075         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
63076         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
63077         instead.
63078         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63080 2010-12-24  Bruno Haible  <bruno@clisp.org>
63082         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
63083         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
63084         (SA_RESTART): Likewise.
63085         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63087 2010-12-24  Bruno Haible  <bruno@clisp.org>
63089         signal: Define NSIG.
63090         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
63091         * tests/test-signal.c (nsig): New variable.
63092         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63094 2010-12-24  Bruno Haible  <bruno@clisp.org>
63096         rename, renameat: Avoid test failures on OSF/1 5.1.
63097         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
63098         alternative error codes.
63099         * tests/test-renameat.c (main): Likewise.
63101 2010-12-24  Bruno Haible  <bruno@clisp.org>
63103         *printf: Detect large precisions bug on Solaris 10/SPARC.
63104         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
63105         by Paul Eggert.
63106         * tests/test-snprintf-posix.h (test_function): Add this test code here
63107         too.
63108         * tests/test-sprintf-posix.h (test_function): Likewise.
63109         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63110         * tests/test-vasprintf-posix.c (test_function): Likewise.
63111         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
63112         around by gnulib.
63113         * doc/posix-functions/printf.texi: Likewise.
63114         * doc/posix-functions/snprintf.texi: Likewise.
63115         * doc/posix-functions/sprintf.texi: Likewise.
63116         * doc/posix-functions/vfprintf.texi: Likewise.
63117         * doc/posix-functions/vprintf.texi: Likewise.
63118         * doc/posix-functions/vsnprintf.texi: Likewise.
63119         * doc/posix-functions/vsprintf.texi: Likewise.
63120         * doc/posix-functions/dprintf.texi: Undo last commit.
63121         * doc/posix-functions/vdprintf.texi: Likewise.
63123 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
63125         tests: port test-fdutimensat.c to Solaris 8
63126         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
63127         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
63128         On Solaris 8, it fails with errno == ENOSYS, because there is no
63129         futimens (so it can't use the fd), and there is no lutimens (so it
63130         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
63132         vsnprintf: make more consistent with snprintf; doc fixes
63134         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
63135         the byte count return problem was promoted from the snprintf-posix
63136         to the snprintf module.
63137         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
63138         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
63139         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
63140         * tests/test-snprintf.c (main): Check the byte count returned.
63141         * tests/test-vsnprintf.c (main): Likewise.
63143 2010-12-23  Eric Blake  <eblake@redhat.com>
63145         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
63146         * modules/sigpipe (License): Relax license.
63148 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63150         doc: document Solaris printf bug with large float precisions
63151         * doc/posix-functions/dprintf.texi (dprintf):
63152         * doc/posix-functions/fprintf.texi (fprintf):
63153         * doc/posix-functions/printf.texi (printf):
63154         * doc/posix-functions/snprintf.texi (snprintf):
63155         * doc/posix-functions/sprintf.texi (sprintf):
63156         * doc/posix-functions/vdprintf.texi (vdprintf):
63157         * doc/posix-functions/vfprintf.texi (vfprintf):
63158         * doc/posix-functions/vprintf.texi (vprintf):
63159         * doc/posix-functions/vsnprintf.texi (vsnprintf):
63160         * doc/posix-functions/vsprintf.texi (vsprintf):
63161         Mention that these functions mishandle large floating point
63162         precisions on Solaris 10.  The same bug is also present in Solaris
63163         8, and I assume earlier.  This causes "cd gnulib-tests; make
63164         check" to fail on Solaris 8 (and I assume, later) when building
63165         the latest coreutils, in test-vasprintf-posix's call to
63166         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
63167         the wide flavors (e.g., wprintf) so this patch just updates the
63168         documentation for the narrow ones.
63170         test-posixtm.c: add two tests
63171         * tests/test-posixtm.c: Add two tests, to highlight the
63172         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
63173         around this bug; this is merely to document it.
63175 2010-12-22  Bruno Haible  <bruno@clisp.org>
63177         getlogin_r: Work around portability problem on OSF/1.
63178         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
63179         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
63180         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
63181         test for a truncated result.
63182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
63183         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
63184         * modules/getlogin_r (Depends-on): Add memchr.
63185         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
63187 2010-12-22  Bruno Haible  <bruno@clisp.org>
63189         ptsname: Avoid test failure on OSF/1 5.1.
63190         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
63191         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
63192         (same_slave): New function.
63193         (main): Use it to compare ptsname's result with the expected file name.
63195 2010-12-22  Bruno Haible  <bruno@clisp.org>
63197         Port extended stdio modules to HP NonStop Kernel.
63198         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
63199         macros.
63200         * lib/fbufmode.c: Update comments.
63201         * lib/fflush.c: Likewise.
63202         * lib/fpurge.c: Likewise.
63203         * lib/freadable.c: Likewise.
63204         * lib/freadahead.c: Likewise.
63205         * lib/freading.c: Likewise.
63206         * lib/freadptr.c: Likewise.
63207         * lib/freadseek.c: Likewise.
63208         * lib/fseeko.c: Likewise.
63209         * lib/fseterr.c: Likewise.
63210         * lib/fwritable.c: Likewise.
63211         * lib/fwriting.c: Likewise.
63212         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63214 2010-12-22  Bruno Haible  <bruno@clisp.org>
63216         ttyname_r: Work around bug on OSF/1 5.1.
63217         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
63218         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
63219         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
63220         present.
63221         * lib/ttyname_r.c (ttyname_r): Update comments.
63223 2010-12-22  Bruno Haible  <bruno@clisp.org>
63225         round: Implement result sign according to IEEE 754.
63226         * lib/round.c (MIN, MINUS_ZERO): New macros.
63227         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
63228         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
63229         * tests/test-round-ieee.c (main): Likewise.
63230         * tests/test-roundl-ieee.c (main): Likewise.
63232         trunc: Implement result sign according to IEEE 754.
63233         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
63234         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
63235         * tests/test-trunc2.c: Include minus-zero.h.
63236         (MINUS_ZERO): New macro.
63237         (trunc_reference): Keep in sync with lib/trunc.c.
63238         * tests/test-truncf2.c: Include minus-zero.h.
63239         (MINUS_ZERO): New macro.
63240         (truncf_reference): Keep in sync with lib/trunc.c.
63241         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
63242         * tests/test-trunc-ieee.c (main): Likewise.
63243         * tests/test-truncl-ieee.c (main): Likewise.
63245         ceil: Implement result sign according to IEEE 754.
63246         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
63247         (FUNC): Return -0.0 for -1 < x < 0.
63248         * tests/test-ceil2.c: Include minus-zero.h.
63249         (MINUS_ZERO): New macro.
63250         (ceil_reference): Keep in sync with lib/ceil.c.
63251         * tests/test-ceilf2.c: Include minus-zero.h.
63252         (MINUS_ZERO): New macro.
63253         (ceilf_reference): Keep in sync with lib/ceil.c.
63254         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
63255         * tests/test-ceil-ieee.c (main): Likewise.
63256         * tests/test-ceill-ieee.c (main): Likewise.
63258         floor: Implement result sign according to IEEE 754.
63259         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
63260         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
63261         * tests/test-floorf2.c (floorf_reference): Likewise.
63262         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
63263         * tests/test-floor-ieee.c (main): Likewise.
63264         * tests/test-floorl-ieee.c (main): Likewise.
63266 2010-12-22  Bruno Haible  <bruno@clisp.org>
63268         getaddrinfo: Update doc.
63269         * doc/posix-functions/gai_strerror.texi: Return type is also different
63270         on AIX and HP-UX.
63272 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63274         getaddrinfo, inet_ntop: Update doc for Solaris.
63275         * doc/posix-functions/gai_strerror.texi: Return type is also an
63276         issue on Solaris 9 and earlier.
63277         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
63278         on Solaris 10 and earlier.
63280 2010-12-21  Bruno Haible  <bruno@clisp.org>
63282         New module 'roundl-ieee'.
63283         * modules/roundl-ieee: New file.
63284         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
63285         test whether roundl works according to ISO C 99 with IEC 60559.
63286         * m4/roundl-ieee.m4: New file.
63287         * modules/roundl-ieee-tests: New file.
63288         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
63289         * tests/test-roundl.c (main): Remove signbit tests.
63290         * modules/roundl-tests (Depends-on): Remove signbit.
63291         * doc/posix-functions/roundl.texi: Mention the new module.
63293 2010-12-21  Bruno Haible  <bruno@clisp.org>
63295         New module 'truncl-ieee'.
63296         * modules/truncl-ieee: New file.
63297         * modules/truncl-ieee-tests: New file.
63298         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
63299         * tests/test-truncl.c (main): Remove signbit tests.
63300         * modules/truncl-tests (Depends-on): Remove signbit.
63301         * doc/posix-functions/truncl.texi: Mention the new module.
63303 2010-12-21  Bruno Haible  <bruno@clisp.org>
63305         New module 'ceill-ieee'.
63306         * modules/ceill-ieee: New file.
63307         * modules/ceill-ieee-tests: New file.
63308         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
63309         * tests/test-ceill.c (main): Remove signbit tests.
63310         * modules/ceill-tests (Depends-on): Remove signbit.
63311         * doc/posix-functions/ceill.texi: Mention the new module.
63313 2010-12-21  Bruno Haible  <bruno@clisp.org>
63315         New module 'floorl-ieee'.
63316         * modules/floorl-ieee: New file.
63317         * modules/floorl-ieee-tests: New file.
63318         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
63319         * tests/test-floorl.c (main): Remove signbit tests.
63320         * modules/floorl-tests (Depends-on): Remove signbit.
63321         * doc/posix-functions/floorl.texi: Mention the new module.
63323 2010-12-21  Bruno Haible  <bruno@clisp.org>
63325         New module 'round-ieee'.
63326         * modules/round-ieee: New file.
63327         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
63328         whether round works according to ISO C 99 with IEC 60559.
63329         * m4/round-ieee.m4: New file.
63330         * modules/round-ieee-tests: New file.
63331         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
63332         * tests/test-round1.c (main): Remove signbit tests.
63333         * modules/round-tests (Depends-on): Remove 'signbit'.
63334         * doc/posix-functions/round.texi: Mention the new module.
63336 2010-12-21  Bruno Haible  <bruno@clisp.org>
63338         New module 'trunc-ieee'.
63339         * modules/trunc-ieee: New file.
63340         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
63341         whether trunc works according to ISO C 99 with IEC 60559.
63342         * m4/trunc-ieee.m4: New file.
63343         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
63344         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
63345         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
63346         * modules/trunc-ieee-tests: New file.
63347         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
63348         * tests/test-trunc1.c (main): Remove signbit tests.
63349         * modules/trunc-tests (Depends-on): Remove 'signbit'.
63350         * doc/posix-functions/trunc.texi: Mention the new module.
63352 2010-12-21  Bruno Haible  <bruno@clisp.org>
63354         New module 'ceil-ieee'.
63355         * modules/ceil-ieee: New file.
63356         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
63357         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
63358         ISO C 99 with IEC 60559.
63359         * m4/ceil-ieee.m4: New file.
63360         * modules/ceil (Files): Add lib/ceil.c.
63361         (Depends-on): Add 'float'.
63362         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
63363         * lib/math.in.h (ceil): New declaration.
63364         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
63365         REPLACE_CEIL.
63366         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
63367         * modules/ceil-ieee-tests: New file.
63368         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
63369         * tests/test-math-c++.cc: Check the signature of 'ceil'.
63370         * doc/posix-functions/ceil.texi: Mention the new module.
63372 2010-12-21  Bruno Haible  <bruno@clisp.org>
63374         New module 'floor-ieee'.
63375         * modules/floor-ieee: New file.
63376         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
63377         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
63378         ISO C 99 with IEC 60559.
63379         * m4/floor-ieee.m4: New file.
63380         * modules/floor (Files): Add lib/floor.c.
63381         (Depends-on): Add 'float'.
63382         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
63383         * lib/math.in.h (floor): New declaration.
63384         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
63385         REPLACE_FLOOR.
63386         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
63387         * modules/floor-ieee-tests: New file.
63388         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
63389         * tests/test-math-c++.cc: Check the signature of 'floor'.
63390         * doc/posix-functions/floor.texi: Mention the new module.
63392 2010-12-21  Bruno Haible  <bruno@clisp.org>
63394         New module 'roundf-ieee'.
63395         * modules/roundf-ieee: New file.
63396         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
63397         test whether roundf works according to ISO C 99 with IEC 60559.
63398         * m4/roundf-ieee.m4: New file.
63399         * modules/roundf-ieee-tests: New file.
63400         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
63401         * tests/test-roundf1.c (main): Remove signbit tests.
63402         * modules/roundf-tests (Depends-on): Remove 'signbit'.
63403         * doc/posix-functions/roundf.texi: Mention the new module.
63405 2010-12-21  Bruno Haible  <bruno@clisp.org>
63407         New module 'truncf-ieee'.
63408         * modules/truncf-ieee: New file.
63409         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
63410         test whether truncf works according to ISO C 99 with IEC 60559.
63411         * m4/truncf-ieee.m4: New file.
63412         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
63413         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
63414         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
63415         * modules/truncf-ieee-tests: New file.
63416         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
63417         * tests/test-truncf1.c (main): Remove signbit tests.
63418         * modules/truncf-tests (Depends-on): Remove 'signbit'.
63419         * doc/posix-functions/truncf.texi: Mention the new module.
63421 2010-12-21  Bruno Haible  <bruno@clisp.org>
63423         New module 'ceilf-ieee'.
63424         * modules/ceilf-ieee: New file.
63425         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
63426         test whether ceilf works according to ISO C 99 with IEC 60559.
63427         * m4/ceilf-ieee.m4: New file.
63428         * modules/ceilf-ieee-tests: New file.
63429         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
63430         * tests/test-ceilf1.c (main): Remove signbit tests.
63431         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
63432         * doc/posix-functions/ceilf.texi: Mention the new module.
63434 2010-12-21  Bruno Haible  <bruno@clisp.org>
63436         New module 'floorf-ieee'.
63437         * modules/floorf-ieee: New file.
63438         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
63439         test whether floorf works according to ISO C 99 with IEC 60559.
63440         * m4/floorf-ieee.m4: New file.
63441         * modules/floorf-ieee-tests: New file.
63442         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
63443         * tests/test-floorf1.c (main): Remove signbit tests.
63444         * modules/floorf-tests (Depends-on): Remove 'signbit'.
63445         * doc/posix-functions/floorf.texi: Mention the new module.
63447 2010-12-21  Bruno Haible  <bruno@clisp.org>
63449         Support for minus zero in autoconf macros.
63450         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
63451         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
63452         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
63453         * tests/minus-zero.h: Update comments.
63455 2010-12-21  Bruno Haible  <bruno@clisp.org>
63457         Tests for module 'ceil'.
63458         * modules/ceil-tests: New file.
63459         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
63460         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
63462 2010-12-21  Bruno Haible  <bruno@clisp.org>
63464         Tests for module 'floor'.
63465         * modules/floor-tests: New file.
63466         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
63467         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
63469 2010-12-21  Bruno Haible  <bruno@clisp.org>
63471         math: Fix indentation.
63472         * lib/math.in.h (floorf): Fix indentation.
63474 2010-12-21  Bruno Haible  <bruno@clisp.org>
63476         Fix cross-compilation guesses on Solaris.
63477         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
63478         not match "solaris2.10".
63479         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63480         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
63481         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
63483 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
63485         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
63486         This fixes a problem observed with the latest coreutils snapshot
63487         that caused a test to fail on Solaris 8.  src/csplit.c's call
63488         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
63489         earlier, instead of returning the number of bytes that would have
63490         been generated; this causes csplit to incorrectly report memory
63491         exhaustion.
63492         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
63493         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
63494         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
63495         comments to match.
63496         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
63497         Fix typo in matching older versions of Solaris: "solaris2.10"
63498         is matched by the shell pattern "solaris2.[0-9]*".  This matters
63499         only for guessing while cross-compiling.
63500         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
63502 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
63504         ftoastr: fix comment again
63505         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63506         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
63507         Also, simplify example a bit by using flags = 0.
63509 2010-12-20  Bruno Haible  <bruno@clisp.org>
63511         round*, trunc*: Update documentation regarding glibc.
63512         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
63513         * doc/posix-functions/round.texi: Likewise.
63514         * doc/posix-functions/roundl.texi: Likewise.
63515         * doc/posix-functions/truncf.texi: Likewise.
63516         * doc/posix-functions/trunc.texi: Likewise.
63517         * doc/posix-functions/truncl.texi: Likewise.
63519 2010-12-20  Bruno Haible  <bruno@clisp.org>
63521         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
63522         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
63523         * doc/posix-functions/round.texi: Likewise.
63524         * doc/posix-functions/roundl.texi: Likewise.
63526 2010-12-20  Bruno Haible  <bruno@clisp.org>
63528         ttyname_r: Add missing declaration on HP-UX 11.
63529         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
63530         HAVE_TTYNAME_R.
63531         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
63532         declared. Set HAVE_TTYNAME_R always.
63533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63534         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
63535         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
63536         HAVE_TTYNAME_R.
63537         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
63539 2010-12-20  Bruno Haible  <bruno@clisp.org>
63541         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
63542         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
63543         * doc/posix-functions/getlogin_r.texi: Likewise.
63544         * tests/test-getlogin.c: Include <errno.h>.
63545         (main): Avoid test failure on HP-UX 11.11.
63546         * tests/test-getlogin_r.c (main): Likewise.
63548 2010-12-20  Bruno Haible  <bruno@clisp.org>
63550         getlogin_r: Add missing declaration on HP-UX 11.
63551         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
63552         declared also when it exists as a function.
63553         * doc/posix-functions/getlogin_r.texi: Document this workaround.
63555 2010-12-20  Bruno Haible  <bruno@clisp.org>
63557         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
63558         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
63559         through wcrtomb.
63561 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
63563         ftoastr: fix comment
63564         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63565         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
63567 2010-12-19  Bruno Haible  <bruno@clisp.org>
63569         isnan: Ensure it is a macro.
63570         * lib/math.in.h (isnan): Define as a macro if not already a macro.
63571         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
63572         Solaris.
63574 2010-12-19  Bruno Haible  <bruno@clisp.org>
63576         ldexpl test: Fix link error on OSF/1 5.1.
63577         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
63579 2010-12-19  Bruno Haible  <bruno@clisp.org>
63581         wctype: Make it work in C++ mode on OSF/1 5.1.
63582         * lib/wctype.in.h (iswblank): Declare but not define here.
63583         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
63584         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
63585         * modules/wctype (Files): Add lib/iswblank.c.
63587 2010-12-19  Bruno Haible  <bruno@clisp.org>
63589         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
63590         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
63591         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
63593 2010-12-19  Bruno Haible  <bruno@clisp.org>
63595         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
63596         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
63597         _POSIX_PII_SOCKET.
63598         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
63599         * doc/posix-functions/recvfrom.texi: Likewise.
63600         * doc/posix-functions/send.texi: Likewise.
63601         * doc/posix-functions/sendto.texi: Likewise.
63603 2010-12-19  Bruno Haible  <bruno@clisp.org>
63605         tcgetsid: Add missing declaration on OSF/1 5.1.
63606         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
63607         HAVE_TCGETSID.
63608         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
63609         Don't set HAVE_TCGETSID.
63610         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
63611         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
63612         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
63613         HAVE_TCGETSID.
63614         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
63616 2010-12-19  Bruno Haible  <bruno@clisp.org>
63618         stdio: Fix problem with popen() declaration on OSF/1 5.1.
63619         * lib/stdio.in.h: During the include_next statement, let recursive
63620         includes of this file include only the system header file.
63622 2010-12-19  Bruno Haible  <bruno@clisp.org>
63624         iconv_open: Fix regression from 2010-12-04.
63625         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
63626         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
63628 2010-12-19  Bruno Haible  <bruno@clisp.org>
63630         stdbool test: Avoid a gcc warning.
63631         * tests/test-stdbool.c (main): Fail if e1 is false.
63632         Reported by Jim Meyering.
63634 2010-12-19  Jim Meyering  <meyering@redhat.com>
63636         setenv: restore to working order
63637         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
63638         mistakenly removed.
63639         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
63640         HAVE_SETENV.
63641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
63642         HAVE_SETENV.
63644 2010-12-19  Bruno Haible  <bruno@clisp.org>
63646         Document some different function declarations on OSF/1 5.1.
63647         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
63648         * doc/posix-functions/inet_ntop.texi: Likewise.
63649         * doc/posix-functions/gethostname.texi: Likewise.
63650         * lib/unistd.in.h (gethostname): Update comment.
63652 2010-12-19  Bruno Haible  <bruno@clisp.org>
63654         doc: Mention vasprintf-posix module.
63655         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
63656         the 'vasprintf-posix' module.
63657         * doc/glibc-functions/vasprintf.texi: Likewise.
63659 2010-12-19  Bruno Haible  <bruno@clisp.org>
63661         unsetenv: Add missing declaration on OSF/1 5.1.
63662         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
63663         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
63664         Don't set HAVE_UNSETENV. In the test program, set _BSD.
63665         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
63666         not HAVE_UNSETENV.
63667         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
63668         HAVE_UNSETENV.
63669         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
63671 2010-12-19  Bruno Haible  <bruno@clisp.org>
63673         setenv: Add missing declaration on OSF/1 5.1.
63674         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
63675         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
63676         declared. Don't set HAVE_SETENV.
63677         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
63678         not HAVE_SETENV.
63679         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
63680         HAVE_SETENV.
63681         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
63683 2010-12-19  Bruno Haible  <bruno@clisp.org>
63685         nl_langinfo tests: Avoid gcc warning.
63686         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
63688 2010-12-19  Bruno Haible  <bruno@clisp.org>
63690         mknod: Avoid error in C++ mode on OSF/1 with GCC.
63691         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
63692         _GL_CXXALIAS_SYS.
63694 2010-12-19  Bruno Haible  <bruno@clisp.org>
63696         stdbool: Relax test.
63697         * tests/test-stdbool.c (e): Don't require that casts from a variable's
63698         address to 'bool' work in static initializer, for compilers other than
63699         GCC.
63701 2010-12-19  Bruno Haible  <bruno@clisp.org>
63703         ftello: Add missing declaration on OSF/1 5.1.
63704         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
63705         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
63706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
63707         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
63708         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
63710 2010-12-19  Bruno Haible  <bruno@clisp.org>
63712         fseeko: Add missing declaration on OSF/1 5.1.
63713         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
63714         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
63715         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
63716         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
63717         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
63719 2010-12-19  Bruno Haible  <bruno@clisp.org>
63721         fchdir: Add missing declaration on OSF/1 5.1.
63722         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
63723         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
63724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
63725         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
63726         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
63728 2010-12-19  Bruno Haible  <bruno@clisp.org>
63730         relocatable-prog-wrapper: Separate from relocatable-prog.
63731         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
63732         uninstall-relocwrapper rule here.
63733         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
63734         Reported by Ian Beckwith <ianb@erislabs.net>.
63736 2010-12-19  Bruno Haible  <bruno@clisp.org>
63738         unistr/u8-mbsnlen: Add missing dependency.
63739         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
63740         Reported by Ian Beckwith <ianb@erislabs.net>.
63742 2010-12-19  Bruno Haible  <bruno@clisp.org>
63744         iconv: Make it possible again to use this module without 'iconv-h'.
63745         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
63746         if it is not defined.
63747         Reported by Ian Beckwith <ianb@erislabs.net>.
63749 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63751         acl: port to Solaris 8 when copying from tmpfs to ufs
63752         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
63753         error number.  Problem observed on Solaris 8 with latest
63754         coreutils, with "mv A B", where A is on a tmpfs file system and B
63755         is on a ufs file system.  This caused coreutils' mv/part-symlink
63756         test to fail.
63758         tests: set fail=0 at start
63759         * tests/init.sh (setup_): Move fail=0 initialization here ...
63760         (mktempd_): ... from here, so that tests can rely on fail being
63761         set to 0 initially.  This fixes a problem in coreutils; see:
63762         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
63764 2010-12-18  Bruno Haible  <bruno@clisp.org>
63766         memmem-simple: Stylistic changes.
63767         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
63768         Fix preprocessor directive indentation.
63770 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63772         memmem, memmem-simple: reorganize and expand empty needle check
63773         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
63774         functional checks to memmem-simple so that one has a fully functional
63775         memmem by using just this module.
63776         Restrict the performance only check to the memmem module.
63777         Also expand the empty needle check to ensure the correct
63778         pointer is returned, not just a non NULL pointer.
63779         * doc/glibc-functions/memmem.texi: Rearrange the portability
63780         documentation to correlate with the rearranged checks.
63781         Clarify exactly how the memmem and memmem-simple modules
63782         relate to each other.
63784 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63785             Bruno Haible  <bruno@clisp.org>
63787         Improve cross-compilation guesses for uClibc.
63788         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
63789         that uClibc does not have the glibc bug.
63790         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
63791         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
63793 2010-12-14  Eric Blake  <eblake@redhat.com>
63795         configmake: provide fallbacks for oldest supported autotools
63796         * m4/configmake.m4: New file.
63797         * modules/configmake (Files): Ship it.
63798         (configure.ac): Use it to guarantee fallbacks.
63800 2010-12-13  Pádraig Brady  <P@draigBrady.com>
63802         read-file: Improve handling of large files
63803         * lib/read-file.c (fread_file): Minimize realloc()s
63804         for regular files, and better manage sizes around SIZE_MAX.
63806 2010-12-13  Eric Blake  <eblake@redhat.com>
63808         cloexec, fcntl: relax license
63809         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
63810         consent from all contributors.
63811         * modules/fcntl (License): Likewise.
63813 2010-12-10  Bruno Haible  <bruno@clisp.org>
63815         Tests for module 'pipe-posix'.
63816         * modules/pipe-posix-tests: New file.
63817         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
63819 2010-12-10  Bruno Haible  <bruno@clisp.org>
63821         pipe-posix: Make it work in C++ mode.
63822         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
63823         (pipe): Use common idiom, not a macro definition.
63824         * lib/pipe.c: New file.
63825         * m4/pipe.m4: New file.
63826         * modules/pipe-posix (Description): Enhance.
63827         (Files): Add lib/pipe.c, m4/pipe.m4.
63828         (configure.ac): Invoke gl_FUNC_PIPE.
63829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
63830         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
63831         * tests/test-unistd-c++.cc: Check the signature of pipe.
63833 2010-12-10  Bruno Haible  <bruno@clisp.org>
63835         Rename module 'pipe' to 'spawn-pipe'.
63836         * modules/spawn-pipe: New file, renamed from modules/pipe.
63837         (Files, configure.ac, Makefile.am): Update.
63838         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
63839         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
63840         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
63841         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
63842         "spawn-pipe.h" instead of "pipe.h".
63843         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
63844         to gl_SPAWN_PIPE.
63845         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
63846         (Files, Makefile.am): Update.
63847         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
63848         Update.
63849         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
63850         Include "spawn-pipe.h" instead of "pipe.h".
63851         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
63852         * lib/javacomp.c: Likewise.
63853         * lib/javaversion.c: Likewise.
63854         * lib/pipe-filter-gi.c: Likewise.
63855         * lib/pipe-filter-ii.c: Likewise.
63856         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
63857         * modules/javacomp (Depends-on): Likewise.
63858         * modules/javaversion (Depends-on): Likewise.
63859         * modules/pipe-filter-gi (Depends-on): Likewise.
63860         * modules/pipe-filter-ii (Depends-on): Likewise.
63861         * MODULES.html.sh (Executing programs): Update.
63862         * NEWS: Mention the change.
63864 2010-12-10  Eric Blake  <eblake@redhat.com>
63866         pipe-posix: new module
63867         * modules/pipe-posix: New file.
63868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
63869         (gl_UNISTD_H): Check for declaration.
63870         * modules/unistd (Makefile.am): Substitute it.
63871         * lib/unistd.in.h (pipe): Provide it for mingw.
63872         * doc/posix-functions/pipe.texi (pipe): Update documentation.
63873         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
63875 2010-12-07  Bruno Haible  <bruno@clisp.org>
63877         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
63878         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
63879         u8_strcmp_gnu.
63880         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
63882 2010-12-06  Bruno Haible  <bruno@clisp.org>
63884         Update internal documentation.
63885         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
63887 2010-12-04  Bruno Haible  <bruno@clisp.org>
63889         Put more information about failed tests into the test return codes.
63890         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
63891         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
63892         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63893         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63894         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
63895         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63896         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63897         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
63898         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
63899         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63900         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
63901         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63902         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
63903         * m4/stdint.m4 (gl_STDINT_H): Likewise.
63904         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
63905         returns a bit mask.
63906         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
63907         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
63908         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
63909         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
63910         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
63911         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
63912         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63913         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63914         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
63915         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
63916         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63917         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
63918         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
63919         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
63920         * m4/link.m4 (gl_FUNC_LINK): Likewise.
63921         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63922         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
63923         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
63924         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
63925         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
63926         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63927         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
63928         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
63929         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63930         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63931         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63932         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
63933         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
63934         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
63935         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
63936         gl_PRINTF_PRECISION): Likewise.
63937         * m4/regex.m4 (gl_REGEX): Likewise.
63938         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63939         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
63940         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
63941         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63942         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63943         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63944         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
63945         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
63946         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63947         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63948         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63949         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63950         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
63951         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63952         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63953         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
63954         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
63955         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
63956         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63957         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
63958         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
63959         enumerated value.
63960         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
63962 2010-12-04  Bruno Haible  <bruno@clisp.org>
63964         Update for Solaris 11 2010-11.
63965         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
63966         Express, released in November 2010.
63968 2010-12-04  Bruno Haible  <bruno@clisp.org>
63970         nproc: Relax license.
63971         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
63972         and Paul Eggert.
63973         Requested by Ludovic Courtès <ludo@gnu.org>.
63975 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63977         utimecmp: fine-grained src to nearby coarse-grained dest
63979         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
63980         and the source is on a file system with higher-resolution time
63981         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
63982         not work, and the time stamps are close together, the algorithm to
63983         determine the exact resolution from the read-back mtime was buggy:
63984         it had a "!=" where it should have had an "==".  This bug has been
63985         in the code ever since it was introduced to gnulib.
63986         Problem reported by Dan Jacobson in
63987         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
63989 2010-11-30  Bruno Haible  <bruno@clisp.org>
63991         strerror_r-posix: Fix autoconf test.
63992         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
63994 2010-11-28  Bruno Haible  <bruno@clisp.org>
63995             Paul Eggert  <eggert@cs.ucla.edu>
63997         Tests for module 'getdomainname'.
63998         * modules/getdomainname-tests: New file.
63999         * tests/test-getdomainname.c: New file, based on
64000         tests/test-gethostname.c.
64002 2010-11-28  Bruno Haible  <bruno@clisp.org>
64003             Paul Eggert  <eggert@cs.ucla.edu>
64005         getdomainname: Use the system function when possible.
64006         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
64007         (getdomainname): Replace if needed. Provide the declaration if it is
64008         missing. Don't use _GL_CXXALIAS_SYS_CAST.
64009         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
64010         (getdomainname): When the system has getdomainname, call the system
64011         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
64012         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
64013         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
64014         found in libnsl. Look for the declaration also in <netdb.h>. Replace
64015         the function if its second argument is of type 'int' or if it is found
64016         in libnsl.
64017         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
64018         <sys/systeminfo.h> and sysinfo().
64019         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
64020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64021         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
64022         HAVE_GETDOMAINNAME.
64023         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
64024         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
64025         * doc/glibc-functions/getdomainname.texi: Document the problems with
64026         the getdomainname declaration.
64028 2010-11-28  Bruno Haible  <bruno@clisp.org>
64030         sys_socket: Ensure ss_family field on AIX.
64031         * lib/sys_socket.in.h (ss_family): New macro definition.
64032         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
64033         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
64034         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
64035         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
64036         * modules/sys_socket (Makefile.am): Substitute
64037         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
64038         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
64040 2010-11-27  Bruno Haible  <bruno@clisp.org>
64042         readline: Improve configure output.
64043         * m4/readline.m4 (gl_FUNC_READLINE): Make the
64044         "checking for readline..." result understandable.
64046 2010-11-27  Bruno Haible  <bruno@clisp.org>
64048         *printf-posix: Detect a bug on Solaris 10/x86.
64049         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
64050         for floating-point output.
64051         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
64052         directive.
64053         * tests/test-snprintf-posix.h (test_function): Likewise.
64054         * tests/test-sprintf-posix.h (test_function): Likewise.
64055         * tests/test-vasprintf-posix.c (test_function): Likewise.
64056         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
64057         * doc/posix-functions/printf.texi: Likewise.
64058         * doc/posix-functions/snprintf.texi: Likewise.
64059         * doc/posix-functions/sprintf.texi: Likewise.
64060         * doc/posix-functions/vfprintf.texi: Likewise.
64061         * doc/posix-functions/vprintf.texi: Likewise.
64062         * doc/posix-functions/vsnprintf.texi: Likewise.
64063         * doc/posix-functions/vsprintf.texi: Likewise.
64064         * doc/glibc-functions/obstack_printf.texi: Likewise.
64065         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
64067 2010-11-27  Bruno Haible  <bruno@clisp.org>
64069         Fix link error when module libunistring-optional is in use.
64070         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
64071         * modules/striconveha-tests (Makefile.am): Likewise.
64073 2010-11-27  Bruno Haible  <bruno@clisp.org>
64075         regex: Mention link dependencies.
64076         * modules/regex (Link): New section.
64077         * modules/rpmatch (Link): Likewise.
64078         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
64080 2010-11-27  Bruno Haible  <bruno@clisp.org>
64082         ftoastr: Fix compilation error on Solaris.
64083         * lib/ftoastr.c: Include <config.h>.
64085 2010-11-27  Bruno Haible  <bruno@clisp.org>
64087         getloadavg: Update documentation.
64088         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
64090 2010-11-27  Bruno Haible  <bruno@clisp.org>
64092         sys_socket: Fix test whether the functions are declared.
64093         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
64094         not <sys/select.h>.
64096 2010-11-27  Bruno Haible  <bruno@clisp.org>
64098         getpass: Make sure to get system declaration on some platforms.
64099         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
64100         gl_USE_SYSTEM_EXTENSIONS.
64101         * modules/getpass (Depends-on): Add extensions.
64103 2010-11-26  Bruno Haible  <bruno@clisp.org>
64105         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
64106         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
64107         'iconv' module is present.
64108         (ICONV_CONST): New macro.
64109         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
64110         ICONV_CONST.
64111         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
64112         set ICONV_CONST.
64113         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
64114         here.
64115         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
64116         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
64117         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
64118         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
64119         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
64120         present.
64122 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64124         ftoastr: comment fix
64125         * lib/ftoastr.c: "little" -> "little or no" in comment
64127 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
64129         stdint: port to GCC 4.3 + OSX + Octave
64130         On this platform, stdint.h is buggy and defines int64_t to long
64131         long int.  The replacement defined it to long int, causing
64132         problems with C++ style name mangling.  Instead, trust the system
64133         definition if INT64_MAX is defined, and likewise for the unsigned
64134         variant.   Problem reported by Jarno Rajahalme in
64135         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
64136         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
64137         and don't mess with int64_t and INT64_MAX in this case.
64138         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
64140 2010-11-24  Bruno Haible  <bruno@clisp.org>
64142         doc: Corrections regarding MacOS X 10.4 and 10.5.
64143         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
64144         MacOS X.
64145         Reported by Simon Josefsson.
64147 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
64149         Uninstall ".bin" files installed by relocwrapper.
64150         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
64151         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
64152         unless it is already there.
64154 2010-11-21  Bruno Haible  <bruno@clisp.org>
64156         Update for NetBSD 5.0.
64157         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
64158         NetBSD; the test fails on NetBSD 5.0.
64159         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
64160         about NetBSD.
64162 2010-11-21  Bruno Haible  <bruno@clisp.org>
64164         Update for HP-UX 11.23 and HP-UX 11.31.
64165         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
64166         HP-UX.
64168 2010-11-21  Bruno Haible  <bruno@clisp.org>
64170         Update for MacOS X 10.5.
64171         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
64172         MacOS X; the test fails on MacOS X 10.5.8.
64173         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
64174         about MacOS X.
64176 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
64178         bootstrap: add bootstrap_sync option.
64179         See discussion at
64180         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
64181         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
64182         * build-aux/bootstrap: Accept --bootstrap-sync to update
64183         bootstrap if it is not identical to the local gnulib's
64184         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
64185         enable this by default.  Accept --no-bootstrap-sync to disable
64186         it.
64188 2010-11-20  Bruno Haible  <bruno@clisp.org>
64190         Ensure that <features.h> is included before __GLIBC__ is tested.
64191         * lib/printf-parse.h: Include <features.h>.
64192         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
64193         Reported by Mike Frysinger <vapier@gentoo.org>.
64195         Ensure that <features.h> is included before __GLIBC__ is tested.
64196         * lib/wchar.in.h: Include <features.h>.
64197         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
64198         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
64199         Reported by Mike Frysinger <vapier@gentoo.org>.
64201         Ensure that <features.h> is included before __GLIBC__ is tested.
64202         * lib/arpa_inet.in.h: Include <features.h>.
64203         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
64204         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
64205         Reported by Mike Frysinger <vapier@gentoo.org>.
64207         Ensure that <features.h> is included before __GLIBC__ is tested.
64208         * build-aux/link-warning.h: Include <features.h>.
64209         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
64210         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
64211         Reported by Mike Frysinger <vapier@gentoo.org>.
64213         Ensure that <features.h> is included before __GLIBC__ is tested.
64214         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
64215         Reported by Mike Frysinger <vapier@gentoo.org>.
64217 2010-11-20  Bruno Haible  <bruno@clisp.org>
64219         memmem: Fix autoconf test.
64220         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
64222 2010-11-20  Bruno Haible  <bruno@clisp.org>
64224         Port to uClibc.
64225         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
64226         * lib/fcntl.in.h: Likewise.
64227         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
64228         * lib/mbrtowc.c (mbrtowc): Likewise.
64229         * lib/relocatable.c (find_shared_library_fullname): Likewise.
64230         * lib/strerror_r.c: Likewise.
64231         * lib/unistr/u8-strnlen.c: Likewise.
64232         * lib/vasnprintf.c (decimal_point_char): Likewise.
64233         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
64234         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
64235         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
64236         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
64237         * tests/test-sigaction.c (handler, main): Likewise.
64238         * lib/freading.h: Treat uClibc like a non-glibc platform.
64239         * lib/freading.c: Likewise.
64240         * lib/gettext.h: Likewise.
64241         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
64242         Likewise.
64243         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
64244         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
64245         * lib/propername.c (proper_name_utf8): Likewise.
64246         * lib/spawn.in.h: Likewise.
64247         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
64248         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
64249         mem_cd_iconveh_internal): Likewise.
64250         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
64251         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
64252         strstr, strcasestr): Likewise.
64253         * lib/unicodeio.c (unicode_to_mb): Likewise.
64254         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
64255         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
64256         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
64257         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
64258         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
64259         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
64260         * lib/unistr/u8-stpncpy.c: Likewise.
64261         * lib/vasnprintf.c (VASNPRINTF): Likewise.
64262         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
64263         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64264         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64265         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
64266         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
64267         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
64268         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
64269         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
64270         Likewise.
64271         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64272         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64273         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
64274         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64275         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64276         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
64277         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64278         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
64279         * tests/test-getopt.h (OPTIND_MIN): Likewise.
64280         * tests/test-striconveha.c (main): Likewise.
64281         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64282         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
64283         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
64284         * doc/posix-functions/getline.texi: Likewise.
64285         Reported by Mike Frysinger <vapier@gentoo.org>.
64287 2010-11-20  Bruno Haible  <bruno@clisp.org>
64289         nproc: Fix condition.
64290         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
64291         HAVE_PTHREAD_AFFINITY_NP.
64293 2010-11-20  Bruno Haible  <bruno@clisp.org>
64295         Fix a comment.
64296         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
64298 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
64300         ftoastr: don't assume snprintf
64301         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
64302         Implement a subset of snprintf here, by using sprintf safely.
64303         * modules/ftoastr (Depends-on): Remove snprintf.
64305 2010-11-19  Jim Meyering  <meyering@redhat.com>
64307         test-rename.h: fix compilation failure
64308         * tests/test-rename.h (test_rename): Add omitted "}".
64310 2010-11-17  Jim Meyering  <meyering@redhat.com>
64312         maint.mk: add a URL discussing the no-@acronym policy
64313         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
64315 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
64317         ftoastr: depend on snprintf, improve comments
64318         * lib/ftoastr.c: Also mention Loitsch's draft.
64319         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
64320         needed in the current implementation, but it might simplify
64321         speeding up the code later.
64322         * modules/ftoastr: Depend on snprintf; this improves portability.
64323         Suggested by Bruno Haible in the same email.
64325         ftoastr: port to hosts lacking strtof and strtold
64326         Problem reported by Bruno Haible in
64327         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
64328         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
64329         environment and strtold (and presumably strtof) are not available.
64330         * modules/ftoastr (Files): Add m4/c-strtod.m4.
64331         (configure.ac): Require gl_C99_STRTOLD.
64333 2010-11-18  Bruno Haible  <bruno@clisp.org>
64335         c-strtold: Avoid link error on AIX 7.
64336         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
64337         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
64338         (gl_C_STRTOLD): Test whether strtold_l exists.
64339         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64341 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64343         intprops: new macro INT_BITS_STRLEN_BOUND
64344         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
64345         ftoastr.h.  This exposes an internal of intprops.h that was formerly
64346         not exposed.  Also, it uses a slightly tighter bound than before;
64347         though this makes no practical difference, we might as well be as
64348         tight as we easily can.
64350         ftoastr: new module, for lossless conversion of floats to short strings
64351         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
64352         * modules/ftoastr: New files.
64354 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64356         bootstrap: port to Solaris sed
64357         * build-aux/bootstrap (get_version): Port to Solaris sed.
64358         See Ralf Wildenhues's note in
64359         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
64361 2010-11-14  Jim Meyering  <meyering@redhat.com>
64363         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
64364         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
64365         and move definition closer to sole use.
64367 2010-11-13  Jim Meyering  <meyering@redhat.com>
64369         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
64370         Now we require at least autoconf-2.59, which means the work-around
64371         is no longer needed.
64372         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
64373         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64374         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64375         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
64376         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
64378 2010-11-13  Bruno Haible  <bruno@clisp.org>
64380         rename, renameat: Avoid test failures at NFS mounted locations.
64381         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
64382         functions.
64383         (test_rename): Use assert_nonexistent.
64384         * tests/test-rename.c: Include <dirent.h>.
64385         * tests/test-renameat.c: Likewise.
64386         Reported by Gary V. Vaughan <gary@gnu.org>.
64388         rename, renameat: Document Linux bug with NFS
64389         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
64390         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
64391         * doc/posix-functions/renameat.texi: Likewise.
64392         Suggested by Eric Blake.
64394 2010-11-13  Bruno Haible  <bruno@clisp.org>
64396         rename test: Add comments.
64397         * tests/test-rename.h (test_rename): Add structure and comments.
64399 2010-11-13  Eric Blake  <eblake@redhat.com>
64401         maintainer-makefile: cover a few more files
64402         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
64403         scripts generated within C files, for libvirt.
64405 2010-11-13  Bruno Haible  <bruno@clisp.org>
64407         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
64408         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
64409         character, return the number of bytes that belong together, not always
64410         1.
64411         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
64412         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
64413         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
64414         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
64415         number of bytes of an invalid character.
64416         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
64417         (main): Invoke it.
64418         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
64419         results.
64420         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
64421         malformed byte sequences.
64422         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
64423         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
64424         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
64425         Reported by Ben Pfaff and Paolo Bonzini.
64427 2010-11-13  Bruno Haible  <bruno@clisp.org>
64429         openat: Work around glibc bug with fchownat() and empty file names.
64430         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
64431         (gl_FUNC_FCHOWNAT): Invoke it.
64432         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
64433         * doc/posix-functions/fchownat.texi: Document the glibc bug.
64434         Reported by Gary V. Vaughan <gary@gnu.org>.
64436 2010-11-13  Bruno Haible  <bruno@clisp.org>
64438         openat: Ensure autoconf macro ordering.
64439         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
64440         gl_USE_SYSTEM_EXTENSIONS.
64441         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
64443 2010-11-13  Bruno Haible  <bruno@clisp.org>
64445         Update comments.
64446         * lib/unistr/u8-check.c: Update file name in comments.
64447         * lib/unistr/u8-mblen.c: Likewise.
64448         * lib/unistr/u8-prev.c: Likewise.
64449         * lib/unistr/u8-strmblen.c: Likewise.
64450         * lib/unistr/u8-strmbtouc.c: Likewise.
64452 2010-11-13  Jim Meyering  <meyering@redhat.com>
64454         tests: avoid test failure on Solaris 10 due to lack of PATH export
64455         * tests/test-update-copyright.sh: Don't forget to export PATH.
64457         init.sh: ensure that IFS is defined, just in case...
64458         * tests/init.sh (setup_): Ensure that IFS is defined,
64459         so that saving and restoring it works as expected.  This
64460         appears to be useful at least for an old version of dash
64461         from a long time ago (RH 6).  See here for details:
64462         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
64464         maint.mk: tighten "test a == b" check
64465         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
64466         test to files that contain something like #!/bin/sh.
64467         Without this, coreutils would get two false positives in
64468         the comments of C source files.
64470 2010-11-12  Eric Blake  <eblake@redhat.com>
64472         bootstrap: fix typo in previous attempt
64473         * build-aux/bootstrap (buildreq): Correct the grouping.
64474         Reported by Paul Eggert.
64476         maintainer-makefile: prohibit test x == x
64477         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
64478         Based on a report by Matthias Bolte.
64480         bootstrap: allow FreeBSD gzip
64481         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
64482         which has no '.' and goes to stderr.
64483         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
64484         Reported by Matthias Bolte.
64486         maintainer-makefile: check for i18n setup
64487         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
64488         will likely work.
64490 2010-11-12  Bruno Haible  <bruno@clisp.org>
64492         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
64493         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
64494         * lib/nanosleep.c (nanosleep): Likewise.
64496 2010-11-11  Bruno Haible  <bruno@clisp.org>
64498         fcntl-h: Fix for use of C++ on glibc systems.
64499         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
64500         also on glibc systems in C++ mode.
64501         Reported by Gary V. Vaughan <gary@gnu.org>.
64503 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64505         mknod: avoid false failure with dash
64506         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
64508 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64510         unlink: Fix "is it should" typo in diagnostic.
64511         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
64512         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
64514 2010-11-11  Bruno Haible  <bruno@clisp.org>
64516         Tests for module 'strerror_r-posix'.
64517         * modules/strerror_r-posix-tests: New file.
64518         * tests/test-strerror_r.c: New file.
64519         * tests/test-string-c++.cc: Check the signature of strerror_r.
64521         New module 'strerror_r-posix'.
64522         * lib/string.in.h (strerror_r): New declaration.
64523         * lib/strerror_r.c: New file.
64524         * m4/strerror_r.m4: New file.
64525         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
64526         of strerror_r.
64527         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
64528         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64529         * modules/strerror_r-posix: New file.
64530         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
64531         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64532         * doc/posix-functions/strerror_r.texi: Mention the new module and the
64533         portability problems.
64535 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
64537         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
64538         line is also considered for output. Quoted function name in shell
64539         command, so temporary files for functions like MyClass::operator()
64540         are removed correctly without errors.
64542 2010-11-09  Bruno Haible  <bruno@clisp.org>
64544         * doc/posix-functions/strerror.texi: List more failing platforms.
64546         * doc/posix-functions/strerror.texi: Add a comment.
64548 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
64550         fdopendir: fix bug on MacOS X when low on file descriptors
64552         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
64553         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
64554         All callers changed.
64555         (fdopendir): Invoke save_cwd at the top level, not after using
64556         multiple dup() calls to use up file descriptors.  Then retry
64557         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
64558         less than the maximum number of open file descriptors, because
64559         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
64560         on Mac OS X 10.6.4 for tar 1.24
64561         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
64562         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
64563         and for tar 1.25
64564         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
64566 2010-11-07  Bruno Haible  <bruno@clisp.org>
64568         vasnprintf: Support I flag on glibc systems.
64569         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
64570         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
64571         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
64572         snprintf function.
64573         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
64574         glibc systems.
64575         * tests/test-vasnprintf-posix3.c: New file.
64576         * modules/vasnprintf-posix-tests (Files): Add it.
64577         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
64579 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64581         [html] Fix copy/paste bug: Use unique name for compiler warnings.
64582         * MODULES.html.sh: For compiler warnings, use name
64583         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
64585 2010-11-05  Eric Blake  <eblake@redhat.com>
64587         ceil, floor: avoid spurious failure with icc
64588         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
64589         [denormals-as-zero] when optimizing without -mieee-fp option.
64590         * tests/test-floorf2.c (floorf_reference): Likewise.
64591         * tests/test-ceilf1.c (dummy): New function.
64592         (main): Use it to outsmart icc's optimization.
64593         * tests/test-floorf1.c (dummy, main): Likewise.
64595         tests: require working signbit
64596         * modules/ceilf-tests (Depends-on): Add signbit.
64597         * modules/ceill-tests (Depends-on): Likewise.
64598         * modules/floorf-tests (Depends-on): Likewise.
64599         * modules/floorl-tests (Depends-on): Likewise.
64600         * modules/round-tests (Depends-on): Likewise.
64601         * modules/roundf-tests (Depends-on): Likewise.
64602         * modules/roundl-tests (Depends-on): Likewise.
64603         * modules/trunc-tests (Depends-on): Likewise.
64604         * modules/truncf-tests (Depends-on): Likewise.
64605         * modules/truncl-tests (Depends-on): Likewise.
64607         strtod: work around icc bug
64608         * lib/strtod.c (minus_zero): Define to working value.
64609         (strtod): Use it to avoid icc bug.
64611         copysign: enhance tests
64612         * modules/copysign-tests (Files): Add minus-zero.h.
64613         * tests/test-copysign.c (main): Also test zeros.
64615 2010-11-04  Eric Blake  <eblake@redhat.com>
64617         ceil, floor, round, trunc: enhance tests of -0
64618         * tests/test-ceilf1.c (main): Ensure correct sign of result.
64619         * tests/test-ceill.c (main): Likewise.
64620         * tests/test-floorf1.c (main): Likewise.
64621         * tests/test-floorl.c (main): Likewise.
64622         * tests/test-round1.c (main): Likewise.
64623         * tests/test-roundf1.c (main): Likewise.
64624         * tests/test-roundl.c (main): Likewise.
64625         * tests/test-trunc1.c (main): Likewise.
64626         * tests/test-truncf1.c (main): Likewise.
64627         * tests/test-truncl.c (main): Likewise.
64629 2010-11-04  Eric Blake  <eblake@redhat.com>
64631         frexp, tests: work around ICC bug with -zero
64632         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
64633         works with more compilers.
64634         * tests/minus-zero.h: New file.
64635         * modules/ceilf-tests (Files): Include it.
64636         * modules/ceill-tests (Files): Likewise.
64637         * modules/floorf-tests (Files): Likewise.
64638         * modules/floorl-tests (Files): Likewise.
64639         * modules/frexp-nolibm-tests (Files): Likewise.
64640         * modules/frexp-tests (Files): Likewise.
64641         * modules/frexpl-nolibm-tests (Files): Likewise.
64642         * modules/frexpl-tests (Files): Likewise.
64643         * modules/isnan-tests (Files): Likewise.
64644         * modules/isnand-nolibm-tests (Files): Likewise.
64645         * modules/isnand-tests (Files): Likewise.
64646         * modules/isnanf-nolibm-tests (Files): Likewise.
64647         * modules/isnanf-tests (Files): Likewise.
64648         * modules/isnanl-nolibm-tests (Files): Likewise.
64649         * modules/isnanl-tests (Files): Likewise.
64650         * modules/round-tests (Files): Likewise.
64651         * modules/roundf-tests (Files): Likewise.
64652         * modules/roundl-tests (Files): Likewise.
64653         * modules/ldexpl-tests (Files): Likewise.
64654         * modules/signbit-tests (Files): Likewise.
64655         * modules/snprintf-posix-tests (Files): Likewise.
64656         * modules/sprintf-posix-tests (Files): Likewise.
64657         * modules/strtod-tests (Files): Likewise.
64658         * modules/trunc-tests (Files): Likewise.
64659         * modules/truncf-tests (Files): Likewise.
64660         * modules/truncl-tests (Files): Likewise.
64661         * modules/vsnprintf-posix-tests (Files): Likewise.
64662         * modules/vsprintf-posix-tests (Files): Likewise.
64663         * modules/vasnprintf-posix-tests (Files): Likewise.
64664         * modules/vasprintf-posix-tests (Files): Likewise.
64665         * tests/test-ceilf1.c (main): Use it.
64666         * tests/test-ceill.c (main): Likewise.
64667         * tests/test-floorf1.c (main): Likewise.
64668         * tests/test-floorl.c (main): Likewise.
64669         * tests/test-frexp.c (main): Likewise.
64670         * tests/test-frexpl.c (main): Likewise.
64671         * tests/test-isnan.c (main): Likewise.
64672         * tests/test-isnand.h (main): Likewise.
64673         * tests/test-isnanf.h (main): Likewise.
64674         * tests/test-isnanl.h (main): Likewise.
64675         * tests/test-ldexpl.c (main): Likewise.
64676         * tests/test-round.c (main): Likewise.
64677         * tests/test-roundf.c (main): Likewise.
64678         * tests/test-roundl.c (main): Likewise.
64679         * tests/test-signbit.c (test_signbitf, test_signbitd)
64680         (test_signbitl): Likewise.
64681         * tests/test-snprintf-posix.h (test_function): Likewise.
64682         * tests/test-sprintf-posix.h (test_function): Likewise.
64683         * tests/test-strtod.c (main): Likewise.
64684         * tests/test-trunc1.c (main): Likewise.
64685         * tests/test-truncf1.c (main): Likewise.
64686         * tests/test-truncl.c (main): Likewise.
64688         isnanl: work around icc bug
64689         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
64691 2010-11-03  Eric Blake  <eblake@redhat.com>
64693         tests: fix compiler warnings
64694         * tests/test-getopt.h (test_getopt): Fix condition.
64695         * tests/test-getopt_long.h (test_getopt_long): Likewise.
64696         * tests/test-pipe2.c (main): Likewise.
64697         * tests/test-quotearg-simple.c (main): Avoid icc warning.
64699         utimens: fix broken m4 test
64700         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
64702 2010-10-28  Bruno Haible  <bruno@clisp.org>
64704         posix_spawn*, getdtablesize: Relax license.
64705         * modules/posix_spawn (License): Change to LGPLv2+.
64706         * modules/posix_spawnp (License): Likewise.
64707         * modules/posix_spawn-internal (License): Likewise.
64708         * modules/posix_spawnattr_init (License): Likewise.
64709         * modules/posix_spawnattr_getflags (License): Likewise.
64710         * modules/posix_spawnattr_setflags (License): Likewise.
64711         * modules/posix_spawnattr_getpgroup (License): Likewise.
64712         * modules/posix_spawnattr_setpgroup (License): Likewise.
64713         * modules/posix_spawnattr_getschedparam (License): Likewise.
64714         * modules/posix_spawnattr_setschedparam (License): Likewise.
64715         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
64716         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
64717         * modules/posix_spawnattr_getsigdefault (License): Likewise.
64718         * modules/posix_spawnattr_setsigdefault (License): Likewise.
64719         * modules/posix_spawnattr_getsigmask (License): Likewise.
64720         * modules/posix_spawnattr_setsigmask (License): Likewise.
64721         * modules/posix_spawnattr_destroy (License): Likewise.
64722         * modules/posix_spawn_file_actions_init (License): Likewise.
64723         * modules/posix_spawn_file_actions_addclose (License): Likewise.
64724         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
64725         * modules/posix_spawn_file_actions_addopen (License): Likewise.
64726         * modules/posix_spawn_file_actions_destroy (License): Likewise.
64727         * modules/getdtablesize (License): Likewise.
64728         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
64730 2010-10-26  Bruno Haible  <bruno@clisp.org>
64732         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
64733         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
64734         Cygwin and mingw.
64735         Suggested by Eric Blake.
64737 2010-10-26  Bruno Haible  <bruno@clisp.org>
64739         stdio: Work around compilation error due to renameat() on Solaris 10.
64740         * lib/stdio.in.h: Include <unistd.h> on Solaris.
64741         * lib/renameat.c: Don't include <unistd.h> here.
64742         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
64743         Reported by Paul Eggert and Eric Blake.
64745 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
64747         renameat: port to Solaris 10, which declares renameat in unistd.h
64749         * lib/renameat.c: Include unistd.h before stdio.h, because
64750         Solaris 10 declares renameat in unistd.h.  Problem encountered
64751         when building GNU tar 1.24 on Solaris 10.
64753 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64755         fdopendir: fix C89 compilation
64756         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
64757         compilers.
64759 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
64761         inttostr: simplify by removing unnecessary redundancy
64762         * lib/anytostr.c: Don't include verify.h.
64763         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
64764         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
64765         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
64766         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
64767         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
64768         Likewise.
64769         * modules/inttostr (Depends-on): Remove 'verify'.
64771 2010-10-23  Bruno Haible  <bruno@clisp.org>
64773         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
64774         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
64775         Reported by Eric Blake.
64777 2010-10-23  Bruno Haible  <bruno@clisp.org>
64779         Tests: Fix LOCALE_JA on MirBSD 10.
64780         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
64781         to an UTF-8 locale.
64782         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
64783         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64784         Reported by Eric Blake.
64786 2010-10-21  Bruno Haible  <bruno@clisp.org>
64788         nl_langinfo test: Avoid test failure on NetBSD 5.
64789         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
64790         Reported by Eric Blake.
64792 2010-10-21  Eric Blake  <eblake@redhat.com>
64794         c-stack: work around libsigsegv 2.8 bug
64795         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
64796         overflow on at least PowerPC64.
64798 2010-10-17  Bruno Haible  <bruno@clisp.org>
64800         userspec: Drop redundant file.
64801         * modules/userspec (Files): Remove lib/inttostr.h.
64803 2010-10-17  Bruno Haible  <bruno@clisp.org>
64805         nl_langinfo tests: Silence some warnings.
64806         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
64807         Reported by Jim Meyering.
64809 2010-10-17  Bruno Haible  <bruno@clisp.org>
64811         Make use of GCC's attribute __alloc_size__.
64812         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
64813         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
64814         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
64815         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
64816         __alloc_size__.
64817         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
64818         Suggested by Jim Meyering.
64820 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
64822         bootstrap: anchor .gitignore entries.
64823         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
64824         with...
64825         (insert_vc_ignore): ... this new function, which prepends `/' to
64826         all .gitignore entries before passing them to
64827         insert_sorted_if_absent.
64829 2010-10-16  Bruno Haible  <bruno@clisp.org>
64831         nextafter: Fix configure check.
64832         * modules/nextafter (configure.ac): Correct expected prototype.
64834 2010-10-16  Bruno Haible  <bruno@clisp.org>
64836         termios: Update documentation.
64837         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
64839 2010-10-16  Bruno Haible  <bruno@clisp.org>
64841         tests: Make them compile with TinyCC.
64842         * tests/test-strstr.c (main): Remove parentheses around array
64843         initializer.
64845 2010-10-15  Eric Blake  <eblake@redhat.com>
64847         ignore-value: make header idempotent
64848         * lib/ignore-value.h: Add double-inclusion guards.
64849         Reported by Stefan Berger.
64851 2010-10-15  Jim Meyering  <meyering@redhat.com>
64853         GNUmakefile: handle "stable" target, not "major"
64854         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
64855         lists in maint.mk and announce-gen.  Without this, "make stable"
64856         would fail to ensure that $(VERSION) is up to date.
64858 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
64860         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
64861         & co.
64863 2010-10-14  Bruno Haible  <bruno@clisp.org>
64865         vasnprintf: Don't set errno to 0.
64866         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
64867         block that sets it to 0.
64868         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
64870 2010-10-14  Bruno Haible  <bruno@clisp.org>
64872         socketlib: Fix.
64873         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
64874         gl_PREREQ_SYS_H_WINSOCK2.
64875         Reported by Ian Beckwith <ianb@erislabs.net>.
64877 2010-10-13  Jim Meyering  <meyering@redhat.com>
64879         test-select-stdin.c: avoid warn_unused_result warnings
64880         * tests/test-select-stdin.c: Include "macros.h".
64881         ASSERT that read and fflush succeed.
64883 2010-10-13  Jim Meyering  <meyering@redhat.com>
64885         git-version-gen: do require git-VC'd files in cwd
64886         * build-aux/git-version-gen: Reject a git version string
64887         if there are no commits associated with the current directory.
64888         This avoids an unlikely false-positive (unrelated dir whose parent
64889         repository also contains a tag matching v*), as pointed out
64890         by Giuseppe Scrivano in
64891         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
64893 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64895         argv-iter: omit nonconforming declaration
64896         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
64897         enum arg_iter_err declaration, which doesn't conform to C99.
64898         Solaris 10 cc warns about this.
64900 2010-10-13  Eric Blake  <eblake@redhat.com>
64902         termios: fix compilation on mingw
64903         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
64904         (gl_TERMIOS_H): Adjust it on mingw.
64905         * modules/termios (Makefile.am): Substitute new key.
64906         * lib/termios.in.h (includes): Make include_next conditional.
64907         * doc/posix-headers/termios.texi (termios.h): Update
64908         documentation.
64909         Reported by Daniel P. Berrange.
64911 2010-10-13  Jim Meyering  <meyering@redhat.com>
64913         git-version-gen: don't require that .git/ be in the current dir
64914         * build-aux/git-version-gen: Adjust this script so that it works
64915         when run from any working directory beneath the top-level .git/-
64916         containing directory.  Inspired by a patch from Giuseppe Scrivano,
64917         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
64919         test-select: avoid warn_unused_result warnings
64920         * tests/test-select.c: Include "macros.h".
64921         ASSERT that each call to read, write, and pipe succeeds.
64922         While not technically required, also check each "close".
64923         * modules/select-tests (Files): Add tests/macros.h.
64925         test-symlinkat: remove declaration of unused local
64926         * tests/test-symlinkat.c (main): Remove unused local, "buf".
64928         test-inttostr: avoid shadowing warnings
64929         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
64930         and use malloc rather than the stack for the same reason as
64931         mentioned in the comment justifying the other allocation.
64933 2010-10-11  Bruno Haible  <bruno@clisp.org>
64935         stdlib: Allow multiple gnulib generated replacements to coexist.
64936         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
64937         Reported by Sam Steingold <sds@gnu.org>.
64939 2010-10-11  Jim Meyering  <meyering@redhat.com>
64941         fix a documentation typo
64942         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
64944 2010-10-11  Eric Blake  <eblake@redhat.com>
64946         futimens: work around Solaris 11 bug
64947         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
64948         * tests/test-futimens.h (test_futimens): Enhance, rather than
64949         weaken test.
64950         * doc/posix-functions/futimens.texi (futimens): Document the bug.
64952 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64954         Indentation.
64955         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
64956         higher-level operators more to the left.
64958 2010-10-11  Jim Meyering  <meyering@redhat.com>
64960         test-futimens: avoid unwarranted test failure on Solaris 5.11
64961         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
64962         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
64963         because it tries to dereference the NULL name argument.
64965 2010-10-11  Bruno Haible  <bruno@clisp.org>
64967         Indentation.
64968         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
64969         indentation.
64971 2010-10-11  Jim Meyering  <meyering@redhat.com>
64973         spawn.in.h: make indentation consistent with parentheses
64974         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
64975         Make indentation consistent with parentheses.
64977 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
64979         Fix mismatched parens in previous commit
64980         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
64981         parens.
64983 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64985         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
64987         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
64988         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
64989         * lib/malloca.c: Include "verify.h".
64990         (verify1): Remove, replacing with a verify call.
64991         * lib/relocwrapper.c (verify1): Likewise.
64992         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
64993         Likewise.
64994         * modules/malloca (Depends-on): Add 'verify'.
64995         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
64996         * modules/vasnprintf (Depends-on): Add 'verify'.
64997         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64998         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64999         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
65000         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
65001         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
65002         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
65003         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
65005         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
65007         Formerly the style was sometimes 2*X - 1, because the C standard
65008         was wrongly thought to disallow ?: in integral constant expressions.
65009         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
65010         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
65011         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
65012         * lib/stdint.in.h (_verify_intmax_size): Likewise.
65013         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
65014         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
65015         verify that time_t cannot be floating.
65017 2010-10-08  Eric Blake  <eblake@redhat.com>
65019         time: enforce recent POSIX ruling that time_t is integral
65020         * lib/time.in.h (__time_t_must_be_integral): Detect any
65021         problematic systems, allowing the rest of gnulib to assume POSIX.
65023 2010-10-08  Jim Meyering  <meyering@redhat.com>
65025         fdopendir: fix a bug on systems lacking openat and /proc support
65026         OpenBSD 4.7 is one such system.  The most noticeable effect was
65027         failure of any application making nontrivial use of fts: rm, du,
65028         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
65029           ./rm: traversal failed: `a': Bad file descriptor
65030         Debugging that, you see that even though FD 6 was closed just
65031         prior to the opendir call in fd_clone_opendir, its resulting
65032         dir->dd_fd was 8, rather than the expected value of 6:
65034         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
65035         93                close (fd);
65036         (gdb) n
65037         94                dir = fd_clone_opendir (dupfd);
65038         (gdb) n
65039         95                saved_errno = errno;
65040         (gdb) p dir->dd_fd
65041         $11 = 8
65043         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
65044         The problem is that on OpenBSD, fd_clone_opendir has to resort
65045         to using the old-style save/restore CWD mechanism, due to its
65046         lack of openat/proc support, and *that* would steal the FD (6)
65047         that opendir was supposed to use.
65049         The fix is to squirrel away the desired FD so that save_cwd uses a
65050         different one, and then free the dest FD right before calling opendir.
65051         That guarantees opendir will use the required file descriptor.
65053         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
65055 2010-10-08  Bruno Haible  <bruno@clisp.org>
65057         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
65058         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
65060 2010-10-08  Bruno Haible  <bruno@clisp.org>
65062         nanosleep: Make replacement POSIX compliant.
65063         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
65064         is out of range.
65065         Reported by Jim Meyering.
65067 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65069         bootstrap: add hook for altering gnulib.mk, for Bison
65070         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
65071         the Bison bootstrapping process can rewrite file names and variables
65072         in this file before later parts of 'bootstrap' use the file.
65073         Bison wants to include lib/gnulib.mk from the top-level makefile,
65074         so it needs the file names in this file to be relative to the top
65075         level, not relative to lib; plus it needs variable names to be
65076         rewritten.
65077         (slurp): Use the new function.
65079         bootstrap: reformat for readability
65080         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
65082 2010-10-08  Eric Blake  <eblake@redhat.com>
65084         docs: update cygwin progress
65085         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
65086         1.7.7.
65087         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
65088         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
65089         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
65090         * doc/posix-functions/carg.texi (carg): Likewise.
65091         * doc/posix-functions/cargf.texi (cargf): Likewise.
65092         * doc/posix-functions/casin.texi (casin): Likewise.
65093         * doc/posix-functions/casinf.texi (casinf): Likewise.
65094         * doc/posix-functions/casinh.texi (casinh): Likewise.
65095         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
65096         * doc/posix-functions/catan.texi (catan): Likewise.
65097         * doc/posix-functions/catanf.texi (catanf): Likewise.
65098         * doc/posix-functions/catanh.texi (catanh): Likewise.
65099         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
65100         * doc/posix-functions/ccos.texi (ccos): Likewise.
65101         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
65102         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
65103         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
65104         * doc/posix-functions/cexp.texi (cexp): Likewise.
65105         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
65106         * doc/posix-functions/cimag.texi (cimag): Likewise.
65107         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
65108         * doc/posix-functions/clog.texi (clog): Likewise.
65109         * doc/posix-functions/clogf.texi (clogf): Likewise.
65110         * doc/posix-functions/conj.texi (conj): Likewise.
65111         * doc/posix-functions/conjf.texi (conjf): Likewise.
65112         * doc/posix-functions/cpow.texi (cpow): Likewise.
65113         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
65114         * doc/posix-functions/cproj.texi (cproj): Likewise.
65115         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
65116         * doc/posix-functions/creal.texi (creal): Likewise.
65117         * doc/posix-functions/crealf.texi (crealf): Likewise.
65118         * doc/posix-functions/csin.texi (csin): Likewise.
65119         * doc/posix-functions/csinf.texi (csinf): Likewise.
65120         * doc/posix-functions/csinh.texi (csinh): Likewise.
65121         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
65122         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
65123         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
65124         * doc/posix-functions/ctan.texi (ctan): Likewise.
65125         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
65126         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
65127         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
65128         * doc/posix-headers/complex.texi (complex.h): Likewise.
65130 2010-10-07  Jim Meyering  <meyering@redhat.com>
65132         parse-datetime: avoid compilation failure on OpenBSD 4.7
65133         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
65134         This works around a compilation failure on OpenBSD 4.7:
65135         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
65137 2010-10-07  Eric Blake  <eblake@redhat.com>
65139         docs: update cygwin progress
65140         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
65141         1.7.6.
65142         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
65143         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
65144         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
65145         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
65146         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
65147         Likewise.
65148         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
65149         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
65150         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
65151         Likewise.
65152         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
65153         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
65154         Likewise.
65155         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
65156         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
65157         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
65158         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
65159         Likewise.
65160         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
65161         Likewise.
65162         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
65164         docs: update parse-datetime history
65165         * doc/parse-datetime.texi (Authors of parse_datetime): Better
65166         documentation of this function's history and alternatives.
65168         cygwin: use more robust version check
65169         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
65170         exclude an eventual cygwin 1.9.1.
65171         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
65172         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
65173         (gl_FUNC_STRCASESTR): Likewise.
65174         Reported by Bruno Haible.
65176 2010-10-06  Bruno Haible  <bruno@clisp.org>
65178         string, sys_select: Avoid #including large headers unless necessary.
65179         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
65180         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
65181         OSF/1, BeOS, Haiku.
65182         Reported by Jim Meyering.
65184 2010-10-05  Eric Blake  <eblake@redhat.com>
65186         memmem, strstr, strcasestr: fix bug with long periodic needle
65187         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
65188         periodic needle having false positive.
65189         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
65190         and cygwin 1.7.7.
65191         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
65192         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
65193         (gl_FUNC_STRCASESTR): Likewise.
65194         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
65195         * tests/test-memmem.c (main): Expose the bug.
65196         * tests/test-strcasestr.c (main): Likewise.
65197         * tests/test-strstr.c (main): Likewise.
65198         * tests/test-c-strcasestr.c (main): Likewise.
65199         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
65200         * doc/posix-functions/strstr.texi (strstr): Likewise.
65201         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
65202         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
65204 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65206         parse-datetime: do some more renaming
65207         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
65208         parse_datetime, not get_date.  Mention the renaming.
65209         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
65210         in comments.
65211         * m4/bison.m4: Likewise.
65213 2010-10-05  Eric Blake  <eblake@redhat.com>
65215         parse-datetime: better name than get_date
65216         * NEWS: Reword the deprecation notice.
65217         * modules/get_date: Rename to modules/parse-datetime.
65218         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
65219         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
65220         * lib/get_date.y: Rename to lib/parse-datetime.y.
65221         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
65222         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
65223         * doc/getdate.texi: Provide fallback wrapper.
65224         * lib/getdate.h: Move guts, and wrap...
65225         * lib/parse-datetime.h: ...new file.
65226         * lib/parse-datetime.y (get_date): Rename...
65227         (parse_datetime): ...to this.
65228         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
65229         (gl_PARSE_DATETIME): ...to this.
65230         * doc/posix-functions/getdate.texi (get_date): Provide fallback
65231         documentation.
65232         * modules/getdate (Files): Provide fallback docs and header.
65233         (Notice, Depends-on): Update references.
65234         * tests/test-parse-datetime.c: Likewise.
65235         * DEPENDENCIES: Likewise.
65236         * MODULES.html.sh (Date and time <time.h>): Likewise.
65237         * doc/parse-datetime.texi (Date input formats)
65238         (Authors of parse_datetime): Likewise.
65239         * modules/parse-datetime (Files, configure.ac, Makefile.am)
65240         (Include): Likewise.
65241         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
65242         * gnulib-tool: Likewise.
65243         * m4/bison.m4 (gl_BISON): Likewise.
65244         Suggested by Bruno Haible.
65246 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65248         more ports to Solaris tr, which needs [] around ranges
65249         * gnulib-tool: Solaris tr needs [] around ranges.
65250         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
65251         * tests/test-pipe-filter-gi1.c (main): Likewise.
65252         * tests/test-pipe-filter-ii1.c (main): Likewise.
65254 2010-10-05  Eric Blake  <eblake@redhat.com>
65256         bootstrap: fix Solaris regression
65257         * build-aux/bootstrap (check_versions): Solaris tr still needs []
65258         around ranges.
65259         Reported by Pádraig Brady.
65261         bootstrap: work with pkg-config
65262         * build-aux/bootstrap (check_versions): Also transliterate - in
65263         prerequisite name.
65264         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
65265         prerequisites that were already found, to avoid confusion.
65266         Reported by Justin Clift.
65268         faccessat: remove unused wrappers
65269         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
65270         presence of these wrappers dragged in -lgen on Solaris.
65271         Reported by Clemens Brogi; fix suggested by Paul Eggert.
65273 2010-10-05  Jim Meyering  <meyering@redhat.com>
65275         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
65276         * Makefile (sc_pragma_columns): New syntax-check rule.
65278 2010-10-04  Bruno Haible  <bruno@clisp.org>
65280         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
65281         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
65282         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
65283         Reported by Bruce Korb and Eric Blake.
65285 2010-10-04  Bruno Haible  <bruno@clisp.org>
65287         threadlib: Make option --with-libpth-prefix work.
65288         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
65289         use $LIBPTH, not just -lpth.
65291 2010-10-04  Bruno Haible  <bruno@clisp.org>
65293         Avoid line length limitation from HP NonStop system header files.
65294         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
65295         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
65296         * lib/ctype.in.h: Likewise.
65297         * lib/dirent.in.h: Likewise.
65298         * lib/errno.in.h: Likewise.
65299         * lib/fcntl.in.h: Likewise.
65300         * lib/float.in.h: Likewise.
65301         * lib/getopt.in.h: Likewise.
65302         * lib/iconv.in.h: Likewise.
65303         * lib/inttypes.in.h: Likewise.
65304         * lib/langinfo.in.h: Likewise.
65305         * lib/locale.in.h: Likewise.
65306         * lib/math.in.h: Likewise.
65307         * lib/netdb.in.h: Likewise.
65308         * lib/netinet_in.in.h: Likewise.
65309         * lib/poll.in.h: Likewise.
65310         * lib/pthread.in.h: Likewise.
65311         * lib/pty.in.h: Likewise.
65312         * lib/sched.in.h: Likewise.
65313         * lib/se-selinux.in.h: Likewise.
65314         * lib/search.in.h: Likewise.
65315         * lib/signal.in.h: Likewise.
65316         * lib/spawn.in.h: Likewise.
65317         * lib/stdarg.in.h: Likewise.
65318         * lib/stddef.in.h: Likewise.
65319         * lib/stdint.in.h: Likewise.
65320         * lib/stdio.in.h: Likewise.
65321         * lib/stdlib.in.h: Likewise.
65322         * lib/string.in.h: Likewise.
65323         * lib/strings.in.h: Likewise.
65324         * lib/sys_file.in.h: Likewise.
65325         * lib/sys_ioctl.in.h: Likewise.
65326         * lib/sys_select.in.h: Likewise.
65327         * lib/sys_socket.in.h: Likewise.
65328         * lib/sys_stat.in.h: Likewise.
65329         * lib/sys_time.in.h: Likewise.
65330         * lib/sys_times.in.h: Likewise.
65331         * lib/sys_utsname.in.h: Likewise.
65332         * lib/sys_wait.in.h: Likewise.
65333         * lib/sysexits.in.h: Likewise.
65334         * lib/termios.in.h: Likewise.
65335         * lib/time.in.h: Likewise.
65336         * lib/unistd.in.h: Likewise.
65337         * lib/wchar.in.h: Likewise.
65338         * lib/wctype.in.h: Likewise.
65339         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
65340         * modules/ctype (Makefile.am): Likewise.
65341         * modules/dirent (Makefile.am): Likewise.
65342         * modules/errno (Makefile.am): Likewise.
65343         * modules/fcntl-h (Makefile.am): Likewise.
65344         * modules/float (Makefile.am): Likewise.
65345         * modules/getopt-posix (Makefile.am): Likewise.
65346         * modules/iconv-h (Makefile.am): Likewise.
65347         * modules/inttypes (Makefile.am): Likewise.
65348         * modules/langinfo (Makefile.am): Likewise.
65349         * modules/locale (Makefile.am): Likewise.
65350         * modules/math (Makefile.am): Likewise.
65351         * modules/netdb (Makefile.am): Likewise.
65352         * modules/netinet_in (Makefile.am): Likewise.
65353         * modules/poll-h (Makefile.am): Likewise.
65354         * modules/pthread (Makefile.am): Likewise.
65355         * modules/pty (Makefile.am): Likewise.
65356         * modules/sched (Makefile.am): Likewise.
65357         * modules/search (Makefile.am): Likewise.
65358         * modules/selinux-h (Makefile.am): Likewise.
65359         * modules/signal (Makefile.am): Likewise.
65360         * modules/spawn (Makefile.am): Likewise.
65361         * modules/stdarg (Makefile.am): Likewise.
65362         * modules/stddef (Makefile.am): Likewise.
65363         * modules/stdint (Makefile.am): Likewise.
65364         * modules/stdio (Makefile.am): Likewise.
65365         * modules/stdlib (Makefile.am): Likewise.
65366         * modules/string (Makefile.am): Likewise.
65367         * modules/strings (Makefile.am): Likewise.
65368         * modules/sys_file (Makefile.am): Likewise.
65369         * modules/sys_ioctl (Makefile.am): Likewise.
65370         * modules/sys_select (Makefile.am): Likewise.
65371         * modules/sys_socket (Makefile.am): Likewise.
65372         * modules/sys_stat (Makefile.am): Likewise.
65373         * modules/sys_time (Makefile.am): Likewise.
65374         * modules/sys_times (Makefile.am): Likewise.
65375         * modules/sys_utsname (Makefile.am): Likewise.
65376         * modules/sys_wait (Makefile.am): Likewise.
65377         * modules/sysexits (Makefile.am): Likewise.
65378         * modules/termios (Makefile.am): Likewise.
65379         * modules/time (Makefile.am): Likewise.
65380         * modules/unistd (Makefile.am): Likewise.
65381         * modules/wchar (Makefile.am): Likewise.
65382         * modules/wctype (Makefile.am): Likewise.
65384 2010-10-04  Bruno Haible  <bruno@clisp.org>
65386         read-file tests: Avoid a test failure on NonStop Kernel.
65387         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
65388         a regular file.
65389         Reported by Joachim Schmitz <schmitz@hp.com>.
65391 2010-10-03  Bruno Haible  <bruno@clisp.org>
65393         gnulib-tool: Fixes for --create-testdir with --libtool.
65394         * gnulib-tool (func_get_automake_snippet): Don't augment
65395         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
65396         an executable.
65397         (func_create_testdir): Handle module 'alloca' like func_import.
65398         Reported by Bruce Korb <bruce.korb@gmail.com>.
65400 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
65402         Avoid some lines longer than 80 characters.
65403         * lib/stdint.in.h: Break long comment lines.
65404         * lib/math.in.h: Likewise.
65405         (_GL_NUM_UINT_WORDS): New macro, for readability.
65406         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
65407         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
65408         * lib/stdlib.in.h: Likewise.
65409         * lib/spawn.in.h: Likewise.
65410         * lib/sys_socket.in.h: Update an URL.
65411         * lib/sys_stat.in.h: Break long line.
65413 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
65415         Improve pmccabe2html.
65416         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
65417         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
65418         when the sources change. Remove the line in the HTML about "Used
65419         ranges" (which implied that there might be other unused ranges),
65420         rename "Resume" to "Summary" (easier to understand for more users).
65421         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
65422         styles, and some unnecessary blank lines.
65424 2010-10-03  Bruno Haible  <bruno@clisp.org>
65425             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
65427         acl: Add support for ACLs on NonStop Kernel.
65428         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
65429         Check whether the function aclsort() exists.
65430         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
65431         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
65432         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65433         (acl_nontrivial [HAVE_ACLSORT]: New function.
65434         (file_has_acl): Implement for NonStop Kernel.
65435         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65436         (qset_acl): Implement for NonStop Kernel.
65437         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
65438         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65439         (main): Implement for NonStop Kernel.
65440         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
65441         Kernel. Handle this flavor.
65442         * tests/test-set-mode-acl.sh: Likewise.
65443         * tests/test-copy-acl.sh: Likewise.
65444         * tests/test-copy-file.sh: Likewise.
65446 2010-10-03  Bruno Haible  <bruno@clisp.org>
65448         Info about ACLs on NonStop Kernel.
65449         * doc/acl-resources.txt: Add info about NonStop Kernel.
65450         References by Joachim Schmitz <schmitz@hp.com>.
65452 2010-10-02  Bruno Haible  <bruno@clisp.org>
65454         Define missing EDQUOT on NonStop Kernel.
65455         * lib/errno.in.h (EDQUOT): Assign a value if missing.
65456         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
65457         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
65458         missing.
65459         * doc/posix-headers/errno.texi: Mention the NSK bug.
65460         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
65461         Reported by Joachim Schmitz <schmitz@hp.com>.
65463 2010-10-02  Bruno Haible  <bruno@clisp.org>
65465         Update doc for POSIX:2008.
65466         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
65467         Update URL of POSIX specification.
65469 2010-10-02  Bruno Haible  <bruno@clisp.org>
65471         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
65472         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
65473         from gnulib, not from Automake.
65475 2010-10-02  Bruno Haible  <bruno@clisp.org>
65477         New module 'system-posix'.
65478         * modules/system-posix: New file.
65479         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
65480         module is present.
65481         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65482         GNULIB_SYSTEM_POSIX.
65483         * modules/stdlib (Depends-on): Remove sys_wait.
65484         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
65485         * doc/posix-functions/system.texi: Mention the new module.
65486         * doc/posix-headers/stdlib.texi: Likewise.
65487         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
65488         define test_sys_wait_macros to a no-op.
65489         Reported by Sam Steingold <sds@gnu.org>.
65491 2010-09-30  Bruno Haible  <bruno@clisp.org>
65493         More renaming from 'getdate' to 'get_date'.
65494         * doc/get_date.texi: Renamed from doc/getdate.texi.
65495         * modules/get_date (Files): Update.
65496         * MODULES.html.sh (Date and time <time.h>): Update.
65497         * DEPENDENCIES: Update.
65498         * gnulib-tool: Update comment.
65499         * m4/bison.m4 (gl_BISON): Likewise.
65500         * m4/get_date.m4 (gl_GET_DATE): Likewise.
65502 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
65504         bootstrap: support ACLOCAL_FLAGS during aclocal
65505         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
65506         can add additional -I dir for third-party .m4 files.
65508 2010-09-30  Eric Blake  <eblake@redhat.com>
65510         bootstrap: use glibtoolize on MacOS
65511         * build-aux/bootstrap (check_versions): Convert libtool into
65512         libtoolize.
65513         (tool search): Move libtool check earlier, and look for
65514         glibtoolize for MacOS.
65515         (gnulib_tool_options): Auto-add --libtool when appropriate.
65516         Reported by Justin Clift.
65518         poll: fix typo that broke test on MacOS
65519         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
65520         Reported by Justin Clift.
65522         getdate: rename to get_date
65523         Note: getdate.h is not renamed, to minimize client impact.
65524         * modules/getdate: Mark obsolete.  Move old contents...
65525         * modules/get_date: ...to new module name.
65526         * modules/getdate-tests: Move...
65527         * modules/get_date-tests: ...here.
65528         * m4/getdate.m4: Move...
65529         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
65530         * lib/getdate.y: Move...
65531         * lib/get_date.y: ...here.
65532         * tests/test-getdate.c: Move...
65533         * tests/test-get_date.c: ...here.
65534         * doc/posix-functions/getdate.texi (getdate): Update name.
65535         * NEWS: Mention the change.
65537 2010-09-29  Bruno Haible  <bruno@clisp.org>
65539         Separate the module 'waitpid' from the module 'sys_wait'.
65540         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
65541         present.
65542         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
65543         gl_MODULE_INDICATOR_FOR_TESTS.
65544         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
65545         * modules/sys_wait (Depends-on): Remove waitpid.
65546         (Makefile.am): Substitute GNULIB_WAITPID.
65547         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
65548         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
65549         signature only if the 'waitpid' module is present.
65550         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
65551         * NEWS: Mention the change.
65552         * modules/grantpt (Depends-on): Add waitpid.
65553         * modules/wait-process (Depends-on): Likewise.
65555 2010-09-29  Bruno Haible  <bruno@clisp.org>
65557         More tests for module 'sys_wait'.
65558         * modules/sys_wait-c++-tests: New file.
65559         * tests/test-sys_wait-c++.cc: New file.
65560         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
65561         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65563 2010-09-29  Bruno Haible  <bruno@clisp.org>
65565         New module 'waitpid'.
65566         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
65567         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
65568         Don't include <process.h>.
65569         (waitpid): Declare only, using modern idiom.
65570         * m4/waitpid.m4: New file.
65571         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
65572         * modules/waitpid: New file.
65573         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
65574         (Makefile.am): Update.
65575         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65577 2010-09-28  Bruno Haible  <bruno@clisp.org>
65579         poll: Assume ANSI C.
65580         * lib/poll.c (poll): Use an ANSI C declaration.
65582 2010-09-28  Bruno Haible  <bruno@clisp.org>
65584         poll-h: Create poll.h on all platforms.
65585         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
65586         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
65587         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
65588         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
65589         (gl_REPLACE_POLL_H): Don't set POLL_H.
65590         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
65591         * modules/poll-h (Depends-on): Add include_next.
65592         (Makefile.am): Create poll.h unconditionally. Substitute also
65593         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
65595 2010-09-28  Bruno Haible  <bruno@clisp.org>
65597         Tests for module 'poll-h'.
65598         * modules/poll-h-c++-tests: New file.
65599         * tests/test-poll-h-c++.cc: New file.
65601         Tests for module 'poll-h'.
65602         * modules/poll-h-tests: New file.
65603         * tests/test-poll-h.c: New file.
65605 2010-09-28  Bruno Haible  <bruno@clisp.org>
65607         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
65608         * modules/poll-h (Depends-on): Add 'extensions'.
65610 2010-09-28  Bruno Haible  <bruno@clisp.org>
65612         New module 'poll-h'.
65613         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
65614         (poll): Use modern idiom.
65615         * modules/poll-h: New file.
65616         * modules/poll (Files): Remove lib/poll.in.h.
65617         (Depends-on): Add poll-h.
65618         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
65619         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
65620         * m4/poll_h.m4: New file.
65621         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
65622         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
65623         and invoke gl_REPLACE_POLL_H.
65624         * lib/poll.c: Use common idiom.
65625         * tests/test-poll.c: Likewise.
65626         * doc/posix-headers/poll.texi: Mention the poll-h module.
65627         Suggested by Eric Blake.
65629 2010-09-26  Bruno Haible  <bruno@clisp.org>
65631         sys_wait: Implement WSTOPSIG.
65632         * lib/sys_wait.in.h (WSTOPSIG): New macro.
65633         Reported by Simon Josefsson.
65635 2010-09-26  Simon Josefsson  <simon@josefsson.org>
65637         stdlib, sys_wait: Avoid compilation error on mingw.
65638         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
65640 2010-09-26  Bruno Haible  <bruno@clisp.org>
65642         stdlib tests: Avoid code duplication.
65643         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
65644         * modules/sys_wait-tests (Files): Likewise.
65645         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
65646         * tests/test-stdlib.c: Include test-sys_wait.h.
65647         (main): Invoke test_sys_wait_macros.
65648         * tests/test-sys_wait.c: Include test-sys_wait.h.
65649         (main): Invoke test_sys_wait_macros.
65651 2010-09-25  Simon Josefsson  <simon@josefsson.org>
65653         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
65654         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
65655         sure Windows sockets are working before calling getaddrinfo.
65656         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
65657         * doc/gnulib.texi (Windows sockets): Fix typo.
65659 2010-09-25  Bruno Haible  <bruno@clisp.org>
65661         Tests for module 'regex-quote'.
65662         * modules/regex-quote-tests: New file.
65663         * tests/test-regex-quote.c: New file.
65665         New module 'regex-quote'.
65666         * lib/regex-quote.h: New file.
65667         * lib/regex-quote.c: New file.
65668         * modules/regex-quote: New file.
65669         Suggested by Reuben Thomas <rrt@sc3d.org>.
65671 2010-09-24  Bruno Haible  <bruno@clisp.org>
65673         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
65674         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
65676 2010-09-23  Bruno Haible  <bruno@clisp.org>
65678         setenv: Relax license.
65679         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
65680         Blake.
65681         Requested by Eric Blake.
65683 2010-09-22  Bruno Haible  <bruno@clisp.org>
65685         termios: Relax license.
65686         * modules/termios (License): Change to LGPLv2+.
65687         Requested by Eric Blake.
65689 2010-09-22  Bruno Haible  <bruno@clisp.org>
65691         threadlib: Allow the package to change the default to 'no'.
65692         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
65693         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
65694         Reported by Paul Eggert.
65696 2010-09-22  Pádraig Brady  <P@draigbrady.com>
65697             Bruno Haible  <bruno@clisp.org>
65699         Fix endless loop in mbmemcasecoll.
65700         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
65701         byte.
65702         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
65704 2010-09-22  Bruno Haible  <bruno@clisp.org>
65706         Tests for module 'memcoll'.
65707         * modules/memcoll-tests: New file.
65708         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
65710         memcoll, xmemcoll: Clarify size vs. length.
65711         * modules/memcoll.c (memcoll0): Clarify specification.
65712         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
65713         passed to collate_error.
65715 2010-09-22  Bruno Haible  <bruno@clisp.org>
65717         Tests for module 'memcasecmp'.
65718         * modules/memcasecmp-tests: New file.
65719         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
65721 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65723         * lib/pthread.in.h: Add split double-inclusion guard, and include
65724         system <pthread.h> if there is one.  Use @@-style as in other
65725         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
65726         pthread.h doesn't.
65727         (pthread_mutexattr_destroy, pthread_mutexattr_init):
65728         (pthread_mutexattr_settype, pthread_mutex_trylock):
65729         New static inline functions, if there's no system <pthread.h>.
65730         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
65731         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
65732         Approximate with mutexes if the system lacks spinlocks, as in
65733         MacOS.
65734         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
65735         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
65736         @@-style.  Check for spinlocks separately.
65737         (gl_PTHREAD_DEFAULTS): New macro.
65738         * modules/pthread: Redo to use a more typical style for in.h files.
65740 2010-09-21  Eric Blake  <eblake@redhat.com>
65742         net_if: enhance tests
65743         * tests/test-net_if.c (main): Move signature checks earlier.
65744         Print failures to stderr.
65745         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
65746         Document the bug that we do not yet fix.
65748 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65750         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
65751         about gnulib, not GSS.
65753 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65755         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
65756         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
65757         for Emacs.
65758         * build-aux/pmccabe2html: Make Makefile.am example code more
65759         cut-and-paste friendly.
65761 2010-09-21  Simon Josefsson  <simon@josefsson.org>
65763         * tests/test-net_if.c: New file.
65764         * modules/net_if-tests: New file.
65766 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65768         pthread: add pthread_spin_destroy
65769         * lib/pthread.in.h (pthread_spin_destroy): New function.
65771 2010-09-19  Bruno Haible  <bruno@clisp.org>
65773         gnulib-tool: Fix --help output.
65774         * gnulib-tool (func_usage): Fix help message.
65775         Reported by Reuben Thomas <rrt@sc3d.org>.
65777 2010-09-18  Jim Meyering  <meyering@redhat.com>
65779         maint.mk: avoid unexpanded \n in two diagnostics
65780         * top/maint.mk (sc_prohibit_always_true_header_tests):
65781         Don't use a literal \n in a halt=... assignment.  It would not be
65782         expanded, and the two \n bytes would appear in the diagnostic output
65783         rather than the desired newline.  Use halt=$$(printf ... instead.
65784         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
65786 2010-09-18  Bruno Haible  <bruno@clisp.org>
65788         netinet_in: Doc tweak.
65789         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
65790         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65792 2010-09-18  Jim Meyering  <meyering@redhat.com>
65794         init.sh: correct an outdated comment
65795         * tests/init.sh (create_exe_shims_):  s/function/alias/
65797         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
65798         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
65799         a file named "*.exe" is removed between the glob expansion and the
65800         processing of that oddly named file.
65802 2010-09-17  Eric Blake  <eblake@redhat.com>
65804         mirbsd: add some more support
65805         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
65806         in BSD family.
65807         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
65808         devices as OpenBSD.
65809         * m4/host-os.m4 (mirbsd): Add MirBSD.
65811         tests: fix unportable assumption on sys/wait.h
65812         * tests/test-sys_wait.c (main): Relax test.
65813         * tests/test-stdlib.c (main): Likewise.
65815         init.sh: accommodate directory with no .exes
65816         * tests/init.sh: Accomodate directory containing only scripts.
65818         tests: avoid compiler warning
65819         * tests/test-stdlib.c (main): Use the variable.
65821         fdutimens, fdutimensat: update signature, again
65822         * lib/utimens.h (gl_futimens): Delete, and move signature...
65823         (fdutimens): ...here.
65824         (fdutimensat): Rearrange signature.
65825         (lutimensat): Rename variable for clarity.
65826         * lib/fdutimensat.c (fdutimensat): Update signature.
65827         * lib/utimens.c (fdutimens): Likewise.
65828         (gl_futimens): Delete.
65829         (utimens, lutimens): Update callers.
65830         * lib/futimens.c (futimens): Likewise.
65831         * tests/test-fdutimensat.c: Likewise.
65832         * tests/test-utimens.c: Likewise.
65833         * tests/test-futimens.h: Update comment.
65834         * NEWS: Mention this.
65835         Suggested by Paul Eggert.
65837 2010-09-17  Bruno Haible  <bruno@clisp.org>
65839         Take over the maintenance of some older macros from Autoconf.
65840         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
65841         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
65842         GNU Autoconf.
65843         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
65844         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
65846 2010-09-17  Eric Blake  <eblake@redhat.com>
65848         fdutimensat: drop atflag validation
65849         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
65850         with valid fd, to close a race scenario where futimens is
65851         unsupported and FILE was replaced by a symlink.
65852         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
65853         accordingly.
65854         Suggested by Paul Eggert.
65856 2010-09-16  Bruno Haible  <bruno@clisp.org>
65858         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
65859         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
65861 2010-09-16  Bruno Haible  <bruno@clisp.org>
65863         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
65864         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
65865         login_tty exists.
65866         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65868 2010-09-16  Bruno Haible  <bruno@clisp.org>
65870         login_tty: Make the replacement code work on BSD systems.
65871         * lib/login_tty.c: Include <sys/ioctl.h>.
65872         (login_tty): Use ioctl TIOCSCTTY when available.
65873         * modules/login_tty (Depends-on): Add sys_ioctl.
65874         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65876 2010-09-16  Bruno Haible  <bruno@clisp.org>
65878         login_tty: Stricter unit test.
65879         * modules/login_tty-tests (Depends-on): Add tcgetsid.
65880         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
65881         and tcgetsid() after login_tty.
65882         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65884 2010-09-16  Bruno Haible  <bruno@clisp.org>
65886         New module 'tcgetsid'.
65887         * lib/tcgetsid.c: New file.
65888         * m4/tcgetsid.m4: New file.
65889         * modules/tcgetsid: New file.
65890         * modules/termios (Depends-on): Add c++defs, warn-on-use.
65891         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
65892         GNULIB_TCGETSID, HAVE_TCGETSID.
65893         * lib/termios.in.h: Include <sys/types.h>.
65894         (tcgetsid): New declaration.
65895         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
65896         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
65897         * doc/posix-functions/tcgetsid.texi: Mention the new module.
65898         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
65900 2010-09-16  Bruno Haible  <bruno@clisp.org>
65902         Tests for module 'termios'.
65903         * modules/termios-c++-tests: New file.
65904         * modules/termios-tests: New file.
65905         * tests/test-termios-c++.cc: New file.
65906         * tests/test-termios.c: New file.
65908         New module 'termios'.
65909         * modules/termios: New file.
65910         * lib/termios.in.h: New file.
65911         * m4/termios_h.m4: New file.
65912         * doc/posix-headers/termios.texi: Mention the new module.
65914 2010-09-16  Eric Blake  <eblake@redhat.com>
65916         fdutimensat: add an atflag parameter
65917         * lib/fdutimensat.c (fdutimensat): Add new parameter.
65918         * lib/utimens.h (fdutimensat): Update prototype.
65919         * tests/test-fdutimensat.c: Adjust test to match.
65920         * NEWS: Document the change.
65921         Suggested by Paul Eggert.
65923 2010-09-16  Bruno Haible  <bruno@clisp.org>
65925         Fix typos in comments.
65926         * lib/striconveh.h: Fix typo in comment.
65927         * lib/login_tty.c (login_tty): Likewise.
65929 2010-09-15  Bruno Haible  <bruno@clisp.org>
65931         stdlib: clarify MirBSD WEXITSTATUS bug
65932         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
65933         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65935 2010-09-15  Eric Blake  <eblake@redhat.com>
65937         stdlib: work around MirBSD WEXITSTATUS bug
65938         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
65939         * modules/stdlib (Depends-on): Add sys_wait.
65940         * tests/test-sys_wait.c (main): Enhance test.
65941         * tests/test-stdlib.c (main): Likewise.
65942         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
65944         docs: mention MacOS issue with WEXITSTATUS(constant)
65945         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
65946         issue.
65947         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65949         strnlen: add tests
65950         * modules/strnlen-tests: New file.
65951         * tests/test-strnlen.c: Likewise.
65953 2010-09-14  Bruno Haible  <bruno@clisp.org>
65955         unistr/base: Avoid link errors when module 'libunistring' is also used.
65956         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
65957         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
65958         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
65959         Declare also when HAVE_LIBUNISTRING is set.
65960         Reported by Pádraig Brady <P@draigbrady.com>.
65962 2010-09-14  Eric Blake  <eblake@redhat.com>
65964         test-rawmemchr: make more robust
65965         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
65966         (Depends-on, configure.ac): Add needed prerequisites to use it.
65967         * modules/memchr-tests (Files, Depends-on, configure.ac):
65968         Likewise, to avoid implicit reliance on memchr module prereqs.
65969         * tests/test-memchr.c (main): Ensure proper masking.
65970         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
65971         reads.
65973         memchr: detect glibc Alpha bug
65974         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
65975         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
65976         Alpha.
65977         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
65978         * tests/test-memchr.c (main): Enhance test.
65979         Reported by Nelson H. F. Beebe.
65981 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65983         fts, getcwd, glob: audit for dirfd returning -1
65984         * lib/fts.c (opendir): Remove #define; no longer used.
65985         (opendirat): New arg PDIR_FD.  All callers changed.
65986         (fts_build, _opendir2): Use new opendirat to avoid the need for
65987         dirfd, or for checking whether dirfd returns a negative value.
65988         Don't use opendir; always use openat followed by fdopendir.
65989         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
65990         it.
65991         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
65992         returns -1 here.
65993         * modules/fts (Depends-on): Remove dirfd.
65994         * modules/getcwd (Depends-on): Likewise.
65996 2010-09-13  Eric Blake  <eblake@redhat.com>
65998         float: fix broken MirBSD header
65999         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
66000         * doc/posix-headers/float.texi (float.h): Document it.
66002 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
66004         fts: use O_NOFOLLOW to avoid race condition when opening a directory
66005         * lib/fts.c (opendirat): New arg extra_flags.
66006         (__opendir2): Use it to avoid following symlinks when opening
66007         a directory, if symlinks are not supposed to be followed.  See
66008         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
66010         fdopendir: preserve argument fd before returning
66011         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
66012         (fdopendir_with_dup, fd_clone_opendir): New static functions.
66013         (fdopendir): Use them, arranging for FD to be open to the same
66014         directory that it was when it started.  (It might be temporarily
66015         closed while fdopendir is running, so this not thread- or
66016         signal-safe.)  Be careful to do the right thing even when file
66017         descriptors are scarce and dup fails with errno == EMFILE.  See
66018         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
66020 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
66022         regex: Pass the system regex if its only problem is 32-bit regoff_t.
66023         * NEWS: Document change.
66024         * m4/regex.m4: Disable test for regoff_t size.
66026 2010-09-13  Jim Meyering  <meyering@redhat.com>
66028         fts: don't operate on an invalid file descriptor after failed dup
66029         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
66030         negative file descriptor.
66032 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
66034         savedir: add streamsavedir, deprecate fdsavedir
66035         * NEWS: Mention deprecation of fdsavedir.
66036         * lib/savedir.c (streamsavedir): New extern function, whose name
66037         ends in "savedir" to be consistent with the others.  This differs
66038         from savedirstream in that it doesn't close its argument.  The
66039         next version of GNU tar will use this instead of fdsavedir, to
66040         avoid some race conditions and conserve file descriptors.
66041         (savedirstream): Reimplement as a wrapper around streamsavedir.
66042         (fdsavedir): Add a comment deprecating this function.  As far as
66043         I know, only GNU tar used it, and GNU tar doesn't need it any more.
66044         * lib/savedir.h (streamsavedir): New decl.
66045         (fdsavedir): Add a comment deprecating this.
66047 2010-09-10  Bruno Haible  <bruno@clisp.org>
66049         langinfo: Fix last commit.
66050         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
66051         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
66052         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66054 2010-09-10  Bruno Haible  <bruno@clisp.org>
66056         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
66057         * lib/progreloc.c (O_EXEC): Define fallback.
66059 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
66061         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
66062         * NEWS: Document recent changes to fcntl-h.
66063         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
66064         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
66065         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
66066         Similarly for O_SEARCH; this last was already true, but not documented.
66067         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
66068         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
66069         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
66070         Likewise.
66071         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
66072         is zero, not whether it is defined.
66073         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
66074         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
66075         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
66077 2010-09-10  Bruno Haible  <bruno@clisp.org>
66079         langinfo, nl_langinfo: Fix for IRIX 5.3.
66080         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
66081         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
66082         HAVE_LANGINFO_YESEXPR.
66083         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
66084         HAVE_LANGINFO_YESEXPR.
66085         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
66086         HAVE_LANGINFO_T_FMT_AMPM is 0.
66087         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
66088         HAVE_LANGINFO_YESEXPR is 0.
66089         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
66090         NOEXPR.
66091         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
66092         * doc/posix-functions/nl_langinfo.texi: Likewise.
66093         Reported by Eric Blake.
66095 2010-09-10  Bruno Haible  <bruno@clisp.org>
66097         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
66098         * doc/glibc-functions/login_tty.texi: Mention the include file problem
66099         on FreeBSD 8.0 and OpenBSD 4.6.
66100         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
66101         * m4/pty_h.m4 (gl_PTY_H): Likewise.
66102         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
66103         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
66104         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
66105         ac_includes_default.
66106         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
66108 2010-09-09  Eric Blake  <eblake@redhat.com>
66110         strsignal: work around NetBSD bug
66111         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
66112         * lib/string.in.h (includes): Likewise.
66113         * doc/posix-functions/strsignal.texi (strsignal): Document the
66114         bug.
66115         Reported by Nelson H. F. Beebe.
66117         gnulib-tool: work with NetBSD /bin/sh
66118         * gnulib-tool (func_cache_var, func_cache_lookup_module)
66119         (func_get_description, func_get_comment, func_get_status)
66120         (func_get_notice, func_get_applicability, func_get_filelist)
66121         (func_get_dependencies, func_get_autoconf_early_snippet)
66122         (func_get_autoconf_snippet, func_get_automake_snippet)
66123         (func_get_include_directive, func_get_link_directive)
66124         (func_get_license, func_get_maintainer, func_import): Avoid
66125         shell syntax errors from parsing syntax extensions.
66127 2010-09-09  Bruno Haible  <bruno@clisp.org>
66129         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
66130         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
66131         a reliable way to determine whether the 'alias' command works.
66133 2010-09-08  Jim Meyering  <meyering@redhat.com>
66135         init.sh: penalize a set-x-impaired shell; don't disqualify it
66136         * tests/init.sh: Too many shells corrupt application stderr when
66137         you set -x, so we can't afford to disqualify them, since at least
66138         on Irix-6.5, that would disqualify all bourne shells.
66139         Instead, use a two-pass approach.
66140         On the first pass, try to find a shell that meets the stricter
66141         condition that set -x does not corrupt stderr.
66142         If no shell meets the stricter condition, retest each candidate
66143         shell, but without that extra condition.  Finally, when
66144         VERBOSE=yes is requested and set -x might cause trouble, simply
66145         issue a warning and refrain from enabling debug output.
66147 2010-09-08  Eric Blake  <eblake@redhat.com>
66149         unsetenv: fix OpenBSD bug
66150         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
66151         * doc/posix-functions/unsetenv.texi (unsetenv): Update
66152         documentation.
66153         Reported by Jim Meyering.
66155         strtod: work around IRIX 6.5 bug
66156         * lib/strtod.c (strtod): Reparse number on shorter string if
66157         exponent parse was invalid.
66158         * tests/test-strtod.c (main): Add check for "0x1p 2".
66159         Reported by Tom G. Christensen.
66161         getopt: optimize previous patch
66162         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
66163         empty variable.  Speed up awk script.
66164         Reported by Paolo Bonzini.
66166 2010-09-08  Jim Meyering  <meyering@redhat.com>
66168         test.sh: disqualify shells for which set -x corrupts stderr
66169         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
66170         and OpenBSD 4.7.  They make it so with "set -x", environment settings
66171         appear in stderr output.  For example, this command:
66172             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
66173         prints "P=1" on those two systems:
66175 2010-09-08  Bruno Haible  <bruno@clisp.org>
66177         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
66178         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
66179         commands, because some shells ignore redirections when there is an
66180         error in the command lookup.
66181         Reported by Eric Blake.
66183 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
66185         * lib/regex.h: Fix a mention of `regex_compile' (should be
66186         `re_compile_pattern').
66187         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
66188         (re_set_registers): Correct name of parameter in comment.
66190         * doc/regex.texi: Add documentation for missing syntax flags.
66191         Remove commented-out documentation of defunct syntax option
66192         RE_NO_EMPTY_ALTS.
66193         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
66194         Add documentation of re_set_registers.
66195         Document trick to re-use a pattern buffer by setting fastmap manually.
66196         Update documentation of struct re_pattern_buffer per public members.
66197         Uncomment documentation of equivalence class operators and
66198         collating symbol operators, since they are now implemented,
66199         Explain leftmost-longest matching in relation to alternatives.
66200         Tidy documentation of substring matching.
66201         Remove POSIX documentation, which is done better in
66202         glibc, and refer the reader there. Keep BSD API documentation, as
66203         that is not readily available elsewhere.
66205 2010-09-07  Eric Blake  <eblake@redhat.com>
66207         getopt: handle POSIXLY_CORRECT set but not exported
66208         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
66209         export state of POSIXLY_CORRECT, due to bash set -o posix.
66210         Reported by Dustin J. Mitchell.
66212 2010-09-05  Bruno Haible  <bruno@clisp.org>
66214         gnulib-tool: Highlight the changed options.
66215         * gnulib-tool (func_usage): Display the --import, --add-import,
66216         --remove-import explanations in bold font.
66218 2010-09-06  Karl Berry  <karl@gnu.org>
66220         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
66222 2010-09-05  Bruno Haible  <bruno@clisp.org>
66224         uniwidth/width: Update comment.
66225         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
66226         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
66228 2010-09-05  Bruno Haible  <bruno@clisp.org>
66230         isinf, isnan: Relax license.
66231         * modules/isinf (License): Change from GPL to LGPL, with consent from
66232         Ben Pfaff.
66233         * modules/isnan (License): Likewise.
66234         Requested by Ludovic Courtès.
66236 2010-09-04  Bruno Haible  <bruno@clisp.org>
66238         gnulib-tool: Help migration from --import to --add-import or --update.
66239         * gnulib-tool: Emit a verbose error message when --import is used
66240         without any module name.
66242 2010-09-04  Bruno Haible  <bruno@clisp.org>
66244         Update doc about gnulib-tool.
66245         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
66246         'gnulib-tool --update' in more detail.
66247         Reported by Eric Blake.
66249 2010-09-04  Bruno Haible  <bruno@clisp.org>
66251         gnulib-tool: Change --import. New options --add/remove-import.
66252         * gnulib-tool: New options --add-import, --remove-import.
66253         (func_usage): Document them.
66254         (have_associative): Define always.
66255         (func_import): In import mode, don't merge the specified settings with
66256         the cached settings. Implement remove-import mode.
66257         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
66258         Explain when to use them versus --import.
66259         (Simple update): Use --add-import instead of --import.
66260         * NEWS: Mention the change.
66262 2010-09-04  Bruno Haible  <bruno@clisp.org>
66264         * doc/gnulib-tool.texi (Initial import): Update paragraph about
66265         separate gnulib.mk.
66267 2010-09-04  Bruno Haible  <bruno@clisp.org>
66269         gnulib-tool: Don't talk about CVS any more.
66270         * gnulib-tool (func_usage, func_import): Write "version control"
66271         instead of CVS.
66273 2010-09-04  Jim Meyering  <meyering@redhat.com>
66275         maint.mk: avoid obscure sc_copyright_check failure in coreutils
66276         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
66277         false positives (whose names may be ill-chosen) when searching
66278         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
66279         would cause a false-positive.
66281         avoid coreutils "make distcheck" failure
66282         Coreutils tests with an absolute build directory name that contains
66283         a space.  Not quoting this directory name caused a failure.
66284         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
66285         * tests/test-vc-list-files-cvs.sh: Likewise.
66287 2010-09-04  Bruno Haible  <bruno@clisp.org>
66289         gnulib-tool: Avoid error when run in a package without Makefile.am.
66290         * gnulib-tool: When collecting the m4dirs in a package that does not
66291         have a Makefile.am, eliminate those directories that contain no
66292         gnulib-cache.m4. Fix expression that counts these directories.
66294 2010-09-04  Bruno Haible  <bruno@clisp.org>
66296         update-copyright test: Improve output when perl is missing or too old.
66297         * tests/test-update-copyright.sh: Move test of Perl version down after
66298         the test whether Perl exists. Provide an explanation relating Perl's
66299         error message to Automake's SKIP: message.
66301 2010-09-04  Bruno Haible  <bruno@clisp.org>
66303         Don't augment PATH in TESTS_ENVIRONMENT.
66304         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
66305         set abs_aux_dir instead of augmenting PATH.
66306         * modules/vc-list-files-tests (Makefile.am): Likewise.
66307         * tests/test-update-copyright.sh: Augment PATH here.
66308         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
66309         path_prepend_.
66310         * tests/test-vc-list-files-git.sh: Likewise.
66312 2010-09-04  Jim Meyering  <meyering@redhat.com>
66314         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
66315         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
66317 2010-09-04  Bruno Haible  <bruno@clisp.org>
66319         strdup: Fix compilation error in C++ mode.
66320         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
66321         the macro.
66323 2010-09-04  Bruno Haible  <bruno@clisp.org>
66325         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
66326         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
66327         macro into a function.
66328         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
66330 2010-09-04  Bruno Haible  <bruno@clisp.org>
66332         Set PATH_SEPARATOR the same way autoconf does.
66333         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
66334         the value of PATH_SEPARATOR the same way autoconf-generated configure
66335         scripts do.
66336         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
66337         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
66339 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
66341         Set PATH_SEPARATOR the same way autoconf does.
66342         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
66343         the same way autoconf-generated configure scripts do.
66344         * posix-modules: Likewise.
66346 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66348         hash: fix safe_hasher const typo
66349         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
66350         const; otherwise, there is a type error later.
66352 2010-09-02  Jim Meyering  <meyering@redhat.com>
66354         test-update-copyright.sh: require perl 5.8.0
66355         * tests/test-update-copyright.sh: Require 5.8.0,
66356         which Tom G. Christensen has confirmed is adequate,
66357         while 5.6.1 is not.
66359 2010-09-02  Eric Blake  <eblake@redhat.com>
66361         tests: init.sh improvements for re-exec'ing with zsh
66362         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
66363         -vx through shell re-exec.
66364         Reported by Tom G. Christensen.
66366         wctype: fix typo in previous commit
66367         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
66368         Reported by Ludovic Courtès.
66370 2010-09-02  Jim Meyering  <meyering@redhat.com>
66372         test-update-copyright.sh: skip test if Perl is too old
66373         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
66374         Reported by Tom G. Christensen.
66376 2010-09-02  Bruno Haible  <bruno@clisp.org>
66378         wctype: Avoid compilation error on IRIX 6.5.30.
66379         * lib/wctype.in.h (iswblank): Declare with a replacement if
66380         REPLACE_ISWBLANK is set.
66381         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
66382         declared. Set REPLACE_ISWBLANK.
66383         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
66384         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
66385         * doc/posix-headers/wctype.texi: Likewise.
66386         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66388 2010-09-01  Bruno Haible  <bruno@clisp.org>
66390         New module 'socketlib'.
66391         * modules/socketlib: New file.
66392         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
66393         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
66394         * modules/sockets (Depends-on): Add socketlib.
66395         Suggested by Sam Steingold <sds@gnu.org>.
66397 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66399         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
66401         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
66402         when one needs search access to a directory but not read access.
66403         On systems where it is available, it works in some cases where
66404         O_RDONLY does not, namely on directories that are searchable but
66405         not readable, and which need only to be searchable.  If O_SEARCH
66406         is not available, fall back to the traditional method of using
66407         O_RDONLY.
66409         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
66410         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
66411         when opening a directory that needs only to be searchable.
66412         * lib/chdir-safer.c (chdir_no_follow): Likewise.
66413         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
66414         * lib/openat-proc.c (openat_proc_name): Likewise.
66415         * lib/openat.c (openat_needs_fchdir): Likewise.
66416         * lib/save-cwd.c (save_cwd): Likewise.
66417         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
66419 2010-08-28  Bruno Haible  <bruno@clisp.org>
66421         New module 'host-cpu-c-abi'.
66422         * modules/host-cpu-c-abi: New file.
66423         * m4/host-cpu-c-abi.m4: New file, based on part of
66424         clisp/src/m4/general.m4.
66425         Requested by Sam Steingold <sds@gnu.org>.
66427 2010-08-31  Eric Blake  <eblake@redhat.com>
66428         and Jim Meyering  <meyering@redhat.com>
66430         hash: factor, and guard against misbehaving hasher function
66431         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
66432         of table->hasher's return value.  Also protect against a hash value
66433         so large that adding it to table->bucket results in a NULL pointer.
66434         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
66435         Use it in place of open-coded check-and-abort.
66437 2010-08-30  Bruno Haible  <bruno@clisp.org>
66439         hash: silence spurious clang warning
66440         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
66441         Reported by Eric Blake.
66443 2010-08-30  Eric Blake  <eblake@redhat.com>
66445         strstr, memmem, strcasestr: avoid leaked shell message
66446         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
66447         FreeBSD.
66448         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66449         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66451         tests: silence clang warning
66452         * tests/test-malloca.c (do_allocation): Avoid dead store.
66454 2010-08-29  Bruno Haible  <bruno@clisp.org>
66456         gettext: Fix recent mistake.
66457         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
66459 2010-08-29  Bruno Haible  <bruno@clisp.org>
66461         selinux-h: Offer a --without-selinux option.
66462         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
66463         --without-selinux was specified, skip all tests and define
66464         HAVE_SELINUX_SELINUX_H to 0.
66465         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
66466         set LIB_SELINUX to empty.
66467         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
66468         gl_LIBSELINUX. If --without-selinux was specified, replace
66469         selinux/context.h.
66470         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
66472 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66473             Bruno Haible  <bruno@clisp.org>
66475         Make the module 'realloc-gnu' work again on AIX and OSF/1.
66476         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
66477         of HAVE_REALLOC.
66478         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
66479         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
66480         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
66481         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66483 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66484             Bruno Haible  <bruno@clisp.org>
66486         Make the module 'calloc-gnu' work again on AIX and OSF/1.
66487         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
66488         HAVE_CALLOC.
66489         * lib/xmalloc.c: Update accordingly.
66490         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
66491         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
66492         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
66494 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66495             Bruno Haible  <bruno@clisp.org>
66497         Make the module 'malloc-gnu' work again on AIX and OSF/1.
66498         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
66499         HAVE_MALLOC.
66500         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
66501         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
66502         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66504 2010-08-29  Bruno Haible  <bruno@clisp.org>
66506         Update modules list.
66507         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
66508         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
66509         (String handling <string.h>): Add astrxfrm.
66510         (File system functions): Add readlinkat.
66512 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66514         Tests for module 'realloc-gnu'.
66515         * modules/realloc-gnu-tests: New file.
66516         * tests/test-realloc-gnu.c: New file.
66518         Tests for module 'calloc-gnu'.
66519         * modules/calloc-gnu-tests: New file.
66520         * tests/test-calloc-gnu.c: New file.
66522         Tests for module 'malloc-gnu'.
66523         * modules/malloc-gnu-tests: New file.
66524         * tests/test-malloc-gnu.c: New file.
66526 2010-08-28  Bruno Haible  <bruno@clisp.org>
66528         Rename module 'realloc' -> 'realloc-gnu'.
66529         * modules/realloc-gnu: New file, copied from modules/realloc.
66530         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
66531         obsolete.
66532         * modules/mgetgroups (Depends-on): Update.
66533         * doc/posix-functions/realloc.texi: Update.
66534         * NEWS: Mention the change.
66536         Rename module 'calloc' -> 'calloc-gnu'.
66537         * modules/calloc-gnu: New file, copied from modules/calloc.
66538         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
66539         obsolete.
66540         * doc/posix-functions/calloc.texi: Update.
66541         * NEWS: Mention the change.
66543         Rename module 'malloc' -> 'malloc-gnu'.
66544         * modules/malloc-gnu: New file, copied from modules/malloc.
66545         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
66546         obsolete.
66547         * modules/argp (Depends-on): Update.
66548         * modules/regex (Depends-on): Update.
66549         * doc/posix-functions/malloc.texi: Update.
66550         * NEWS: Mention the change.
66552 2010-08-28  Eric Blake  <eblake@redhat.com>
66554         pread, pwrite: add missing dependency
66555         * modules/pread (Depends-on): Add extensions.
66556         * modules/pwrite (Depends-on): Likewise.
66558 2010-08-28  Bruno Haible  <bruno@clisp.org>
66560         unistr/u*-strchr: Fix tests dependencies.
66561         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
66562         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
66563         Reported by Ian Beckwith <ianb@erislabs.net>.
66565 2010-08-28  Bruno Haible  <bruno@clisp.org>
66567         read-file: Don't occupy too much unused memory.
66568         * lib/read-file.c (fread_file): Shrink the buffer at the end.
66570 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
66571             Eric Blake  <eblake@redhat.com>
66572             Bruno Haible  <bruno@clisp.org>
66574         read-file: Avoid memory reallocations with regular files.
66575         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
66576         (fread_file): With regular files, use the remaining length as the
66577         initial buffer size.  Check against overflow.
66578         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
66579         sys_stat.
66581 2010-08-28  Bruno Haible  <bruno@clisp.org>
66583         ftello: Relax license.
66584         * modules/ftello (License): Relax to LGPLv2+.
66585         Reported by Eric Blake.
66587 2010-08-28  Bruno Haible  <bruno@clisp.org>
66589         Avoid relocwrapper link errors due to gnulib replacement functions.
66590         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
66591         function.
66592         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66594 2010-08-28  Bruno Haible  <bruno@clisp.org>
66596         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
66597         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
66598         defined.
66599         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
66600         Suggested by Eric Blake.
66602 2010-08-28  Bruno Haible  <bruno@clisp.org>
66604         sys_socket, netdb: Ensure socklen_t gets defined.
66605         * modules/sys_socket (Depends-on): Add socklen.
66606         * modules/netdb (Depends-on): Likewise.
66607         * modules/getaddrinfo (Depends-on): Remove socklen.
66608         * modules/getsockopt (Depends-on): Likewise.
66609         * modules/setsockopt (Depends-on): Likewise.
66610         * tests/test-sys_socket.c: Check that socklen_t is defined.
66611         * tests/test-netdb.c: Likewise.
66612         * m4/socklen.m4: Update comments.
66613         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66615 2010-08-27  Eric Blake  <eblake@redhat.com>
66617         login_tty: add missing dependency
66618         * modules/login_tty (Depends-on): Add pty.
66620 2010-08-26  Eric Blake  <eblake@redhat.com>
66622         lib-symbol-versions: fix m4 quoting
66623         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
66624         format for AC_LINK_IFELSE.
66626         glob: fix compile test
66627         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
66629         btowc: fix missing file
66630         * modules/btowc (Files): Also ship locale-fr.m4.
66632         lseek: fix link test
66633         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
66634         AC_LINK_IFELSE.
66636         include_next: silence autoconf 2.68 warning
66637         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
66638         AC_COMPILE_IFELSE as special.
66639         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
66640         autoconf < 2.68.
66642         acl: fix compilation test
66643         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
66644         AC_COMPILE_IFELSE.
66646 2010-08-26  Bruno Haible  <bruno@clisp.org>
66648         Modernize AC_TRY_RUN invocations.
66649         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
66650         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
66651         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
66652         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
66653         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
66654         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66655         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
66656         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66657         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66658         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66659         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
66660         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
66661         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
66662         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
66663         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
66664         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
66665         gl_MBRLEN_NUL_RETVAL): Likewise.
66666         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66667         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66668         Likewise.
66669         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66670         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
66671         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
66672         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
66673         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
66674         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
66675         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
66676         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
66677         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
66678         Likewise.
66679         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
66680         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
66681         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66682         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66683         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66684         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
66685         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
66686         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
66687         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66688         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66690 2010-08-26  Bruno Haible  <bruno@clisp.org>
66692         Modernize AC_TRY_LINK invocations.
66693         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
66694         AC_TRY_LINK.
66695         * m4/argp.m4 (gl_ARGP): Likewise.
66696         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
66697         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
66698         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
66699         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
66700         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
66701         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
66702         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
66703         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
66704         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
66705         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
66706         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
66707         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
66708         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
66709         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66710         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
66711         * m4/hostent.m4 (gl_HOSTENT): Likewise.
66712         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66713         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
66714         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
66715         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
66716         Likewise.
66717         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
66718         Likewise.
66719         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
66720         Likewise.
66721         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
66722         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
66723         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
66724         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
66725         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
66726         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66727         * m4/servent.m4 (gl_SERVENT): Likewise.
66728         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
66729         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
66730         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
66731         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
66732         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66733         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
66734         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
66735         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66736         * modules/tsearch-tests (configure.ac): Likewise.
66738 2010-08-26  Bruno Haible  <bruno@clisp.org>
66740         Modernize AC_TRY_COMPILE invocations.
66741         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
66742         AC_TRY_COMPILE.
66743         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
66744         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
66745         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
66746         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
66747         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
66748         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66749         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66750         * m4/lock.m4 (gl_LOCK): Likewise.
66751         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
66752         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
66753         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
66754         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
66755         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
66756         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
66757         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
66758         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
66759         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
66760         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
66761         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
66762         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66763         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
66764         extraneous semicolon.
66766 2010-08-26  Jim Meyering  <meyering@redhat.com>
66768         stat-time: relax license LGPL
66769         * modules/stat-time (License): Change from GPL to LGPL,
66770         with consent from all contributors, for use in libguile.
66771         Requested by Ludovic Courtès.
66773 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
66775         poll: return immediately on POLLHUP.
66776         * lib/poll.c (poll): Always set timeout before wait_timeout is
66777         computed.
66779 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66781         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
66782         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
66783         rmdir ("dir/.//"), unlinkat.
66785 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66787         stdbool: avoid spurious failure with modern xlc
66788         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66790 2010-08-24  Bruno Haible  <bruno@clisp.org>
66792         getloadavg: simplify code
66793         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
66794         gl_have_func. Update comments.
66796 2010-08-24  Eric Blake  <eblake@redhat.com>
66798         getloadavg: don't define SVR4 on cygwin
66799         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
66800         only define SVR4 when -lkvm is required.
66801         Reported by Yaakov Selkowitz.
66803 2010-08-24  Bruno Haible  <bruno@clisp.org>
66805         priv-set: fix comment
66806         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
66808 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66810         priv-set: fix comments
66811         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
66812         to match code, as suggested by David Bartley in:
66813         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
66815 2010-08-23  Eric Blake  <eblake@redhat.com>
66817         stdbool: avoid rejecting clang
66818         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66819         * tests/test-stdbool.c: Enable more tests if using the system
66820         <stdbool.h> instead of the gnulib replacement.
66821         (main): Move xlc bug test to a runtime test for all compilers.
66822         Reported by Anders Kaseorg.
66824         argz: fix shell quoting issue
66825         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
66826         Reported by Charles Wilson.
66828 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
66829             Erik Faye-Lund <kusmabite@gmail.com>
66831         poll, select: handle ERROR_BROKEN_PIPE.
66832         * lib/poll.c (win32_compute_revents): Return POLLHUP when
66833         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66834         * lib/select.c (win32_compute_revents): Do not mark a pipe
66835         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66837 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
66839         fts: allow compilation with C++
66840         * lib/fts_.h: Specify extern "C" linkage with C++.
66842 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66844         Fix gnulib-tool sed script de-commentation for AIX sed.
66845         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
66846         sed.
66848 2010-08-17  Eric Blake  <eblake@redhat.com>
66850         test-stddef: test for (some) offsetof bugs
66851         * tests/test-stddef.c: Enhance test to ensure correct type of
66852         offsetof.
66853         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
66854         that we are not fixing at this time.
66856 2010-08-15  Bruno Haible  <bruno@clisp.org>
66858         stpncpy: Allow stpncpy to be defined as a macro.
66859         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
66860         if it's already correctly declared.
66861         * lib/string.in.h (stpncpy): Undefine before redefining.
66862         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
66864 2010-08-14  Bruno Haible  <bruno@clisp.org>
66866         Rename module 'memxfrm' to 'amemxfrm'.
66867         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
66868         (amemxfrm): Renamed from memxfrm.
66869         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
66870         (amemxfrm): Renamed from memxfrm.
66871         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
66872         * NEWS: Mention the change.
66873         * MODULES.html.sh (String handling <string.h>): Update.
66874         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
66875         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
66876         * lib/unicase/u16-casexfrm.c: Likewise.
66877         * lib/unicase/u32-casexfrm.c: Likewise.
66878         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
66879         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
66880         * lib/uninorm/u16-normxfrm.c: Likewise.
66881         * lib/uninorm/u32-normxfrm.c: Likewise.
66882         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
66883         memxfrm.
66884         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
66885         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
66886         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
66887         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
66888         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
66889         Suggested by Paul Eggert.
66891 2010-08-14  Bruno Haible  <bruno@clisp.org>
66893         Tests for module 'astrxfrm'.
66894         * modules/astrxfrm-tests: New file.
66895         * tests/test-astrxfrm.c: New file.
66897         New module 'astrxfrm'.
66898         * lib/astrxfrm.h: New file.
66899         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
66900         * modules/astrxfrm: New file.
66902 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
66904         regex: Tweak doc.
66905         * doc/regex.texi (Overview): Don't mention regex.c.
66906         (GNU Regular Expression Compiling): Likewise.
66907         (Match-end-of-line Operator): Mention 'not_eol'.
66909 2010-08-14  Brian Gough  <bjg@gnu.org>
66910             Bruno Haible  <bruno@clisp.org>
66912         git-merge-changelog: add doc relating to use with bzr and hg.
66913         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
66915 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
66917         pthread: fix pthread.h creation for srcdir != builddir
66918         * modules/pthread (Makefile.am): Fix the rule to work also in a
66919         non-srcdir build.
66921 2010-08-13  Karl Berry  <karl@gnu.org>
66923         * doc/regex.texi (Predefined Syntaxes): @smallexample.
66924         * doc/posix-*/*: force line break before @url of POSIX
66925         specifications.
66926         Suggested by Werner Lemberg.
66928 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66930         strtod: fix const diagnostic
66931         * lib/strtod.c (strtod): Don't assign const char * to char *,
66932         as this elicits a warning from GCC when warnings are enabled.
66934 2010-08-10  Pádraig Brady  <P@draigbrady.com>
66935         and Eric Blake  <eblake@redhat.com>
66937         copy-acl: ignore ENOTSUP on HP-UX
66938         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
66939         so that it is available for HP-UX.
66940         * lib/copy-acl.c (qcopy_acl): Use it.
66941         Reported by Patrick M. Callahan.
66943 2010-08-10  Eric Blake  <eblake@redhat.com>
66945         open, chown: relax license
66946         * modules/open (License): Change to LGPLv2+, with consent by all
66947         authors, for use in augeas.
66948         * modules/chown (License): Likewise.
66949         * modules/lchown (Likewise): Likewise.
66950         Requested by Adam Stokes.
66952 2010-08-09  Karl Berry  <karl@gnu.org>
66954         * build-aux/ar-lib: new file, import from Automake.
66955         * config/srclist.txt: autocheck for updates.
66957 2010-08-09  Eric Blake  <eblake@redhat.com>
66959         readlinkat: adjust client modules
66960         * modules/areadlinkat (Depends-on): Use readlinkat, not
66961         symlinkat.
66962         * modules/areadlinkat-with-size (Depends-on): Likewise.
66964         mknod: be more vocal about danger of running tests as root
66965         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
66966         root, since that is just asking for problems.
66967         Suggested by Bruno Haible, based on a report by Rainer Tammer.
66969         readlinkat: split into its own module
66970         * modules/symlinkat: Split readlinkat...
66971         * modules/readlinkat: ...into separate module.
66972         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
66973         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
66974         * lib/symlinkat.c (readlinkat): Move...
66975         * lib/readlinkat.c: ...into new file.
66976         * modules/symlinkat-tests: Split readlinkat test...
66977         * modules/readlinkat-tests: ...into separate module.
66978         * tests/test-symlinkat.c: Split...
66979         * tests/test-readlinkat.c: ...into new file.
66980         * NEWS: Document the split.
66981         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
66982         * lib/unistd.in.h (readlinkat): Likewise.
66983         Suggested by Bruno Haible.
66985 2010-08-08  Bruno Haible  <bruno@clisp.org>
66987         memxfrm: Speed up.
66988         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
66989         that usually only one call to strxfrm is necessary for each string
66990         part.
66991         Reported by Paul Eggert <eggert@cs.ucla.edu>.
66993 2010-08-07  Karl Berry  <karl@gnu.org>
66995         * doc/posix-headers/limits.texi,
66996         * doc/posix-functions/malloc.texi,
66997         * doc/posix-functions/strsignal.texi: missing @item.
66998         * doc/ld-version-script.texi: spurious leading i.
66999         * doc/regex.texi (Interval Operators): no commas inside @var.
67001 2010-08-01  Bruno Haible  <bruno@clisp.org>
67003         Integrate the regex documentation.
67004         * doc/gnulib.texi: Define 'cn' index.
67005         (Regular expressions): New a chapter that includes regex.texi and
67006         regexprops-generic.texi.
67007         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
67008         syntax.
67010         Whitespace cleanup.
67011         * doc/regex.texi: Remove trailing spaces.
67013         Add regex documentation.
67014         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
67015         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
67016         Written by Kathy A. Hargreaves and Karl Berry.
67018 2010-08-01  Bruno Haible  <bruno@clisp.org>
67020         link: Update documentation.
67021         * doc/posix-functions/link.texi: Update regarding Solaris.
67023 2010-07-31  Bruno Haible  <bruno@clisp.org>
67025         Update modules list.
67026         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
67027         (String handling <string.h>): Add memcmp2, memxfrm.
67028         (Container data structures): Add xlist, xsublist, xoset.
67029         (Core language properties): Add alignof, unused-parameter.
67030         (Process control, Numeric conversion functions <stdlib.h>): Renamed
67031         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
67032         (Unibyte characters <ctype.h>): New section.
67033         (String handling <string.h>): New section.
67034         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
67035         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
67036         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
67037         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
67038         tan, tanh, tanl, y0, y1, yn.
67039         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
67040         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
67041         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
67042         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
67043         unlockpt, vdprintf, vdprintf-posix.
67044         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
67045         (File system functions): Add concat-filename, sys_file, sys_ioctl,
67046         xconcat-filename.
67047         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
67048         getdtablesize, pipe2, pipe2-safer.
67049         (Security): New section.
67050         (Networking functions): Add accept4.
67051         (Signal handling): Add sigpipe.
67052         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
67053         mbmemcasecoll.
67054         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
67055         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
67056         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
67057         pipe-filter-ii.
67058         (Misc): Add argp-version-etc, login_tty, parse-duration.
67060 2010-07-31  Bruno Haible  <bruno@clisp.org>
67062         Improve doc in MODULES.html.
67063         * modules/linkat (Description): Add the word "function".
67064         * modules/mkfifo (Description): Likewise.
67065         * modules/mknod (Description): Likewise.
67066         * modules/remove (Description): Likewise.
67067         * modules/renameat (Description): Likewise.
67068         * modules/stat (Description): Likewise.
67069         * modules/symlink (Description): Likewise.
67070         * modules/unlink (Description): Likewise.
67072 2010-07-31  Bruno Haible  <bruno@clisp.org>
67074         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
67075         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
67076         option --enable/disable-c++ instead of --enable/disable-cxx.
67077         * NEWS: Mention the change.
67079 2010-07-31  Bruno Haible  <bruno@clisp.org>
67081         readlink, areadlink: Relax test a bit.
67082         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
67083         alternative to ENOTDIR.
67084         * tests/test-areadlink.h (test_areadlink): Likewise.
67085         Reported by Rainer Tammer.
67087 2010-07-31  Bruno Haible  <bruno@clisp.org>
67089         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
67090         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
67091         character, perform the search using U_STRCHR.
67092         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
67093         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
67094         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
67095         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
67096         Suggested by Paolo Bonzini.
67098 2010-07-31  Bruno Haible  <bruno@clisp.org>
67100         unistr/u*-strstr: Fix dependencies.
67101         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
67102         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
67103         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
67105 2010-07-31  Bruno Haible  <bruno@clisp.org>
67107         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
67108         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
67109         the beginning of the loop.
67110         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
67111         cases in 'switch' statement.
67113         unistr/u8-strchr: Fix several bugs.
67114         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
67115         the string. When not found, return NULL, not a pointer near the end.
67117         More tests for unistr/u8-strchr.
67118         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
67119         that the function does not read past the first occurrence of the byte
67120         being searched.
67121         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
67122         * tests/unistr/test-u16-strchr.c (main): New function.
67123         * tests/unistr/test-u32-strchr.c (main): New function.
67125 2010-07-31  Bruno Haible  <bruno@clisp.org>
67127         posix-modules: Ignore backup files of documentation files.
67128         * posix-modules: grep only through files named *.texi.
67130 2010-07-31  Bruno Haible  <bruno@clisp.org>
67132         symlinkat: Fix documentation.
67133         * doc/posix-functions/readlinkat.texi: Fix module name.
67135 2010-07-31  Bruno Haible  <bruno@clisp.org>
67137         fchownat: Replace also when chown has the trailing slash bug.
67138         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
67139         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
67140         introduced on 2010-04-10.
67141         Reported by Rainer Tammer.
67143 2010-07-31  Bruno Haible  <bruno@clisp.org>
67145         linkat: Work around AIX 7.1 bug.
67146         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
67147         whether linkat handles trailing slash correctly. If not, replace linkat
67148         and define LINKAT_TRAILING_SLASH_BUG.
67149         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
67150         check whether (fd1,file1) points to a directory if file1 or file2 ends
67151         in a slash. Code taken from lib/link.c.
67152         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
67153         Reported by Rainer Tammer.
67155 2010-07-31  Bruno Haible  <bruno@clisp.org>
67157         Correctly determine whether pow is available in libc on AIX 7 with xlc.
67158         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
67159         This disables an xlc optimization that was causing wrong test results.
67160         Reported by Rainer Tammer.
67162 2010-07-31  Bruno Haible  <bruno@clisp.org>
67164         iconv: Work around AIX 6.1..7.1 bug.
67165         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
67166         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
67167         cross-compiling, guess no on all versions of AIX.
67168         Reported by Rainer Tammer.
67170 2010-07-31  Bruno Haible  <bruno@clisp.org>
67172         readlink: Relax test a bit.
67173         * tests/test-readlink.h (test_readlink): Allow different errno value
67174         when readlink is called with a file name that ends in / and refers to
67175         a file.
67176         Suggested by Eric Blake.
67177         Reported by Rainer Tammer.
67179 2010-07-31  Bruno Haible  <bruno@clisp.org>
67181         copysign: Does not require -lm on glibc systems.
67182         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
67183         gl_COMMON_DOUBLE_MATHFUNC.
67184         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
67186 2010-07-31  Bruno Haible  <bruno@clisp.org>
67188         duplocale: Work around AIX 7.1 bug.
67189         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
67190         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
67191         * lib/duplocale.c (rpl_duplocale): Update comment.
67192         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
67193         Reported by Rainer Tammer.
67195 2010-07-30  Bruno Haible  <bruno@clisp.org>
67197         dirfd: Avoid link error on AIX 7.1.
67198         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
67199         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
67200         exist, set REPLACE_DIRFD.
67201         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
67202         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
67203         * doc/posix-functions/dirfd.texi: Update.
67204         Reported by Rainer Tammer.
67206 2010-07-30  Eric Blake  <eblake@redhat.com>
67208         strtod: next round of AIX fixes
67209         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
67210         exponent.
67211         * tests/test-strtod.c (main): Enhance tests.
67212         * doc/posix-functions/strtod.texi (strtod): Document next bug.
67213         Reported by Rainer Tammer.
67215         futimens: fix configure check
67216         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
67217         Reported by Bruno Haible.
67219 2010-07-30  Bruno Haible  <bruno@clisp.org>
67221         getline: Update regarding AIX.
67222         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
67223         Reported by Rainer Tammer.
67225 2010-07-30  Bruno Haible  <bruno@clisp.org>
67227         wcwidth: Drop replacement on AIX 7.
67228         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
67229         AIX 7.
67230         Reported by Rainer Tammer.
67232 2010-07-30  Bruno Haible  <bruno@clisp.org>
67234         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
67235         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
67236         a 'char *'.
67237         Reported by Rainer Tammer.
67239 2010-07-30  Bruno Haible  <bruno@clisp.org>
67241         unlink: Update regarding AIX.
67242         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
67243         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
67244         Reported by Rainer Tammer.
67246 2010-07-30  Bruno Haible  <bruno@clisp.org>
67248         symlink: Update regarding AIX.
67249         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
67250         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
67251         Reported by Rainer Tammer.
67253 2010-07-30  Bruno Haible  <bruno@clisp.org>
67255         strndup: Update regarding AIX.
67256         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
67257         AIX 7.
67258         Reported by Rainer Tammer.
67260 2010-07-30  Bruno Haible  <bruno@clisp.org>
67262         stat: Update regarding AIX.
67263         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
67264         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
67265         Reported by Rainer Tammer.
67267 2010-07-30  Bruno Haible  <bruno@clisp.org>
67269         truncl: Fix autoconf test.
67270         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
67271         whether truncl works.
67272         Reported by Rainer Tammer.
67274 2010-07-30  Bruno Haible  <bruno@clisp.org>
67276         round: Update regarding AIX.
67277         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
67278         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
67279         Reported by Rainer Tammer.
67281 2010-07-30  Bruno Haible  <bruno@clisp.org>
67283         rename: Update regarding AIX.
67284         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
67285         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
67286         Reported by Rainer Tammer.
67288 2010-07-30  Bruno Haible  <bruno@clisp.org>
67290         printf.m4: Update regarding AIX.
67291         * m4/printf.m4: Update comments regarding AIX.
67292         Reported by Rainer Tammer.
67294 2010-07-30  Bruno Haible  <bruno@clisp.org>
67296         iconv: Update regarding AIX.
67297         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
67298         AIX 7.
67299         Reported by Rainer Tammer.
67301 2010-07-30  Bruno Haible  <bruno@clisp.org>
67303         getopt: Update regarding AIX.
67304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
67305         no on AIX.
67306         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
67307         Reported by Rainer Tammer.
67309 2010-07-30  Bruno Haible  <bruno@clisp.org>
67311         ldexpl; Update regarding AIX.
67312         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
67313         on AIX 7.
67314         Reported by Rainer Tammer.
67316 2010-07-30  Bruno Haible  <bruno@clisp.org>
67318         frexpl: Update regarding AIX.
67319         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
67320         on AIX 7.
67321         Reported by Rainer Tammer.
67323 2010-07-30  Bruno Haible  <bruno@clisp.org>
67325         open, fopen: Update regarding AIX.
67326         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
67327         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
67328         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
67329         * doc/posix-functions/fopen.texi: Likewise.
67330         Reported by Rainer Tammer.
67332 2010-07-30  Bruno Haible  <bruno@clisp.org>
67334         chown: Update doc regarding AIX.
67335         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
67336         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
67337         Reported by Rainer Tammer.
67339 2010-07-30  Eric Blake  <eblake@redhat.com>
67341         strtod: fix bug in replacement function on AIX
67342         * lib/strtod.c (strtod): Special case broken "0x" parse in
67343         underlying strtod.
67344         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
67345         * doc/posix-functions/strtod.texi (strtod): Likewise.
67346         Reported by Rainer Tammer.
67348 2010-07-30  Bruno Haible  <bruno@clisp.org>
67350         mbrlen: Fix cross-compilation guess for AIX.
67351         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
67352         guess. Leftover from 2008-12-22.
67354 2010-07-30  Bruno Haible  <bruno@clisp.org>
67356         mbrtowc: Fix cross-compilation guess for AIX.
67357         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
67358         guess. Leftover from 2008-12-21.
67360 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
67362         init.sh: work around trap limitation of some shells
67363         * tests/init.sh (setup_): Move exit trap outside of shell function.
67365 2010-07-29  Eric Blake  <eblake@redhat.com>
67367         strtod: aid debugging
67368         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
67369         understanding why strtod is rejected.
67371 2010-07-28  Bruno Haible  <bruno@clisp.org>
67373         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
67374         * lib/unistr/u8-chr.c: Include <string.h>.
67375         * tests/unistr/test-u8-chr.c: Likewise.
67376         * tests/unistr/test-u16-chr.c: Likewise.
67377         * tests/unistr/test-u32-chr.c: Likewise.
67378         * tests/unistr/test-u8-strchr.c: Likewise.
67379         * tests/unistr/test-u16-strchr.c: Likewise.
67380         * tests/unistr/test-u32-strchr.c: Likewise.
67381         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
67382         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
67383         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
67384         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
67386 2010-07-28  Bruno Haible  <bruno@clisp.org>
67388         Use spaces for indentation, not tabs.
67389         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
67391 2010-07-27  Bruno Haible  <bruno@clisp.org>
67393         mbspcasecmp: Fix function specification.
67394         * lib/string.in.h (mbspcasecmp): Fix specification comment.
67395         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
67396         Reported by Eric Blake <eblake@redhat.com>.
67398 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
67400         timespec: use cast and not conditional, as truncation isn't possible
67401         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
67402         instead of a conditional.  Comment about the situation in more detail.
67403         This undoes most of the 2009-10-29 patch.
67405 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
67407         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
67408         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
67409         * lib/unistr/u8-strchr.c: Likewise.
67410         * modules/unistr/u8-chr: Depend on memchr.
67412         unistr/u*-strchr: add tests
67413         * modules/unistr/u8-strchr-tests: New file.
67414         * modules/unistr/u16-strchr-tests: New file.
67415         * modules/unistr/u32-strchr-tests: New file.
67416         * tests/unistr/test-strchr.h: New file.
67417         * tests/unistr/test-u8-strchr.c: New file.
67418         * tests/unistr/test-u16-strchr.c: New file.
67419         * tests/unistr/test-u32-strchr.c: New file.
67421         unistr/u*-chr: test multibyte sequences more
67422         * tests/unistr/test-chr.h: Do complete testing of the characters in the
67423         test vector.
67424         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
67425         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
67426         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
67428         unistr/u*-chr: test multibyte sequences
67429         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
67431         unistr/u*-chr: prepare for multibyte tests
67432         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
67433         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
67434         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
67435         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
67436         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
67437         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
67439 2010-07-18  Bruno Haible  <bruno@clisp.org>
67441         unistr/u8-strchr: Optimize non-ASCII argument case.
67442         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
67443         because the first byte often matches anyway.
67444         Reported by Pádraig Brady <P@draigbrady.com>.
67446 2010-07-15  Karl Berry  <karl@gnu.org>
67448         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
67450 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
67452         getcwd: on Solaris, work better if ancestors are inaccessible
67453         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
67454         buffer and size, try again with a large buffer.  This works better
67455         on Solaris, since its getcwd succeeds even if the path to the root
67456         is inaccessible, and this is helpful in common cases such as .zfs
67457         hidden directories.  Problem reported by J Chapman Flack in
67458         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
67459         Use system getcwd if it's declared, not merely if it's partly
67460         working; use the partly-working test only to avoid needless effort
67461         if the system getcwd fails.
67462         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
67463         comment that was already obsolete and is now even more obsolete.
67464         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
67465         now might call strdup.
67467 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
67469         pthread: Add enough so that coreutils/src/sort.c compiles.
67470         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
67471         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
67472         gnulib. Include <sched.h> and <time.h>, as per POSIX.
67473         Include <sys/types.h>, in case it defines pthread_t.
67474         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
67475         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
67476         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
67477         (pthread_rwlockattr_t, pthread_spinlock_t):
67478         New typedefs, if HAVE_PTHREAD_T is not defined.
67479         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
67480         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
67481         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
67482         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
67483         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
67484         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
67485         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
67486         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
67487         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
67488         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
67489         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
67490         New macros.
67491         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
67492         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
67493         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
67494         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
67495         (pthread_spin_unlock): New dummy functions.
67496         (pthread_create): Return EAGAIN; don't set errno.
67497         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
67498         require AC_C_INLINE.
67499         * modules/pthread (Depends-on): Add sched, time.
67500         (pthread.h): Use AM_V_GEN.
67502 2010-07-13  Bruno Haible  <bruno@clisp.org>
67504         striconveh: Don't malloc memory if the result buffer is sufficient.
67505         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
67506         buffer if its size is sufficient.
67507         Reported by Ludovic Courtès <ludo@gnu.org>.
67509 2010-07-13  Bruno Haible  <bruno@clisp.org>
67511         strtod: Add safety check.
67512         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
67514 2010-07-12  Bruno Haible  <bruno@clisp.org>
67516         Unify tests that set gl_cv_func_ldexpl_no_libm.
67517         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
67518         gl_FUNC_LDEXPL.
67519         (gl_FUNC_LDEXPL): Invoke it.
67520         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67522 2010-07-12  Bruno Haible  <bruno@clisp.org>
67524         Unify tests that set gl_cv_func_ldexp_no_libm.
67525         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
67526         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
67527         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
67528         (configure.ac): Simply invoke gl_FUNC_LDEXP.
67529         * modules/strtod (Files): Add m4/ldexp.m4.
67531 2010-07-12  Bruno Haible  <bruno@clisp.org>
67533         Unify tests that set gl_cv_func_frexpl_no_libm.
67534         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
67535         gl_FUNC_FREXPL_NO_LIBM.
67536         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
67537         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67539 2010-07-12  Bruno Haible  <bruno@clisp.org>
67541         Unify tests that set gl_cv_func_frexp_no_libm.
67542         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
67543         gl_FUNC_FREXP_NO_LIBM.
67544         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
67545         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
67547 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67549         memcoll: clarify sizes versus lengths, document better, and tweak perf
67550         * lib/memcoll.c (strcoll_loop, memcoll0):
67551         Improve quality of descriptive comments.  Name variables
67552         consistently as to whether they are lengths (which do not include
67553         terminating null) versus sizes (which do).
67554         * lib/xmemcoll.c (xmemcoll0): Likewise.
67555         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
67556         returned when s1size == 0; this is easier to compile and saves
67557         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
67559 2010-07-12  Bruno Haible  <bruno@clisp.org>
67561         Tests for module '_Exit'.
67562         * modules/_Exit-tests: New file.
67563         * tests/test-_Exit.sh: New file.
67564         * tests/test-_Exit.c: New file.
67566         New module '_Exit'.
67567         * lib/stdlib.in.h (__attribute__): New macro.
67568         (_Exit): New declaration.
67569         * lib/_Exit.c: New file.
67570         * m4/_Exit.m4: New file.
67571         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
67572         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
67573         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
67574         * modules/_Exit: New file.
67575         * tests/test-stdlib-c++.cc (_Exit): Check signature.
67576         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
67578 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67580         strtod: make it more-accurate typically, and don't require libm
67581         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
67582         Include limits.h.  Don't include string.h.
67583         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
67584         (locale_isspace): New function, so that no casts are needed to
67585         check whether *s is a space.
67586         (ldexp): Provide an unused dummy if not available.
67587         (scale_radix_exp, parse_number, underlying_strtod): New functions.
67588         (strtod): Use them.  This implementation prefers to use the
67589         underlying strtod if available, falling back on our own code
67590         only to fix known bugs.  This is more likely to produce an
67591         accurate result.  Also, it avoids the use of libm functions.
67592         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
67593         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
67594         was absent, but it caused a test failure with coreutils.
67595         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
67596         with libm.
67597         * modules/strtod (Makefile.am, Link): libm is no longer needed.
67598         * modules/strtod-tests (Makefile.am): Likewise.
67600 2010-07-11  Pádraig Brady  <P@draigBrady.com>
67601             Bruno Haible  <bruno@clisp.org>
67603         unistr/u8-strchr: Optimize ASCII argument case.
67604         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
67606 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67608         (x)memcoll: minor tweaks
67609         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
67610         is after the type that it qualifies.
67611         (memcoll0): Likewise.
67612         * lib/memcoll.h (memcoll0): Likewise.
67613         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
67614         * lib/xmemcoll.h (xmemcoll0): Likewise.
67615         * lib/memcoll.c (memcoll0): Correct the comment.  This function
67616         differs from memcoll in that the NUL byte is part of the argument.
67617         Omit the abort-checks, as performance is a real issue here.  Plus,
67618         the checks were wrong anyway (an off-by-one error).  Omit local
67619         variable 'diff', as it's a bit clearer that way.
67620         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
67621         no longer needed.
67623 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
67625         (x)memcoll: speedup when input is known to be NUL delimited
67626         * lib/memcoll.c: Include stdlib.
67627         (memcoll0): New function.
67628         (strcoll_loop): New function, refactored for use in both memcoll
67629         and memcoll0.
67630         * lib/memcoll.h (memcoll0): Add prototype.
67631         * lib/xmemcoll.c (xmemcoll0): New function.
67632         (collate_error): New function, refactored for use in both xmemcoll
67633         and xmemcoll0.
67634         * lib/xmemcoll.h (xmemcoll0): Add prototype.
67635         * m4/memcoll.m4: add inline invocation.
67637 2010-07-06  Pádraig Brady  <P@draigBrady.com>
67639         * build-aux/bootstrap: Remove any local translations
67640         from the translation project synchronization directory,
67641         so that local only translations are not distributed.
67643 2010-07-04  Bruno Haible  <bruno@clisp.org>
67645         fsusage: Clarify which code applies to which platforms.
67646         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
67647         platform.
67648         * lib/fsusage.c (get_fs_usage): Likewise.
67650 2010-07-04  Bruno Haible  <bruno@clisp.org>
67652         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
67653         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
67654         Reported by Martin Lambers <marlam@marlam.de>.
67656 2010-07-04  Jim Meyering  <meyering@redhat.com>
67658         hash: once again explicitly disallow insertion of NULL
67659         * lib/hash.c (hash_insert0): Reinstate just-removed test:
67660         inserting a NULL pointer cannot work with these functions.
67661         Add a comment with details.
67662         This reverts part of the 2010-07-01 commit, 5bef1a35
67663         "hash: extend module to deal with non-pointer keys".
67665 2010-07-01  Bruno Haible  <bruno@clisp.org>
67667         stdbool: Update doc.
67668         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
67669         Info from Christian Weisgerber <naddy@mips.inka.de>.
67671 2010-07-01  Jim Meyering  <meyering@redhat.com>
67673         hash: extend module to deal with non-pointer keys
67674         * lib/hash.c (hash_insert0): New interface, much like hash_insert
67675         but that allows insertion of non-pointer entries.
67676         Do not disallow an ENTRY value of NULL.
67677         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
67678         * lib/hash.h (hash_insert0): Declare.
67680 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
67682         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
67683         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
67684         not present (i.e. with autoconf 2.59 and when using gettextize, not
67685         gnulib), require AC_GNU_SOURCE instead.
67687 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
67689         idpriv-drop: Fix tests.
67690         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
67691         not to the test-idpriv-droptemp program.
67693 2010-06-29  Bruno Haible  <bruno@clisp.org>
67695         string: Fix syntax error with g++ 2.96.
67696         * lib/string.in.h (__pure__): Remove definition.
67697         (_GL_ATTRIBUTE_PURE): New macro.
67698         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
67699         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
67700         Reported by Christian Weisgerber <naddy@mips.inka.de>.
67702 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
67704         unitypes: Fix bug introduced on 2010-05-18.
67705         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
67707 2010-06-22  Eric Blake  <eblake@redhat.com>
67709         memmem: slight optimization
67710         * lib/str-two-way.h (critical_factorization): Update comments.
67711         Reduce work during factorization phase.
67712         Reported by Carlos Bueno <carlos@bueno.org>.
67714 2010-06-21  Bruno Haible  <bruno@clisp.org>
67716         Fix HAVE_CALLOC_POSIX misnomer.
67717         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
67718         !HAVE_CALLOC_POSIX.
67719         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
67720         HAVE_CALLOC_POSIX.
67721         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
67722         instead of HAVE_CALLOC_POSIX.
67723         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
67724         HAVE_CALLOC_POSIX.
67726         Use modern idiom for calloc() replacement.
67727         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
67728         AC_FUNC_CALLOC.
67729         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
67730         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
67731         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67732         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
67733         (gl_REPLACE_CALLOC): New macro.
67735 2010-06-21  Bruno Haible  <bruno@clisp.org>
67737         Fix HAVE_REALLOC_POSIX misnomer.
67738         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
67739         !HAVE_REALLOC_POSIX.
67740         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
67741         HAVE_REALLOC_POSIX.
67742         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
67743         instead of HAVE_REALLOC_POSIX.
67744         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
67745         HAVE_REALLOC_POSIX.
67747         Use modern idiom for realloc() replacement.
67748         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
67749         AC_FUNC_REALLOC.
67750         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
67751         Autoconf's AC_FUNC_REALLOC.
67752         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67753         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
67754         (gl_REPLACE_REALLOC): New macro.
67755         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67757 2010-06-21  Bruno Haible  <bruno@clisp.org>
67759         Fix HAVE_MALLOC_POSIX misnomer.
67760         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
67761         !HAVE_MALLOC_POSIX.
67762         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
67763         HAVE_MALLOC_POSIX.
67764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
67765         instead of HAVE_MALLOC_POSIX.
67766         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
67767         HAVE_MALLOC_POSIX.
67769         Use modern idiom for malloc() replacement.
67770         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
67771         AC_FUNC_MALLOC.
67772         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
67773         Autoconf's AC_FUNC_MALLOC.
67774         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67775         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
67776         (gl_REPLACE_MALLOC): New macro.
67777         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67779 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
67781         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
67782         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
67783         This macro takes 3 arguments, not 4.
67785 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
67787         ipv6: fix detection under mingw
67788         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
67789         in6_addr.
67791 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
67793         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
67794         that strtod() works when cross-compiling to a glibc version known
67795         to work.
67797 2010-06-15  Bruno Haible  <bruno@clisp.org>
67799         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
67801 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
67803         select: Correct timeout.
67804         * lib/select.c (rpl_select): Compute wait_timeout correctly.
67806 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67808         git-version-gen: init shell var to avoid env var influence
67809         * build-aux/git-version-gen (v): Init shell var to empty.
67811 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
67813         priv-set: Don't assume that priv.h exists merely because getppriv does.
67814         See Jan Andersen's bug report about AIX 5L in
67815         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
67816         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
67817         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
67818         * lib/priv-set.h: Likewise.
67819         * tests/test-priv-set.c: Likewise.
67821 2010-06-13  Bruno Haible  <bruno@clisp.org>
67823         relocatable: Make it easier to test whether to install wrappers.
67824         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
67825         RELOCATABLE_VIA_WRAPPER.
67827 2010-06-13  Bruno Haible  <bruno@clisp.org>
67829         gnulib-tool: Display specified modules and dependencies differently.
67830         * gnulib-tool (func_show_module_list): New function.
67831         (func_import, func_create_testdir): Invoke it.
67832         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
67834 2010-06-13  Bruno Haible  <bruno@clisp.org>
67836         gnulib-tool: Align code of func_import and func_create_testdir.
67837         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
67838         specified_modules.
67840 2010-06-12  Jim Meyering  <meyering@redhat.com>
67842         test-inttostr: avoid spurious failure on Solaris 9
67843         * tests/test-inttostr.c (main): Skip the test when snprintf fails
67844         to accept "%ju".  Reported by Bruno Haible.
67846 2010-06-11  Jim Meyering  <meyering@redhat.com>
67848         test-sys_socket: mark variables as used more readably
67849         * tests/test-sys_socket.c (main): Mark otherwise unused variables
67850         as "used" explicitly via (void) statement casts.  This is more
67851         readable than using them in an artificial return expression.
67852         Suggestion from Bruno Haible.
67854 2010-06-11  Bruno Haible  <bruno@clisp.org>
67856         Avoid some more warnings from "gcc -Wwrite-strings".
67857         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
67858         to 'const char *'.
67859         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
67860         * tests/test-c-strcasestr.c (main): Likewise.
67861         * tests/test-mbscasestr1.c (main): Likewise.
67862         * tests/test-mbscasestr2.c (main): Likewise.
67863         * tests/test-memmem.c (main): Likewise.
67864         * tests/test-strstr.c (main): Likewise.
67865         * tests/test-strcasestr.c (main): Likewise.
67867 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67869         init.sh: change framework_failure_ to fail with status 99, not 1
67870         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
67871         automake's parallel-tests rule that this is an unexpected failure,
67872         even if the test is listed in XFAIL_TESTS.
67874 2010-06-11  Jim Meyering  <meyering@redhat.com>
67876         test-inttostr: avoid warnings about 4-6KB literal strings
67877         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
67878         Include "macros.h", for its definition of ASSERT.
67879         (CK): s/assert/ASSERT/
67880         * modules/inttostr-tests (Files): Add macros.h.
67882         init.sh: don't use $ME_ or skip_ before they are defined
67883         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
67884         their first uses.  Also hoist their companions: warn_, fail_,
67885         framework_failure_, $stderr_fileno.  Prompted by a patch from
67886         Stefano Lattarini.
67888         test-sys_socket: avoid set-but-not-used warnings from gcc
67889         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
67890         avoid warning about set-but-not-used variables.
67892         test-xvasprintf: avoid 'const' discard warnings
67893         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
67894         "const" when assigning from literal strings.
67895         (test_xasprintf): Add "void" in function argument list to placate
67896         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
67898         tests: avoid compilation warnings in argmatch and exclude tests...
67899         in packages that define ARGMATCH_DIE_DECL, like coreutils.
67900         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
67901         Since it always exits, declare with the "noreturn" attribute.
67902         * tests/test-argmatch.c: Likewise.
67904         tests: avoid 'const' discard warnings in mbsstr tests
67905         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
67906         * tests/test-mbsstr2.c (main): Likewise.
67908         test-verify: avoid warning from gcc's -Wmissing-declarations
67909         * tests/test-verify.c (function): Declare to be static.
67911         test-inttostr.c: include <string.h> for use of strcmp
67912         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
67914         test-linkat: avoid failed assertion on "other" architectures
67915         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
67916         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
67917         sparc: https://bugs.launchpad.net/bugs/591968
67919 2010-06-11  Jim Meyering  <meyering@redhat.com>
67921         printf.m4: avoid autoconf's "Expanded Before Required" warning
67922         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
67923         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
67924         autoconf warning.
67926 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
67928         Replacement header templates are now named with ".in", not "_".
67929         * doc/gnulib-intro.texi: Correct.
67931 2010-06-10  Jim Meyering  <meyering@redhat.com>
67933         inttostr-tests: depend on snprintf, not snprintf-posix
67934         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
67935         snprintf-posix, to avoid this aclocal failure:
67936           missing file gnulib-tests/vasnprintf.c
67937           configure.ac:45: error: expected source file, required through \
67938           AC_LIBSOURCES, not found
67940 2010-06-10  Jim Meyering  <meyering@redhat.com>
67942         inttostr: add a new function, inttostr, and tests
67943         The namesake function was not available.  The existence of the
67944         template file, inttostr.c makes its addition nontrivial.
67945         * lib/anytostr.c: Rename from inttostr.c.
67946         (anytostr): Rename from inttostr.
67947         * lib/inttostr.c: New file.
67948         * modules/inttostr (Files): Add anytostr.c.
67949         (Makefile.am): Set lib_SOURCES instead of ...
67950         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
67951         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
67952         * lib/offtostr.c: Likewise.
67953         * lib/uinttostr.c: Likewise.
67954         * lib/umaxtostr.c: Likewise.
67955         * modules/inttostr-tests: New file.
67956         * tests/test-inttostr.c: New file.  Test these functions.
67958 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
67959             Bruno Haible  <bruno@clisp.org>
67961         Add "Extending Gnulib" chapter to manual.
67962         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
67963         chapter.
67964         (Extending Gnulib): New chapter.
67965         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
67966         chapter.
67968 2010-06-09  Bruno Haible  <bruno@clisp.org>
67970         Avoid relocwrapper link errors due to gnulib replacement functions.
67971         * lib/areadlink.c: Use the system's malloc, realloc functions.
67972         (areadlink): Set errno to ENOMEM explicitly.
67973         * modules/areadlink (Depends-on): Remove malloc-posix.
67974         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67976 2010-06-09  Bruno Haible  <bruno@clisp.org>
67978         Avoid relocwrapper link errors due to gnulib replacement functions.
67979         * lib/canonicalize-lgpl.c: Use the system's malloc function.
67980         * lib/malloca.c: Likewise.
67981         * lib/relocatable.c: Likewise.
67982         * lib/progreloc.c: Use the system's malloc, sprintf functions.
67983         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
67984         * lib/setenv.c: Use the system's malloc, realloc functions.
67985         * lib/strerror.c: Use the system's sprintf function.
67986         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67988 2010-06-04  Bruno Haible  <bruno@clisp.org>
67990         Prefer documented low-level autoconf macro names.
67991         * m4/lib-link.m4: Use m4_translit instead of translit.
67992         * m4/environ.m4: Likewise.
67993         * m4/mathfunc.m4: Likewise.
67994         * m4/onceonly.m4: Likewise.
67995         * m4/stdint.m4: Likewise.
67996         Suggested by Eric Blake.
67998 2010-06-04  Martin Lambers  <marlam@marlam.de>
67999             Bruno Haible  <bruno@clisp.org>
68001         havelib: Allow library names with '+' characters.
68002         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68003         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
68005 2010-06-09  Bruno Haible  <bruno@clisp.org>
68007         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
68008         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
68009         realloc failed.
68011 2010-06-08  Peter Simons  <simons@cryp.to>
68013         maint.mk: make the news-check rule more configurable
68014         * top/maint.mk (news-check-lines-spec): New variable.
68015         (news-check): Use "sed -n 1,10p" in place of "head".
68017 2010-06-07  Jim Meyering  <meyering@redhat.com>
68019         do-release-commit-and-tag: fix typo in --help
68020         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
68022         regex: avoid new dead-code warning with gcc-4.6.0
68023         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
68024         if-block containing a while-loop.  It's been unused for at least
68025         5 years.
68027 2010-06-05  Bruno Haible  <bruno@clisp.org>
68029         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
68030         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
68032 2010-06-04  Bruno Haible  <bruno@clisp.org>
68034         Update to GNU gettext 0.18.1.
68035         * modules/gettext (configure.ac): Require gettext infrastructure from
68036         version 0.18.1.
68038 2010-06-03  Bruno Haible  <bruno@clisp.org>
68040         Don't use AC_LIBOBJ with file names in subdirectories.
68041         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
68042         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
68043         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
68044         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
68045         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
68046         gl_LIBUNISTRING_LIBSOURCE.
68047         (Makefile.am): Augment lib_SOURCES here, conditionally.
68048         * NEWS: Drop requirement for Automake option 'subdir-objects'.
68050 2010-06-03  Bruno Haible  <bruno@clisp.org>
68052         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
68053         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
68054         expansion does not end with a newline.
68055         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
68056         unnecessary newline.
68058 2010-06-03  Bruno Haible  <bruno@clisp.org>
68060         Reduce dependencies.
68061         * tests/test-quotearg.h: New file, extracted from
68062         tests/test-quotearg.c.
68063         * tests/test-quotearg-simple.c: New file, extracted from
68064         tests/test-quotearg.c.
68065         * tests/test-quotearg.c: Don't include <ctype.h>.
68066         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
68067         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
68068         use_quote_double_quotes, use_quotearg_colon): Moved to
68069         tests/test-quotearg.h.
68070         (results_g, flag_results, custom_quotes, custom_results): Moved
68071         to tests/test-quotearg-simple.c.
68072         (main): Moved the part that does not depend on gettext to
68073         tests/test-quotearg-simple.c. Return 77 if the test cannot be
68074         performed.
68075         * modules/quotearg-simple: New file.
68076         * modules/quotearg-simple-tests: New file.
68077         * modules/quotearg (Depends-on): Add quotearg-simple.
68078         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
68079         (Files): Add tests/test-quotearg.h.
68080         Reported by Paolo Bonzini.
68082 2010-06-03  Bruno Haible  <bruno@clisp.org>
68084         Reduce dependencies.
68085         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
68087 2010-06-03  Bruno Haible  <bruno@clisp.org>
68089         time: Undefine more broken macros.
68090         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
68091         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
68092         Reported by Eric Blake.
68094 2010-06-03  Bruno Haible  <bruno@clisp.org>
68096         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
68097         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
68098         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
68099         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
68100         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
68101         Reported by Ludovic Courtès <ludo@gnu.org>.
68103 2010-06-02  Eric Blake  <eblake@redhat.com>
68105         time: work with mingw + pthreads-win32 library
68106         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
68107         if timespec is defined only in pthread.h.
68108         * modules/time (Makefile.am): Substitute it.
68109         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
68110         <pthread.h>, when needed.
68111         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
68112         from the library.
68114 2010-05-31  Bruno Haible  <bruno@clisp.org>
68116         Avoid expanding two macros in the wrong order.
68117         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
68118         gl_LIBUNISTRING if it is defined.
68119         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
68120         autoconf >= 2.64.
68121         Reported by Ludovic Courtès <ludo@gnu.org>.
68123 2010-05-27  Jim Meyering  <meyering@redhat.com>
68125         maint.mk: also prohibit "#undef" of always-defined symbols
68126         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
68127         Allow more than one space before the symbol name.
68128         (sc_prohibit_always-defined_macros): Use grep's -E, now that
68129         the regexp uses alternation.
68131 2010-05-26  Eric Blake  <eblake@redhat.com>
68133         maint.mk: avoid echo -e
68134         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
68135         Convert all uses of echo -* to printf.
68136         Reported by Matthias Bolte.
68138 2010-05-25  Bruno Haible  <bruno@clisp.org>
68140         Update to GNU gettext 0.18, part 2.
68141         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
68142         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
68144 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68146         Add missing include in test-pwrite.c.
68147         * tests/test-pwrite.c: Include string.h, for strcmp.
68149 2010-05-24  Bruno Haible  <bruno@clisp.org>
68151         * NEWS: Mention requirement for Automake option 'subdir-objects'.
68153 2010-05-24  Bruno Haible  <bruno@clisp.org>
68155         Don't use conversion with transliteration in u{8,16,32}_strcoll.
68156         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
68157         iconveh_error argument.
68158         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
68159         U_STRCONV_TO_LOCALE.
68160         * lib/unistr/u16-strcoll.c: Likewise.
68161         * lib/unistr/u32-strcoll.c: Likewise.
68162         * modules/unistr/u8-strcoll (Depends-on): Add
68163         uniconv/u8-strconv-to-enc, localcharset. Remove
68164         uniconv/u8-strconv-to-locale.
68165         (configure.ac): Bump version number.
68166         * modules/unistr/u16-strcoll (Depends-on): Add
68167         uniconv/u16-strconv-to-enc, localcharset. Remove
68168         uniconv/u16-strconv-to-locale.
68169         (configure.ac): Bump version number.
68170         * modules/unistr/u32-strcoll (Depends-on): Add
68171         uniconv/u32-strconv-to-enc, localcharset. Remove
68172         uniconv/u32-strconv-to-locale.
68173         (configure.ac): Bump version number.
68175 2010-05-24  Bruno Haible  <bruno@clisp.org>
68177         Avoid a test failure on NetBSD 5.0.
68178         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
68179         an iconv() bug.
68181 2010-05-24  Bruno Haible  <bruno@clisp.org>
68183         Adjust #include directive style.
68184         * modules/regex (Includes): Recommend to write <regex.h>.
68186 2010-05-24  Bruno Haible  <bruno@clisp.org>
68188         regex: Don't require alloca.
68189         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
68190         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
68191         only inside if (0).
68193 2010-05-23  Jim Meyering  <meyering@redhat.com>
68195         test-renameat.c: include <sys/stat.h>
68196         * tests/test-renameat.c: Include <sys/stat.h>; required for
68197         definition of S_IS* macros.
68199 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
68201         Update maintainer documentation for 'relocatable-prog' module.
68202         * doc/relocatable-maint.texi: Update.
68203         Comments by Bruno Haible.
68205 2010-05-23  Bruno Haible  <bruno@clisp.org>
68207         git-merge-changelog: Enable --split-merged-entry by default.
68208         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
68209         (usage): Don't mention this option any more.
68210         Reported by Ralf Wildenhues.
68212 2010-05-23  Jim Meyering  <meyering@redhat.com>
68214         test-pwrite: do not leave behind a test file named "out"
68215         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
68216         The trivial-looking use of init.sh is really necessary.
68217         It ensures that the temporary file, "out", is created in
68218         a temporary directory, and removed upon termination.
68219         * tests/test-pwrite.sh: Re-add file.
68220         * modules/pwrite-tests: Reference it.
68222 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68224         Fix output redirection buglet in init.sh.
68225         * tests/init.sh: Fix redirection of stderr.
68227 2010-05-20  Simon Josefsson  <simon@josefsson.org>
68229         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
68231 2010-05-17  Simon Josefsson  <simon@josefsson.org>
68233         * modules/valgrind-tests: New file.
68234         * m4/valgrind-tests.m4: New file.
68235         * doc/valgrind-tests.texi: New file.
68236         * doc/gnulib.texi (Running self-tests under valgrind): New
68237         section.
68239 2010-05-19  Bruno Haible  <bruno@clisp.org>
68241         Clean up dead code in recent commit.
68242         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
68243         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
68244         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
68245         Suggested by Paolo Bonzini.
68247 2010-05-19  Bruno Haible  <bruno@clisp.org>
68249         Avoid valgrind error reports from libunistring.
68250         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
68251         * modules/libunistring (Files): Add it.
68252         * modules/libunistring-optional (Files): Likewise.
68254 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
68255             Bruno Haible  <bruno@clisp.org>
68257         New module 'libunistring-optional'.
68258         * modules/libunistring-optional: New file.
68259         * m4/libunistring-base.m4: New file.
68260         * m4/libunistring-optional.m4: New file.
68261         * lib/unicase.in.h: Renamed from lib/unicase.h.
68262         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
68263         * lib/unictype.in.h: Renamed from lib/unictype.h.
68264         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
68265         * lib/uniname.in.h: Renamed from lib/uniname.h.
68266         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
68267         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
68268         * lib/unistr.in.h: Renamed from lib/unistr.h.
68269         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
68270         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
68271         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
68272         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
68273         gl_LIBUNISTRING. If the library was found, determine the installed
68274         version and set LIBUNISTRING_VERSION.
68275         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
68276         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
68277         handle a configuration option --with-included-libunistring.
68278         * modules/libunistring (Files): Add m4/absolute-header.m4.
68279         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
68280         Add m4/libunistring-base.m4.
68281         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68282         (Makefile.am): Build unicase.h from unicase.in.h.
68283         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
68284         Add m4/libunistring-base.m4.
68285         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68286         (Makefile.am): Build uniconv.h from uniconv.in.h.
68287         * modules/unictype/base (Files): Use unictype.in.h instead of
68288         unictype.h. Add m4/libunistring-base.m4.
68289         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68290         (Makefile.am): Build unictype.h from unictype.in.h.
68291         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
68292         Add m4/libunistring-base.m4.
68293         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68294         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
68295         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
68296         Add m4/libunistring-base.m4.
68297         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68298         (Makefile.am): Build uniname.h from uniname.in.h.
68299         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
68300         Add m4/libunistring-base.m4.
68301         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68302         (Makefile.am): Build uninorm.h from uninorm.in.h.
68303         * modules/unistdio/base (Files): Use unistdio.in.h instead of
68304         unistdio.h. Add m4/libunistring-base.m4.
68305         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68306         (Makefile.am): Build unistdio.h from unistdio.in.h.
68307         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
68308         Add m4/libunistring-base.m4.
68309         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68310         (Makefile.am): Build unistr.h from unistr.in.h.
68311         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
68312         Add m4/libunistring-base.m4.
68313         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68314         (Makefile.am): Build unitypes.h from unitypes.in.h.
68315         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
68316         Add m4/libunistring-base.m4.
68317         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68318         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
68319         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
68320         uniwidth.h. Add m4/libunistring-base.m4.
68321         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68322         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
68323         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
68324         instead of augmenting lib_SOURCES.
68325         * modules/unicase/empty-suffix-context: Likewise.
68326         * modules/unicase/locale-language: Likewise.
68327         * modules/unicase/tolower: Likewise.
68328         * modules/unicase/totitle: Likewise.
68329         * modules/unicase/toupper: Likewise.
68330         * modules/unicase/u8-casecmp: Likewise.
68331         * modules/unicase/u8-casecoll: Likewise.
68332         * modules/unicase/u8-casefold: Likewise.
68333         * modules/unicase/u8-casexfrm: Likewise.
68334         * modules/unicase/u8-ct-casefold: Likewise.
68335         * modules/unicase/u8-ct-tolower: Likewise.
68336         * modules/unicase/u8-ct-totitle: Likewise.
68337         * modules/unicase/u8-ct-toupper: Likewise.
68338         * modules/unicase/u8-is-cased: Likewise.
68339         * modules/unicase/u8-is-casefolded: Likewise.
68340         * modules/unicase/u8-is-lowercase: Likewise.
68341         * modules/unicase/u8-is-titlecase: Likewise.
68342         * modules/unicase/u8-is-uppercase: Likewise.
68343         * modules/unicase/u8-prefix-context: Likewise.
68344         * modules/unicase/u8-suffix-context: Likewise.
68345         * modules/unicase/u8-tolower: Likewise.
68346         * modules/unicase/u8-totitle: Likewise.
68347         * modules/unicase/u8-toupper: Likewise.
68348         * modules/unicase/u16-casecmp: Likewise.
68349         * modules/unicase/u16-casecoll: Likewise.
68350         * modules/unicase/u16-casefold: Likewise.
68351         * modules/unicase/u16-casexfrm: Likewise.
68352         * modules/unicase/u16-ct-casefold: Likewise.
68353         * modules/unicase/u16-ct-tolower: Likewise.
68354         * modules/unicase/u16-ct-totitle: Likewise.
68355         * modules/unicase/u16-ct-toupper: Likewise.
68356         * modules/unicase/u16-is-cased: Likewise.
68357         * modules/unicase/u16-is-casefolded: Likewise.
68358         * modules/unicase/u16-is-lowercase: Likewise.
68359         * modules/unicase/u16-is-titlecase: Likewise.
68360         * modules/unicase/u16-is-uppercase: Likewise.
68361         * modules/unicase/u16-prefix-context: Likewise.
68362         * modules/unicase/u16-suffix-context: Likewise.
68363         * modules/unicase/u16-tolower: Likewise.
68364         * modules/unicase/u16-totitle: Likewise.
68365         * modules/unicase/u16-toupper: Likewise.
68366         * modules/unicase/u32-casecmp: Likewise.
68367         * modules/unicase/u32-casecoll: Likewise.
68368         * modules/unicase/u32-casefold: Likewise.
68369         * modules/unicase/u32-casexfrm: Likewise.
68370         * modules/unicase/u32-ct-casefold: Likewise.
68371         * modules/unicase/u32-ct-tolower: Likewise.
68372         * modules/unicase/u32-ct-totitle: Likewise.
68373         * modules/unicase/u32-ct-toupper: Likewise.
68374         * modules/unicase/u32-is-cased: Likewise.
68375         * modules/unicase/u32-is-casefolded: Likewise.
68376         * modules/unicase/u32-is-lowercase: Likewise.
68377         * modules/unicase/u32-is-titlecase: Likewise.
68378         * modules/unicase/u32-is-uppercase: Likewise.
68379         * modules/unicase/u32-prefix-context: Likewise.
68380         * modules/unicase/u32-suffix-context: Likewise.
68381         * modules/unicase/u32-tolower: Likewise.
68382         * modules/unicase/u32-totitle: Likewise.
68383         * modules/unicase/u32-toupper: Likewise.
68384         * modules/unicase/ulc-casecmp: Likewise.
68385         * modules/unicase/ulc-casecoll: Likewise.
68386         * modules/unicase/ulc-casexfrm: Likewise.
68387         * modules/uniconv/u8-conv-from-enc: Likewise.
68388         * modules/uniconv/u8-conv-to-enc: Likewise.
68389         * modules/uniconv/u8-strconv-from-enc: Likewise.
68390         * modules/uniconv/u8-strconv-from-locale: Likewise.
68391         * modules/uniconv/u8-strconv-to-enc: Likewise.
68392         * modules/uniconv/u8-strconv-to-locale: Likewise.
68393         * modules/uniconv/u16-conv-from-enc: Likewise.
68394         * modules/uniconv/u16-conv-to-enc: Likewise.
68395         * modules/uniconv/u16-strconv-from-enc: Likewise.
68396         * modules/uniconv/u16-strconv-from-locale: Likewise.
68397         * modules/uniconv/u16-strconv-to-enc: Likewise.
68398         * modules/uniconv/u16-strconv-to-locale: Likewise.
68399         * modules/uniconv/u32-conv-from-enc: Likewise.
68400         * modules/uniconv/u32-conv-to-enc: Likewise.
68401         * modules/uniconv/u32-strconv-from-enc: Likewise.
68402         * modules/uniconv/u32-strconv-from-locale: Likewise.
68403         * modules/uniconv/u32-strconv-to-enc: Likewise.
68404         * modules/uniconv/u32-strconv-to-locale: Likewise.
68405         * modules/unictype/bidicategory-byname: Likewise.
68406         * modules/unictype/bidicategory-name: Likewise.
68407         * modules/unictype/bidicategory-of: Likewise.
68408         * modules/unictype/bidicategory-test: Likewise.
68409         * modules/unictype/block-list: Likewise.
68410         * modules/unictype/block-test: Likewise.
68411         * modules/unictype/category-C: Likewise.
68412         * modules/unictype/category-Cc: Likewise.
68413         * modules/unictype/category-Cf: Likewise.
68414         * modules/unictype/category-Cn: Likewise.
68415         * modules/unictype/category-Co: Likewise.
68416         * modules/unictype/category-Cs: Likewise.
68417         * modules/unictype/category-L: Likewise.
68418         * modules/unictype/category-Ll: Likewise.
68419         * modules/unictype/category-Lm: Likewise.
68420         * modules/unictype/category-Lo: Likewise.
68421         * modules/unictype/category-Lt: Likewise.
68422         * modules/unictype/category-Lu: Likewise.
68423         * modules/unictype/category-M: Likewise.
68424         * modules/unictype/category-Mc: Likewise.
68425         * modules/unictype/category-Me: Likewise.
68426         * modules/unictype/category-Mn: Likewise.
68427         * modules/unictype/category-N: Likewise.
68428         * modules/unictype/category-Nd: Likewise.
68429         * modules/unictype/category-Nl: Likewise.
68430         * modules/unictype/category-No: Likewise.
68431         * modules/unictype/category-P: Likewise.
68432         * modules/unictype/category-Pc: Likewise.
68433         * modules/unictype/category-Pd: Likewise.
68434         * modules/unictype/category-Pe: Likewise.
68435         * modules/unictype/category-Pf: Likewise.
68436         * modules/unictype/category-Pi: Likewise.
68437         * modules/unictype/category-Po: Likewise.
68438         * modules/unictype/category-Ps: Likewise.
68439         * modules/unictype/category-S: Likewise.
68440         * modules/unictype/category-Sc: Likewise.
68441         * modules/unictype/category-Sk: Likewise.
68442         * modules/unictype/category-Sm: Likewise.
68443         * modules/unictype/category-So: Likewise.
68444         * modules/unictype/category-Z: Likewise.
68445         * modules/unictype/category-Zl: Likewise.
68446         * modules/unictype/category-Zp: Likewise.
68447         * modules/unictype/category-Zs: Likewise.
68448         * modules/unictype/category-and: Likewise.
68449         * modules/unictype/category-and-not: Likewise.
68450         * modules/unictype/category-byname: Likewise.
68451         * modules/unictype/category-name: Likewise.
68452         * modules/unictype/category-none: Likewise.
68453         * modules/unictype/category-of: Likewise.
68454         * modules/unictype/category-or: Likewise.
68455         * modules/unictype/category-test: Likewise.
68456         * modules/unictype/combining-class: Likewise.
68457         * modules/unictype/ctype-alnum: Likewise.
68458         * modules/unictype/ctype-alpha: Likewise.
68459         * modules/unictype/ctype-blank: Likewise.
68460         * modules/unictype/ctype-cntrl: Likewise.
68461         * modules/unictype/ctype-digit: Likewise.
68462         * modules/unictype/ctype-graph: Likewise.
68463         * modules/unictype/ctype-lower: Likewise.
68464         * modules/unictype/ctype-print: Likewise.
68465         * modules/unictype/ctype-punct: Likewise.
68466         * modules/unictype/ctype-space: Likewise.
68467         * modules/unictype/ctype-upper: Likewise.
68468         * modules/unictype/ctype-xdigit: Likewise.
68469         * modules/unictype/decimal-digit: Likewise.
68470         * modules/unictype/digit: Likewise.
68471         * modules/unictype/mirror: Likewise.
68472         * modules/unictype/numeric: Likewise.
68473         * modules/unictype/property-alphabetic: Likewise.
68474         * modules/unictype/property-ascii-hex-digit: Likewise.
68475         * modules/unictype/property-bidi-arabic-digit: Likewise.
68476         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
68477         * modules/unictype/property-bidi-block-separator: Likewise.
68478         * modules/unictype/property-bidi-boundary-neutral: Likewise.
68479         * modules/unictype/property-bidi-common-separator: Likewise.
68480         * modules/unictype/property-bidi-control: Likewise.
68481         * modules/unictype/property-bidi-embedding-or-override: Likewise.
68482         * modules/unictype/property-bidi-eur-num-separator: Likewise.
68483         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
68484         * modules/unictype/property-bidi-european-digit: Likewise.
68485         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
68486         * modules/unictype/property-bidi-left-to-right: Likewise.
68487         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
68488         * modules/unictype/property-bidi-other-neutral: Likewise.
68489         * modules/unictype/property-bidi-pdf: Likewise.
68490         * modules/unictype/property-bidi-segment-separator: Likewise.
68491         * modules/unictype/property-bidi-whitespace: Likewise.
68492         * modules/unictype/property-byname: Likewise.
68493         * modules/unictype/property-combining: Likewise.
68494         * modules/unictype/property-composite: Likewise.
68495         * modules/unictype/property-currency-symbol: Likewise.
68496         * modules/unictype/property-dash: Likewise.
68497         * modules/unictype/property-decimal-digit: Likewise.
68498         * modules/unictype/property-default-ignorable-code-point: Likewise.
68499         * modules/unictype/property-deprecated: Likewise.
68500         * modules/unictype/property-diacritic: Likewise.
68501         * modules/unictype/property-extender: Likewise.
68502         * modules/unictype/property-format-control: Likewise.
68503         * modules/unictype/property-grapheme-base: Likewise.
68504         * modules/unictype/property-grapheme-extend: Likewise.
68505         * modules/unictype/property-grapheme-link: Likewise.
68506         * modules/unictype/property-hex-digit: Likewise.
68507         * modules/unictype/property-hyphen: Likewise.
68508         * modules/unictype/property-id-continue: Likewise.
68509         * modules/unictype/property-id-start: Likewise.
68510         * modules/unictype/property-ideographic: Likewise.
68511         * modules/unictype/property-ids-binary-operator: Likewise.
68512         * modules/unictype/property-ids-trinary-operator: Likewise.
68513         * modules/unictype/property-ignorable-control: Likewise.
68514         * modules/unictype/property-iso-control: Likewise.
68515         * modules/unictype/property-join-control: Likewise.
68516         * modules/unictype/property-left-of-pair: Likewise.
68517         * modules/unictype/property-line-separator: Likewise.
68518         * modules/unictype/property-logical-order-exception: Likewise.
68519         * modules/unictype/property-lowercase: Likewise.
68520         * modules/unictype/property-math: Likewise.
68521         * modules/unictype/property-non-break: Likewise.
68522         * modules/unictype/property-not-a-character: Likewise.
68523         * modules/unictype/property-numeric: Likewise.
68524         * modules/unictype/property-other-alphabetic: Likewise.
68525         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
68526         * modules/unictype/property-other-grapheme-extend: Likewise.
68527         * modules/unictype/property-other-id-continue: Likewise.
68528         * modules/unictype/property-other-id-start: Likewise.
68529         * modules/unictype/property-other-lowercase: Likewise.
68530         * modules/unictype/property-other-math: Likewise.
68531         * modules/unictype/property-other-uppercase: Likewise.
68532         * modules/unictype/property-paired-punctuation: Likewise.
68533         * modules/unictype/property-paragraph-separator: Likewise.
68534         * modules/unictype/property-pattern-syntax: Likewise.
68535         * modules/unictype/property-pattern-white-space: Likewise.
68536         * modules/unictype/property-private-use: Likewise.
68537         * modules/unictype/property-punctuation: Likewise.
68538         * modules/unictype/property-quotation-mark: Likewise.
68539         * modules/unictype/property-radical: Likewise.
68540         * modules/unictype/property-sentence-terminal: Likewise.
68541         * modules/unictype/property-soft-dotted: Likewise.
68542         * modules/unictype/property-space: Likewise.
68543         * modules/unictype/property-terminal-punctuation: Likewise.
68544         * modules/unictype/property-test: Likewise.
68545         * modules/unictype/property-titlecase: Likewise.
68546         * modules/unictype/property-unassigned-code-value: Likewise.
68547         * modules/unictype/property-unified-ideograph: Likewise.
68548         * modules/unictype/property-uppercase: Likewise.
68549         * modules/unictype/property-variation-selector: Likewise.
68550         * modules/unictype/property-white-space: Likewise.
68551         * modules/unictype/property-xid-continue: Likewise.
68552         * modules/unictype/property-xid-start: Likewise.
68553         * modules/unictype/property-zero-width: Likewise.
68554         * modules/unictype/scripts: Likewise.
68555         * modules/unictype/syntax-c-ident: Likewise.
68556         * modules/unictype/syntax-c-whitespace: Likewise.
68557         * modules/unictype/syntax-java-ident: Likewise.
68558         * modules/unictype/syntax-java-whitespace: Likewise.
68559         * modules/unilbrk/u8-possible-linebreaks: Likewise.
68560         * modules/unilbrk/u8-width-linebreaks: Likewise.
68561         * modules/unilbrk/u16-possible-linebreaks: Likewise.
68562         * modules/unilbrk/u16-width-linebreaks: Likewise.
68563         * modules/unilbrk/u32-possible-linebreaks: Likewise.
68564         * modules/unilbrk/u32-width-linebreaks: Likewise.
68565         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
68566         * modules/unilbrk/ulc-width-linebreaks: Likewise.
68567         * modules/uniname/uniname: Likewise.
68568         * modules/uninorm/canonical-decomposition: Likewise.
68569         * modules/uninorm/composition: Likewise.
68570         * modules/uninorm/decomposing-form: Likewise.
68571         * modules/uninorm/decomposition: Likewise.
68572         * modules/uninorm/filter: Likewise.
68573         * modules/uninorm/nfc: Likewise.
68574         * modules/uninorm/nfd: Likewise.
68575         * modules/uninorm/nfkc: Likewise.
68576         * modules/uninorm/nfkd: Likewise.
68577         * modules/uninorm/u8-normalize: Likewise.
68578         * modules/uninorm/u8-normcmp: Likewise.
68579         * modules/uninorm/u8-normcoll: Likewise.
68580         * modules/uninorm/u8-normxfrm: Likewise.
68581         * modules/uninorm/u16-normalize: Likewise.
68582         * modules/uninorm/u16-normcmp: Likewise.
68583         * modules/uninorm/u16-normcoll: Likewise.
68584         * modules/uninorm/u16-normxfrm: Likewise.
68585         * modules/uninorm/u32-normalize: Likewise.
68586         * modules/uninorm/u32-normcmp: Likewise.
68587         * modules/uninorm/u32-normcoll: Likewise.
68588         * modules/uninorm/u32-normxfrm: Likewise.
68589         * modules/unistdio/u8-asnprintf: Likewise.
68590         * modules/unistdio/u8-asprintf: Likewise.
68591         * modules/unistdio/u8-snprintf: Likewise.
68592         * modules/unistdio/u8-sprintf: Likewise.
68593         * modules/unistdio/u8-u8-asnprintf: Likewise.
68594         * modules/unistdio/u8-u8-asprintf: Likewise.
68595         * modules/unistdio/u8-u8-snprintf: Likewise.
68596         * modules/unistdio/u8-u8-sprintf: Likewise.
68597         * modules/unistdio/u8-u8-vasnprintf: Likewise.
68598         * modules/unistdio/u8-u8-vasprintf: Likewise.
68599         * modules/unistdio/u8-u8-vsnprintf: Likewise.
68600         * modules/unistdio/u8-u8-vsprintf: Likewise.
68601         * modules/unistdio/u8-vasnprintf: Likewise.
68602         * modules/unistdio/u8-vasprintf: Likewise.
68603         * modules/unistdio/u8-vsnprintf: Likewise.
68604         * modules/unistdio/u8-vsprintf: Likewise.
68605         * modules/unistdio/u16-asnprintf: Likewise.
68606         * modules/unistdio/u16-asprintf: Likewise.
68607         * modules/unistdio/u16-snprintf: Likewise.
68608         * modules/unistdio/u16-sprintf: Likewise.
68609         * modules/unistdio/u16-u16-asnprintf: Likewise.
68610         * modules/unistdio/u16-u16-asprintf: Likewise.
68611         * modules/unistdio/u16-u16-snprintf: Likewise.
68612         * modules/unistdio/u16-u16-sprintf: Likewise.
68613         * modules/unistdio/u16-u16-vasnprintf: Likewise.
68614         * modules/unistdio/u16-u16-vasprintf: Likewise.
68615         * modules/unistdio/u16-u16-vsnprintf: Likewise.
68616         * modules/unistdio/u16-u16-vsprintf: Likewise.
68617         * modules/unistdio/u16-vasnprintf: Likewise.
68618         * modules/unistdio/u16-vasprintf: Likewise.
68619         * modules/unistdio/u16-vsnprintf: Likewise.
68620         * modules/unistdio/u16-vsprintf: Likewise.
68621         * modules/unistdio/u32-asnprintf: Likewise.
68622         * modules/unistdio/u32-asprintf: Likewise.
68623         * modules/unistdio/u32-snprintf: Likewise.
68624         * modules/unistdio/u32-sprintf: Likewise.
68625         * modules/unistdio/u32-u32-asnprintf: Likewise.
68626         * modules/unistdio/u32-u32-asprintf: Likewise.
68627         * modules/unistdio/u32-u32-snprintf: Likewise.
68628         * modules/unistdio/u32-u32-sprintf: Likewise.
68629         * modules/unistdio/u32-u32-vasnprintf: Likewise.
68630         * modules/unistdio/u32-u32-vasprintf: Likewise.
68631         * modules/unistdio/u32-u32-vsnprintf: Likewise.
68632         * modules/unistdio/u32-u32-vsprintf: Likewise.
68633         * modules/unistdio/u32-vasnprintf: Likewise.
68634         * modules/unistdio/u32-vasprintf: Likewise.
68635         * modules/unistdio/u32-vsnprintf: Likewise.
68636         * modules/unistdio/u32-vsprintf: Likewise.
68637         * modules/unistdio/ulc-asnprintf: Likewise.
68638         * modules/unistdio/ulc-asprintf: Likewise.
68639         * modules/unistdio/ulc-fprintf: Likewise.
68640         * modules/unistdio/ulc-snprintf: Likewise.
68641         * modules/unistdio/ulc-sprintf: Likewise.
68642         * modules/unistdio/ulc-vasnprintf: Likewise.
68643         * modules/unistdio/ulc-vasprintf: Likewise.
68644         * modules/unistdio/ulc-vfprintf: Likewise.
68645         * modules/unistdio/ulc-vsnprintf: Likewise.
68646         * modules/unistdio/ulc-vsprintf: Likewise.
68647         * modules/unistr/u8-check: Likewise.
68648         * modules/unistr/u8-chr: Likewise.
68649         * modules/unistr/u8-cmp: Likewise.
68650         * modules/unistr/u8-cmp2: Likewise.
68651         * modules/unistr/u8-cpy: Likewise.
68652         * modules/unistr/u8-cpy-alloc: Likewise.
68653         * modules/unistr/u8-endswith: Likewise.
68654         * modules/unistr/u8-mblen: Likewise.
68655         * modules/unistr/u8-mbsnlen: Likewise.
68656         * modules/unistr/u8-mbtouc: Likewise.
68657         * modules/unistr/u8-mbtouc-unsafe: Likewise.
68658         * modules/unistr/u8-mbtoucr: Likewise.
68659         * modules/unistr/u8-move: Likewise.
68660         * modules/unistr/u8-next: Likewise.
68661         * modules/unistr/u8-prev: Likewise.
68662         * modules/unistr/u8-set: Likewise.
68663         * modules/unistr/u8-startswith: Likewise.
68664         * modules/unistr/u8-stpcpy: Likewise.
68665         * modules/unistr/u8-stpncpy: Likewise.
68666         * modules/unistr/u8-strcat: Likewise.
68667         * modules/unistr/u8-strchr: Likewise.
68668         * modules/unistr/u8-strcmp: Likewise.
68669         * modules/unistr/u8-strcoll: Likewise.
68670         * modules/unistr/u8-strcpy: Likewise.
68671         * modules/unistr/u8-strcspn: Likewise.
68672         * modules/unistr/u8-strdup: Likewise.
68673         * modules/unistr/u8-strlen: Likewise.
68674         * modules/unistr/u8-strmblen: Likewise.
68675         * modules/unistr/u8-strmbtouc: Likewise.
68676         * modules/unistr/u8-strncat: Likewise.
68677         * modules/unistr/u8-strncmp: Likewise.
68678         * modules/unistr/u8-strncpy: Likewise.
68679         * modules/unistr/u8-strnlen: Likewise.
68680         * modules/unistr/u8-strpbrk: Likewise.
68681         * modules/unistr/u8-strrchr: Likewise.
68682         * modules/unistr/u8-strspn: Likewise.
68683         * modules/unistr/u8-strstr: Likewise.
68684         * modules/unistr/u8-strtok: Likewise.
68685         * modules/unistr/u8-to-u16: Likewise.
68686         * modules/unistr/u8-to-u32: Likewise.
68687         * modules/unistr/u8-uctomb: Likewise.
68688         * modules/unistr/u16-check: Likewise.
68689         * modules/unistr/u16-chr: Likewise.
68690         * modules/unistr/u16-cmp: Likewise.
68691         * modules/unistr/u16-cmp2: Likewise.
68692         * modules/unistr/u16-cpy: Likewise.
68693         * modules/unistr/u16-cpy-alloc: Likewise.
68694         * modules/unistr/u16-endswith: Likewise.
68695         * modules/unistr/u16-mblen: Likewise.
68696         * modules/unistr/u16-mbsnlen: Likewise.
68697         * modules/unistr/u16-mbtouc: Likewise.
68698         * modules/unistr/u16-mbtouc-unsafe: Likewise.
68699         * modules/unistr/u16-mbtoucr: Likewise.
68700         * modules/unistr/u16-move: Likewise.
68701         * modules/unistr/u16-next: Likewise.
68702         * modules/unistr/u16-prev: Likewise.
68703         * modules/unistr/u16-set: Likewise.
68704         * modules/unistr/u16-startswith: Likewise.
68705         * modules/unistr/u16-stpcpy: Likewise.
68706         * modules/unistr/u16-stpncpy: Likewise.
68707         * modules/unistr/u16-strcat: Likewise.
68708         * modules/unistr/u16-strchr: Likewise.
68709         * modules/unistr/u16-strcmp: Likewise.
68710         * modules/unistr/u16-strcoll: Likewise.
68711         * modules/unistr/u16-strcpy: Likewise.
68712         * modules/unistr/u16-strcspn: Likewise.
68713         * modules/unistr/u16-strdup: Likewise.
68714         * modules/unistr/u16-strlen: Likewise.
68715         * modules/unistr/u16-strmblen: Likewise.
68716         * modules/unistr/u16-strmbtouc: Likewise.
68717         * modules/unistr/u16-strncat: Likewise.
68718         * modules/unistr/u16-strncmp: Likewise.
68719         * modules/unistr/u16-strncpy: Likewise.
68720         * modules/unistr/u16-strnlen: Likewise.
68721         * modules/unistr/u16-strpbrk: Likewise.
68722         * modules/unistr/u16-strrchr: Likewise.
68723         * modules/unistr/u16-strspn: Likewise.
68724         * modules/unistr/u16-strstr: Likewise.
68725         * modules/unistr/u16-strtok: Likewise.
68726         * modules/unistr/u16-to-u32: Likewise.
68727         * modules/unistr/u16-to-u8: Likewise.
68728         * modules/unistr/u16-uctomb: Likewise.
68729         * modules/unistr/u32-check: Likewise.
68730         * modules/unistr/u32-chr: Likewise.
68731         * modules/unistr/u32-cmp: Likewise.
68732         * modules/unistr/u32-cmp2: Likewise.
68733         * modules/unistr/u32-cpy: Likewise.
68734         * modules/unistr/u32-cpy-alloc: Likewise.
68735         * modules/unistr/u32-endswith: Likewise.
68736         * modules/unistr/u32-mblen: Likewise.
68737         * modules/unistr/u32-mbsnlen: Likewise.
68738         * modules/unistr/u32-mbtouc: Likewise.
68739         * modules/unistr/u32-mbtouc-unsafe: Likewise.
68740         * modules/unistr/u32-mbtoucr: Likewise.
68741         * modules/unistr/u32-move: Likewise.
68742         * modules/unistr/u32-next: Likewise.
68743         * modules/unistr/u32-prev: Likewise.
68744         * modules/unistr/u32-set: Likewise.
68745         * modules/unistr/u32-startswith: Likewise.
68746         * modules/unistr/u32-stpcpy: Likewise.
68747         * modules/unistr/u32-stpncpy: Likewise.
68748         * modules/unistr/u32-strcat: Likewise.
68749         * modules/unistr/u32-strchr: Likewise.
68750         * modules/unistr/u32-strcmp: Likewise.
68751         * modules/unistr/u32-strcoll: Likewise.
68752         * modules/unistr/u32-strcpy: Likewise.
68753         * modules/unistr/u32-strcspn: Likewise.
68754         * modules/unistr/u32-strdup: Likewise.
68755         * modules/unistr/u32-strlen: Likewise.
68756         * modules/unistr/u32-strmblen: Likewise.
68757         * modules/unistr/u32-strmbtouc: Likewise.
68758         * modules/unistr/u32-strncat: Likewise.
68759         * modules/unistr/u32-strncmp: Likewise.
68760         * modules/unistr/u32-strncpy: Likewise.
68761         * modules/unistr/u32-strnlen: Likewise.
68762         * modules/unistr/u32-strpbrk: Likewise.
68763         * modules/unistr/u32-strrchr: Likewise.
68764         * modules/unistr/u32-strspn: Likewise.
68765         * modules/unistr/u32-strstr: Likewise.
68766         * modules/unistr/u32-strtok: Likewise.
68767         * modules/unistr/u32-to-u16: Likewise.
68768         * modules/unistr/u32-to-u8: Likewise.
68769         * modules/unistr/u32-uctomb: Likewise.
68770         * modules/uniwbrk/u8-wordbreaks: Likewise.
68771         * modules/uniwbrk/u16-wordbreaks: Likewise.
68772         * modules/uniwbrk/u32-wordbreaks: Likewise.
68773         * modules/uniwbrk/ulc-wordbreaks: Likewise.
68774         * modules/uniwbrk/wordbreak-property: Likewise.
68775         * modules/uniwidth/u8-strwidth: Likewise.
68776         * modules/uniwidth/u8-width: Likewise.
68777         * modules/uniwidth/u16-strwidth: Likewise.
68778         * modules/uniwidth/u16-width: Likewise.
68779         * modules/uniwidth/u32-strwidth: Likewise.
68780         * modules/uniwidth/u32-width: Likewise.
68781         * modules/uniwidth/width: Likewise.
68782         * modules/unicase/cased-tests (Makefile.am): Link all test programs
68783         with $(LIBUNISTRING).
68784         * modules/unicase/ignorable-tests: Likewise.
68785         * modules/unicase/locale-language-tests: Likewise.
68786         * modules/unicase/tolower-tests: Likewise.
68787         * modules/unicase/totitle-tests: Likewise.
68788         * modules/unicase/toupper-tests: Likewise.
68789         * modules/unicase/u8-casecmp-tests: Likewise.
68790         * modules/unicase/u8-casecoll-tests: Likewise.
68791         * modules/unicase/u8-casefold-tests: Likewise.
68792         * modules/unicase/u8-is-cased-tests: Likewise.
68793         * modules/unicase/u8-is-casefolded-tests: Likewise.
68794         * modules/unicase/u8-is-lowercase-tests: Likewise.
68795         * modules/unicase/u8-is-titlecase-tests: Likewise.
68796         * modules/unicase/u8-is-uppercase-tests: Likewise.
68797         * modules/unicase/u8-tolower-tests: Likewise.
68798         * modules/unicase/u8-totitle-tests: Likewise.
68799         * modules/unicase/u8-toupper-tests: Likewise.
68800         * modules/unicase/u16-casecmp-tests: Likewise.
68801         * modules/unicase/u16-casecoll-tests: Likewise.
68802         * modules/unicase/u16-casefold-tests: Likewise.
68803         * modules/unicase/u16-is-cased-tests: Likewise.
68804         * modules/unicase/u16-is-casefolded-tests: Likewise.
68805         * modules/unicase/u16-is-lowercase-tests: Likewise.
68806         * modules/unicase/u16-is-titlecase-tests: Likewise.
68807         * modules/unicase/u16-is-uppercase-tests: Likewise.
68808         * modules/unicase/u16-tolower-tests: Likewise.
68809         * modules/unicase/u16-totitle-tests: Likewise.
68810         * modules/unicase/u16-toupper-tests: Likewise.
68811         * modules/unicase/u32-casecmp-tests: Likewise.
68812         * modules/unicase/u32-casecoll-tests: Likewise.
68813         * modules/unicase/u32-casefold-tests: Likewise.
68814         * modules/unicase/u32-is-cased-tests: Likewise.
68815         * modules/unicase/u32-is-casefolded-tests: Likewise.
68816         * modules/unicase/u32-is-lowercase-tests: Likewise.
68817         * modules/unicase/u32-is-titlecase-tests: Likewise.
68818         * modules/unicase/u32-is-uppercase-tests: Likewise.
68819         * modules/unicase/u32-tolower-tests: Likewise.
68820         * modules/unicase/u32-totitle-tests: Likewise.
68821         * modules/unicase/u32-toupper-tests: Likewise.
68822         * modules/unicase/ulc-casecmp-tests: Likewise.
68823         * modules/unicase/ulc-casecoll-tests: Likewise.
68824         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
68825         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
68826         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
68827         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
68828         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
68829         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
68830         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
68831         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
68832         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
68833         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
68834         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
68835         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
68836         * modules/unictype/bidicategory-byname-tests: Likewise.
68837         * modules/unictype/bidicategory-name-tests: Likewise.
68838         * modules/unictype/bidicategory-of-tests: Likewise.
68839         * modules/unictype/bidicategory-test-tests: Likewise.
68840         * modules/unictype/block-list-tests: Likewise.
68841         * modules/unictype/block-of-tests: Likewise.
68842         * modules/unictype/block-test-tests: Likewise.
68843         * modules/unictype/category-C-tests: Likewise.
68844         * modules/unictype/category-Cc-tests: Likewise.
68845         * modules/unictype/category-Cf-tests: Likewise.
68846         * modules/unictype/category-Cn-tests: Likewise.
68847         * modules/unictype/category-Co-tests: Likewise.
68848         * modules/unictype/category-Cs-tests: Likewise.
68849         * modules/unictype/category-L-tests: Likewise.
68850         * modules/unictype/category-Ll-tests: Likewise.
68851         * modules/unictype/category-Lm-tests: Likewise.
68852         * modules/unictype/category-Lo-tests: Likewise.
68853         * modules/unictype/category-Lt-tests: Likewise.
68854         * modules/unictype/category-Lu-tests: Likewise.
68855         * modules/unictype/category-M-tests: Likewise.
68856         * modules/unictype/category-Mc-tests: Likewise.
68857         * modules/unictype/category-Me-tests: Likewise.
68858         * modules/unictype/category-Mn-tests: Likewise.
68859         * modules/unictype/category-N-tests: Likewise.
68860         * modules/unictype/category-Nd-tests: Likewise.
68861         * modules/unictype/category-Nl-tests: Likewise.
68862         * modules/unictype/category-No-tests: Likewise.
68863         * modules/unictype/category-P-tests: Likewise.
68864         * modules/unictype/category-Pc-tests: Likewise.
68865         * modules/unictype/category-Pd-tests: Likewise.
68866         * modules/unictype/category-Pe-tests: Likewise.
68867         * modules/unictype/category-Pf-tests: Likewise.
68868         * modules/unictype/category-Pi-tests: Likewise.
68869         * modules/unictype/category-Po-tests: Likewise.
68870         * modules/unictype/category-Ps-tests: Likewise.
68871         * modules/unictype/category-S-tests: Likewise.
68872         * modules/unictype/category-Sc-tests: Likewise.
68873         * modules/unictype/category-Sk-tests: Likewise.
68874         * modules/unictype/category-Sm-tests: Likewise.
68875         * modules/unictype/category-So-tests: Likewise.
68876         * modules/unictype/category-Z-tests: Likewise.
68877         * modules/unictype/category-Zl-tests: Likewise.
68878         * modules/unictype/category-Zp-tests: Likewise.
68879         * modules/unictype/category-Zs-tests: Likewise.
68880         * modules/unictype/category-and-not-tests: Likewise.
68881         * modules/unictype/category-and-tests: Likewise.
68882         * modules/unictype/category-byname-tests: Likewise.
68883         * modules/unictype/category-name-tests: Likewise.
68884         * modules/unictype/category-none-tests: Likewise.
68885         * modules/unictype/category-of-tests: Likewise.
68886         * modules/unictype/category-or-tests: Likewise.
68887         * modules/unictype/category-test-withtable-tests: Likewise.
68888         * modules/unictype/combining-class-tests: Likewise.
68889         * modules/unictype/ctype-alnum-tests: Likewise.
68890         * modules/unictype/ctype-alpha-tests: Likewise.
68891         * modules/unictype/ctype-blank-tests: Likewise.
68892         * modules/unictype/ctype-cntrl-tests: Likewise.
68893         * modules/unictype/ctype-digit-tests: Likewise.
68894         * modules/unictype/ctype-graph-tests: Likewise.
68895         * modules/unictype/ctype-lower-tests: Likewise.
68896         * modules/unictype/ctype-print-tests: Likewise.
68897         * modules/unictype/ctype-punct-tests: Likewise.
68898         * modules/unictype/ctype-space-tests: Likewise.
68899         * modules/unictype/ctype-upper-tests: Likewise.
68900         * modules/unictype/ctype-xdigit-tests: Likewise.
68901         * modules/unictype/decimal-digit-tests: Likewise.
68902         * modules/unictype/digit-tests: Likewise.
68903         * modules/unictype/mirror-tests: Likewise.
68904         * modules/unictype/numeric-tests: Likewise.
68905         * modules/unictype/property-alphabetic-tests: Likewise.
68906         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
68907         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
68908         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
68909         * modules/unictype/property-bidi-block-separator-tests: Likewise.
68910         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
68911         * modules/unictype/property-bidi-common-separator-tests: Likewise.
68912         * modules/unictype/property-bidi-control-tests: Likewise.
68913         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
68914         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
68915         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
68916         * modules/unictype/property-bidi-european-digit-tests: Likewise.
68917         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
68918         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
68919         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
68920         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
68921         * modules/unictype/property-bidi-pdf-tests: Likewise.
68922         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
68923         * modules/unictype/property-bidi-whitespace-tests: Likewise.
68924         * modules/unictype/property-byname-tests: Likewise.
68925         * modules/unictype/property-combining-tests: Likewise.
68926         * modules/unictype/property-composite-tests: Likewise.
68927         * modules/unictype/property-currency-symbol-tests: Likewise.
68928         * modules/unictype/property-dash-tests: Likewise.
68929         * modules/unictype/property-decimal-digit-tests: Likewise.
68930         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
68931         * modules/unictype/property-deprecated-tests: Likewise.
68932         * modules/unictype/property-diacritic-tests: Likewise.
68933         * modules/unictype/property-extender-tests: Likewise.
68934         * modules/unictype/property-format-control-tests: Likewise.
68935         * modules/unictype/property-grapheme-base-tests: Likewise.
68936         * modules/unictype/property-grapheme-extend-tests: Likewise.
68937         * modules/unictype/property-grapheme-link-tests: Likewise.
68938         * modules/unictype/property-hex-digit-tests: Likewise.
68939         * modules/unictype/property-hyphen-tests: Likewise.
68940         * modules/unictype/property-id-continue-tests: Likewise.
68941         * modules/unictype/property-id-start-tests: Likewise.
68942         * modules/unictype/property-ideographic-tests: Likewise.
68943         * modules/unictype/property-ids-binary-operator-tests: Likewise.
68944         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
68945         * modules/unictype/property-ignorable-control-tests: Likewise.
68946         * modules/unictype/property-iso-control-tests: Likewise.
68947         * modules/unictype/property-join-control-tests: Likewise.
68948         * modules/unictype/property-left-of-pair-tests: Likewise.
68949         * modules/unictype/property-line-separator-tests: Likewise.
68950         * modules/unictype/property-logical-order-exception-tests: Likewise.
68951         * modules/unictype/property-lowercase-tests: Likewise.
68952         * modules/unictype/property-math-tests: Likewise.
68953         * modules/unictype/property-non-break-tests: Likewise.
68954         * modules/unictype/property-not-a-character-tests: Likewise.
68955         * modules/unictype/property-numeric-tests: Likewise.
68956         * modules/unictype/property-other-alphabetic-tests: Likewise.
68957         * modules/unictype/property-other-default-ignorable-code-point-tests:
68958         Likewise.
68959         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
68960         * modules/unictype/property-other-id-continue-tests: Likewise.
68961         * modules/unictype/property-other-id-start-tests: Likewise.
68962         * modules/unictype/property-other-lowercase-tests: Likewise.
68963         * modules/unictype/property-other-math-tests: Likewise.
68964         * modules/unictype/property-other-uppercase-tests: Likewise.
68965         * modules/unictype/property-paired-punctuation-tests: Likewise.
68966         * modules/unictype/property-paragraph-separator-tests: Likewise.
68967         * modules/unictype/property-pattern-syntax-tests: Likewise.
68968         * modules/unictype/property-pattern-white-space-tests: Likewise.
68969         * modules/unictype/property-private-use-tests: Likewise.
68970         * modules/unictype/property-punctuation-tests: Likewise.
68971         * modules/unictype/property-quotation-mark-tests: Likewise.
68972         * modules/unictype/property-radical-tests: Likewise.
68973         * modules/unictype/property-sentence-terminal-tests: Likewise.
68974         * modules/unictype/property-soft-dotted-tests: Likewise.
68975         * modules/unictype/property-space-tests: Likewise.
68976         * modules/unictype/property-terminal-punctuation-tests: Likewise.
68977         * modules/unictype/property-test-tests: Likewise.
68978         * modules/unictype/property-titlecase-tests: Likewise.
68979         * modules/unictype/property-unassigned-code-value-tests: Likewise.
68980         * modules/unictype/property-unified-ideograph-tests: Likewise.
68981         * modules/unictype/property-uppercase-tests: Likewise.
68982         * modules/unictype/property-variation-selector-tests: Likewise.
68983         * modules/unictype/property-white-space-tests: Likewise.
68984         * modules/unictype/property-xid-continue-tests: Likewise.
68985         * modules/unictype/property-xid-start-tests: Likewise.
68986         * modules/unictype/property-zero-width-tests: Likewise.
68987         * modules/unictype/scripts-tests: Likewise.
68988         * modules/unictype/syntax-c-ident-tests: Likewise.
68989         * modules/unictype/syntax-c-whitespace-tests: Likewise.
68990         * modules/unictype/syntax-java-ident-tests: Likewise.
68991         * modules/unictype/syntax-java-whitespace-tests: Likewise.
68992         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
68993         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
68994         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
68995         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
68996         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
68997         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
68998         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
68999         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
69000         * modules/uniname/uniname-tests: Likewise.
69001         * modules/uninorm/canonical-decomposition-tests: Likewise.
69002         * modules/uninorm/compat-decomposition-tests: Likewise.
69003         * modules/uninorm/composition-tests: Likewise.
69004         * modules/uninorm/decomposing-form-tests: Likewise.
69005         * modules/uninorm/decomposition-tests: Likewise.
69006         * modules/uninorm/filter-tests: Likewise.
69007         * modules/uninorm/nfc-tests: Likewise.
69008         * modules/uninorm/nfd-tests: Likewise.
69009         * modules/uninorm/nfkc-tests: Likewise.
69010         * modules/uninorm/nfkd-tests: Likewise.
69011         * modules/uninorm/u8-normcmp-tests: Likewise.
69012         * modules/uninorm/u8-normcoll-tests: Likewise.
69013         * modules/uninorm/u16-normcmp-tests: Likewise.
69014         * modules/uninorm/u16-normcoll-tests: Likewise.
69015         * modules/uninorm/u32-normcmp-tests: Likewise.
69016         * modules/uninorm/u32-normcoll-tests: Likewise.
69017         * modules/unistdio/u8-asnprintf-tests: Likewise.
69018         * modules/unistdio/u8-vasnprintf-tests: Likewise.
69019         * modules/unistdio/u8-vasprintf-tests: Likewise.
69020         * modules/unistdio/u8-vsnprintf-tests: Likewise.
69021         * modules/unistdio/u8-vsprintf-tests: Likewise.
69022         * modules/unistdio/u16-asnprintf-tests: Likewise.
69023         * modules/unistdio/u16-vasnprintf-tests: Likewise.
69024         * modules/unistdio/u16-vasprintf-tests: Likewise.
69025         * modules/unistdio/u16-vsnprintf-tests: Likewise.
69026         * modules/unistdio/u16-vsprintf-tests: Likewise.
69027         * modules/unistdio/u32-asnprintf-tests: Likewise.
69028         * modules/unistdio/u32-vasnprintf-tests: Likewise.
69029         * modules/unistdio/u32-vasprintf-tests: Likewise.
69030         * modules/unistdio/u32-vsnprintf-tests: Likewise.
69031         * modules/unistdio/u32-vsprintf-tests: Likewise.
69032         * modules/unistdio/ulc-asnprintf-tests: Likewise.
69033         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
69034         * modules/unistdio/ulc-vasprintf-tests: Likewise.
69035         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
69036         * modules/unistdio/ulc-vsprintf-tests: Likewise.
69037         * modules/unistr/u8-check-tests: Likewise.
69038         * modules/unistr/u8-chr-tests: Likewise.
69039         * modules/unistr/u8-cmp-tests: Likewise.
69040         * modules/unistr/u8-cmp2-tests: Likewise.
69041         * modules/unistr/u8-cpy-alloc-tests: Likewise.
69042         * modules/unistr/u8-cpy-tests: Likewise.
69043         * modules/unistr/u8-mblen-tests: Likewise.
69044         * modules/unistr/u8-mbsnlen-tests: Likewise.
69045         * modules/unistr/u8-mbtouc-tests: Likewise.
69046         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
69047         * modules/unistr/u8-mbtoucr-tests: Likewise.
69048         * modules/unistr/u8-move-tests: Likewise.
69049         * modules/unistr/u8-next-tests: Likewise.
69050         * modules/unistr/u8-prev-tests: Likewise.
69051         * modules/unistr/u8-set-tests: Likewise.
69052         * modules/unistr/u8-stpcpy-tests: Likewise.
69053         * modules/unistr/u8-stpncpy-tests: Likewise.
69054         * modules/unistr/u8-strcat-tests: Likewise.
69055         * modules/unistr/u8-strcmp-tests: Likewise.
69056         * modules/unistr/u8-strcoll-tests: Likewise.
69057         * modules/unistr/u8-strcpy-tests: Likewise.
69058         * modules/unistr/u8-strdup-tests: Likewise.
69059         * modules/unistr/u8-strlen-tests: Likewise.
69060         * modules/unistr/u8-strmblen-tests: Likewise.
69061         * modules/unistr/u8-strmbtouc-tests: Likewise.
69062         * modules/unistr/u8-strncat-tests: Likewise.
69063         * modules/unistr/u8-strncmp-tests: Likewise.
69064         * modules/unistr/u8-strncpy-tests: Likewise.
69065         * modules/unistr/u8-strnlen-tests: Likewise.
69066         * modules/unistr/u8-to-u16-tests: Likewise.
69067         * modules/unistr/u8-to-u32-tests: Likewise.
69068         * modules/unistr/u8-uctomb-tests: Likewise.
69069         * modules/unistr/u16-check-tests: Likewise.
69070         * modules/unistr/u16-chr-tests: Likewise.
69071         * modules/unistr/u16-cmp-tests: Likewise.
69072         * modules/unistr/u16-cmp2-tests: Likewise.
69073         * modules/unistr/u16-cpy-alloc-tests: Likewise.
69074         * modules/unistr/u16-cpy-tests: Likewise.
69075         * modules/unistr/u16-mblen-tests: Likewise.
69076         * modules/unistr/u16-mbsnlen-tests: Likewise.
69077         * modules/unistr/u16-mbtouc-tests: Likewise.
69078         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
69079         * modules/unistr/u16-mbtoucr-tests: Likewise.
69080         * modules/unistr/u16-move-tests: Likewise.
69081         * modules/unistr/u16-next-tests: Likewise.
69082         * modules/unistr/u16-prev-tests: Likewise.
69083         * modules/unistr/u16-set-tests: Likewise.
69084         * modules/unistr/u16-stpcpy-tests: Likewise.
69085         * modules/unistr/u16-stpncpy-tests: Likewise.
69086         * modules/unistr/u16-strcat-tests: Likewise.
69087         * modules/unistr/u16-strcmp-tests: Likewise.
69088         * modules/unistr/u16-strcoll-tests: Likewise.
69089         * modules/unistr/u16-strcpy-tests: Likewise.
69090         * modules/unistr/u16-strdup-tests: Likewise.
69091         * modules/unistr/u16-strlen-tests: Likewise.
69092         * modules/unistr/u16-strmblen-tests: Likewise.
69093         * modules/unistr/u16-strmbtouc-tests: Likewise.
69094         * modules/unistr/u16-strncat-tests: Likewise.
69095         * modules/unistr/u16-strncmp-tests: Likewise.
69096         * modules/unistr/u16-strncpy-tests: Likewise.
69097         * modules/unistr/u16-strnlen-tests: Likewise.
69098         * modules/unistr/u16-to-u32-tests: Likewise.
69099         * modules/unistr/u16-to-u8-tests: Likewise.
69100         * modules/unistr/u16-uctomb-tests: Likewise.
69101         * modules/unistr/u32-check-tests: Likewise.
69102         * modules/unistr/u32-chr-tests: Likewise.
69103         * modules/unistr/u32-cmp-tests: Likewise.
69104         * modules/unistr/u32-cmp2-tests: Likewise.
69105         * modules/unistr/u32-cpy-alloc-tests: Likewise.
69106         * modules/unistr/u32-cpy-tests: Likewise.
69107         * modules/unistr/u32-mblen-tests: Likewise.
69108         * modules/unistr/u32-mbsnlen-tests: Likewise.
69109         * modules/unistr/u32-mbtouc-tests: Likewise.
69110         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
69111         * modules/unistr/u32-mbtoucr-tests: Likewise.
69112         * modules/unistr/u32-move-tests: Likewise.
69113         * modules/unistr/u32-next-tests: Likewise.
69114         * modules/unistr/u32-prev-tests: Likewise.
69115         * modules/unistr/u32-set-tests: Likewise.
69116         * modules/unistr/u32-stpcpy-tests: Likewise.
69117         * modules/unistr/u32-stpncpy-tests: Likewise.
69118         * modules/unistr/u32-strcat-tests: Likewise.
69119         * modules/unistr/u32-strcmp-tests: Likewise.
69120         * modules/unistr/u32-strcoll-tests: Likewise.
69121         * modules/unistr/u32-strcpy-tests: Likewise.
69122         * modules/unistr/u32-strdup-tests: Likewise.
69123         * modules/unistr/u32-strlen-tests: Likewise.
69124         * modules/unistr/u32-strmblen-tests: Likewise.
69125         * modules/unistr/u32-strmbtouc-tests: Likewise.
69126         * modules/unistr/u32-strncat-tests: Likewise.
69127         * modules/unistr/u32-strncmp-tests: Likewise.
69128         * modules/unistr/u32-strncpy-tests: Likewise.
69129         * modules/unistr/u32-strnlen-tests: Likewise.
69130         * modules/unistr/u32-to-u16-tests: Likewise.
69131         * modules/unistr/u32-to-u8-tests: Likewise.
69132         * modules/unistr/u32-uctomb-tests: Likewise.
69133         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
69134         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
69135         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
69136         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
69137         * modules/uniwidth/u8-strwidth-tests: Likewise.
69138         * modules/uniwidth/u8-width-tests: Likewise.
69139         * modules/uniwidth/u16-strwidth-tests: Likewise.
69140         * modules/uniwidth/u16-width-tests: Likewise.
69141         * modules/uniwidth/u32-strwidth-tests: Likewise.
69142         * modules/uniwidth/u32-width-tests: Likewise.
69143         * modules/uniwidth/width-tests: Likewise.
69145 2010-05-18  Richard Jones  <rjones@redhat.com>
69147         doc: users.txt: list hivex
69148         * users.txt: Add hivex.
69150 2010-05-18  Richard Jones  <rjones@redhat.com>
69152         doc: users.txt: list febootstrap
69153         * users.txt: Add febootstrap.
69155 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
69157         bootstrap: fix an error when gnulib is not used as a git submodule
69158         * build-aux/bootstrap (gnulib_path): If its length is zero then
69159         assign "gnulib" to it.
69160         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
69162 2010-05-16  Bruno Haible  <bruno@clisp.org>
69164         Avoid autoconf warnings about AM_ICONV.
69165         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
69166         2.64.
69168 2010-05-16  Bruno Haible  <bruno@clisp.org>
69170         absolute-header: Make the macro usable in more situations.
69171         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
69172         from gl_ABSOLUTE_HEADER.
69173         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
69175 2010-05-16  James Youngman  <jay@gnu.org>
69177         doc: update users.txt
69178         * users.txt: Add CSSC.
69180 2010-05-16  Jim Meyering  <meyering@redhat.com>
69182         init.sh: fix an error in the previous change; add more comments
69183         * tests/init.sh: Compare exit code in loop against 9, not 2.
69184         Patch by Bruno Haible.
69185         Make the two tests more similar by adding an empty "then" clause.
69186         Add comments.
69188         init.sh: avoid unnecessary shell re-exec
69189         * tests/init.sh: Improve the re-exec-required check to first test the
69190         current shell.  If it passes the test, do not search for a shell that
69191         does pass, and do not re-exec.  This test is particularly contorted to
69192         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
69193         of $(...) evokes a syntax error and causes immediate shell exit with
69194         status 2.  Bruno Haible reported that the re-exec made it impossible
69195         to single-step through any init.sh-using script.
69197 2010-05-16  Bruno Haible  <bruno@clisp.org>
69199         Fix collision between gnulib's and libintl's printf replacements.
69200         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
69201         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
69202         (printf): When using GNU C, map the __printf__ function to rpl_printf
69203         via __asm__. When not using GNU C, define rpl_printf instead of
69204         __printf__.
69205         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
69206         commit.
69207         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
69208         commit.
69209         * m4/asm-underscore.m4: New file.
69210         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
69211         * modules/stdio (Files): Add m4/asm-underscore.m4.
69212         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
69213         Reported by Ben Pfaff.
69215 2010-05-16  Bruno Haible  <bruno@clisp.org>
69217         verify: Avoid skipping the test on openSUSE 11.0.
69218         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
69220 2010-05-13  Bruno Haible  <bruno@clisp.org>
69222         Avoid useless warnings from G++.
69223         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
69224         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
69225         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69227 2010-05-11  Jim Meyering  <meyering@redhat.com>
69229         maint.mk: tweak preceding change
69230         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
69231         regexps tighter by anchoring at EOL, and make the new group "shy"
69232         for slightly decreased overhead.
69234 2010-05-11  Eric Blake  <eblake@redhat.com>
69236         maint.mk: gnulib doesn't guarantee NSIG
69237         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
69239 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
69241         test-pwrite.c: Remove unused variable declaration.
69242         * tests/test-pwrite.c (main): Remove read_buf declaration.
69244         Remove useless test-pwrite.sh file.
69245         * tests/test-pwrite.sh: Delete file.
69246         * modules/pwrite-tests: Remove references.
69247         Reported by Bruno Haible.
69249 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
69251         init.sh: fix a typo
69252         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
69254 2010-05-10  Jim Meyering  <meyering@redhat.com>
69256         maint.mk: avoid using a temporary file in the always-defined-macros check
69257         * top/maint.mk (.re-defmac): Remove rule.
69258         (gl_trap_): Remove definition.
69259         (sc_prohibit_always-defined_macros): Rewrite not to create and
69260         depend on a temporary file.  Instead, depend on GNU grep's ability
69261         to read a list of regular expressions from stdin when given "-f -".
69263 2010-05-09  Bruno Haible  <bruno@clisp.org>
69265         Update to GNU gettext 0.18, part 1.
69266         * m4/gettext.m4: Update to GNU gettext 0.18.
69267         * m4/intl.m4: Likewise.
69268         * m4/po.m4: Likewise.
69269         * modules/gettext (Files): Add m4/fcntl-o.m4.
69270         (configure.ac): Require gettext infrastructure from version 0.18.
69272 2010-05-09  Jim Meyering  <meyering@redhat.com>
69274         init.sh: enable MALLOC_PERTURB_
69275         * tests/init.sh: Enable glibc's malloc-perturbing option.
69277         maint.mk: improve sc_cross_check_PATH_usage_in_tests
69278         With my recent change in init.sh from the two-line form:
69279             -#   : ${srcdir=.}
69280             -#   . "$srcdir/init.sh"; path_prepend_ .
69281             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
69282         I noticed that using the one-line form would cause this test
69283         to fail with a false-positive, or to stop working altogether,
69284         depending on whether help-version changed or all the tests did.
69285         * top/maint.mk (_hv_regex): Remove this definition.
69286         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
69287         (_hv_regex_strong): Use a stronger regex to check for conformance.
69288         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
69289         Give a separate diagnostic for lack of conforming use.
69291         maint.mk: prohibit definition of symbols defined by gnulib
69292         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
69293         definition of symbols defined by gnulib.
69295 2010-05-09  Bruno Haible  <bruno@clisp.org>
69297         acl: Avoid test failure on Cygwin-hosted mingw.
69298         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
69300 2010-05-09  Bruno Haible  <bruno@clisp.org>
69302         error: Use system's fcntl function.
69303         * lib/error.c (fcntl): Undefine.
69305 2010-05-09  Jim Meyering  <meyering@redhat.com>
69307         verify: adjust formatting to be more consistent
69308         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
69309         argument-list '('s, and after one comma.
69311 2010-05-09  Bruno Haible  <bruno@clisp.org>
69313         error: More reliable output on mingw.
69314         * lib/error.c: Include <windows.h>.
69315         (is_open): New function.
69316         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
69317         defined.
69319 2010-05-09  Bruno Haible  <bruno@clisp.org>
69321         vasnprintf: Fix syntax errors in libintl build on mingw.
69322         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
69323         pad_ourselves and prec_ourselves after use.
69325 2010-05-08  Bruno Haible  <bruno@clisp.org>
69327         * lib/config.charset: Update comments for Cygwin 1.7.
69328         * lib/localcharset.c: Likewise.
69330 2010-05-07  Jim Meyering  <meyering@redhat.com>
69332         init.sh: improve comments
69333         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
69334         . "${srcdir=.}/init.sh"; path_prepend_ .
69335         Add a note about path_prepend_ and the alternative of using
69336         TESTS_ENVIRONMENT.
69338 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
69340         exclude: Unescape hashed patterns in wildcard mode.
69341         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
69342         to the hash list.
69343         * tests/test-exclude8.sh: New test case.
69344         * modules/exclude-tests: Add new test.
69346 2010-05-05  Eric Blake  <eblake@redhat.com>
69348         verify: automate tests
69349         * modules/verify-tests: New module.
69350         * tests/test-verify.sh: New file.
69351         * tests/test-verify.c: Guard each negative test with a unique id.
69352         Also avoid warning about unused left hand of comma expressions.
69354 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
69356         Further improvements to verify.h, suggested by Eric Blake.
69357         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
69358         the GL_* versions, to avoid collision with OpenGL.
69359         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
69360         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
69361         than testing merely whether it's defined.
69363         Modify verify.h to pacify gcc -Wredundant_decls.
69364         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
69365         These use the prefix "GL_" since they're likely to be useful elsewhere.
69366         We may need to break them out into a different .h file.
69367         (__COUNTER__): Define to 0 if the compiler doesn't support it.
69368         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
69369         of verify_function__.
69371 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
69373         Tests for module pwrite.
69374         * modules/pwrite-tests: New file.
69375         * tests/test-pwrite.sh: New file.
69376         * tests/test-pwrite.c: New file.
69378         New module pwrite.
69379         * lib/unistd.in.h (pwrite): New declaration.
69380         * lib/pwrite.c: New file, from glibc with modifications.
69381         * m4/pwrite.m4: New file.
69382         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
69383         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
69384         REPLACE_PWRITE.
69385         * modules/pwrite: New file.
69386         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
69387         REPLACE_PWRITE.
69388         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
69389         * doc/posix-functions/pwrite.texi: Mention the new module.
69391 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
69393         pread: Update documentation.
69394         * doc/posix-functions/pread.texi: Mention the 'pread' module.
69396 2010-05-04  Eric Blake  <eblake@redhat.com>
69398         docs: update cygwin progress
69399         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
69400         this bug.
69401         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
69402         Added in cygwin 1.7.2.
69403         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
69404         Likewise.
69405         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
69406         Likewise.
69407         * doc/glibc-functions/dup3.texi (dup3): Likewise.
69408         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
69409         * doc/glibc-functions/accept4.texi (accept4): Likewise.
69410         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
69411         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
69412         Mention nproc module.
69413         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
69414         bug in cygwin 1.7.5 addition.
69415         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
69416         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
69417         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
69418         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
69419         1.7.5.
69420         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
69421         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
69422         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
69423         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
69424         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
69425         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
69426         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
69427         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
69428         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
69429         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
69430         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
69431         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
69432         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
69433         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
69434         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
69435         Likewise.
69436         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
69437         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
69438         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
69439         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
69440         Likewise.
69441         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
69442         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
69443         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
69444         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
69445         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
69446         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
69447         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
69448         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
69449         Likewise.
69450         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
69451         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
69452         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
69453         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
69454         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
69455         Likewise.
69456         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
69457         Likewise.
69458         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
69459         Likewise.
69460         * doc/glibc-functions/xdrrec_endofrecord.texi
69461         (xdrrec_endofrecord): Likewise.
69462         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
69463         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
69464         Likewise.
69465         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
69466         Likewise.
69468 2010-05-04  Jim Meyering  <meyering@redhat.com>
69470         gendocs.sh: make its "-s FILE" option more useful
69471         * build-aux/gendocs.sh: When honoring the -s FILE option, update
69472         $PACKAGE to reflect the probably-different basename of "FILE".
69474 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
69476         bootstrap: don't ignore download_po_files failure
69477         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
69478         failure.
69480 2010-05-03  Jim Meyering  <meyering@redhat.com>
69482         maint.mk: allow to pass options to gendocs.sh
69483         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
69484         (gendocs_options_): New overridable variable.
69486         gnu-web-doc-update: don't ignore configure or build failure
69487         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
69489         announce-gen: backslash-escape '@'s in --help output
69490         * build-aux/announce-gen: Fix syntax errors.
69492         maint.mk, announce-gen: allow project-specific announcement mail headers
69493         * top/maint.mk (translation_project_): Define default.
69494         (announcement_Cc_, announcement_mail_headers_): Likewise.
69495         (announcement): Invoke announce-gen with new --mail-headers option.
69496         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
69498         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
69499         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
69500         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
69501         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
69502         line in the "err2" output file when running "make check" in verbose
69503         mode (i.e., with set -x enabled).
69505 2010-05-03  Bruno Haible  <bruno@clisp.org>
69507         wctob: Fix for weird platforms.
69508         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
69509         argument value.
69511 2010-05-03  Jim Meyering  <meyering@redhat.com>
69513         maint.mk: prohibit unwarranted use of <strings.h>
69514         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
69515         strings.h in a file that does not also use strcasecmp, strncasecmp,
69516         ffs or ffsll.
69518         maint.mk: remove obsolete comments
69519         * top/maint.mk: Remove stale, commented-out rules.
69521 2010-05-02  Bruno Haible  <bruno@clisp.org>
69523         wcwidth: Declare also when it's aliased.
69524         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
69525         macro.
69527 2010-05-02  Bruno Haible  <bruno@clisp.org>
69529         Fix regression from 2010-04-25.
69530         * gnulib-tool (func_modules_transitive_closure): Check the status of
69531         all modules, not only of the tests that are of the form foo-tests where
69532         foo is a module.
69534 2010-05-02  Bruno Haible  <bruno@clisp.org>
69536         wctob: Work around nasty Cygwin 1.7.2 bug.
69537         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
69538         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
69540 2010-05-01  Bruno Haible  <bruno@clisp.org>
69542         fpurge: Sharper test.
69543         * tests/test-fpurge.c (main): Add one more ftell check.
69544         * modules/fpurge-tests (Depends-on): Add ftell.
69545         Suggested by Eric Blake.
69547 2010-05-01  Bruno Haible  <bruno@clisp.org>
69549         ftello: Another test.
69550         * tests/test-ftello3.c: New file.
69551         * modules/ftello-tests (Files): Add it.
69552         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69553         MOSTLYCLEANFILES.
69555         ftell: Another test.
69556         * tests/test-ftell3.c: New file.
69557         * modules/ftell-tests (Files): Add it.
69558         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69559         MOSTLYCLEANFILES.
69561 2010-05-01  Bruno Haible  <bruno@clisp.org>
69563         ftell, ftello: Work around Solaris bug.
69564         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
69565         * lib/ftello.c: Include stdio-impl.h.
69566         (ftello): On Solaris, when _IOWRT is set, compute the result without
69567         looking at _IOREAD.
69568         * modules/ftello (Files): Add lib/stdio-impl.h.
69569         * doc/posix-functions/ftell.texi: Mention Solaris bug.
69570         * doc/posix-functions/ftello.texi: Likewise.
69571         Reported by Eric Blake.
69573 2010-05-01  Bruno Haible  <bruno@clisp.org>
69575         freading: Adapt to special meaning of _IOREAD flag on Solaris.
69576         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
69577         the _IOWRT flag is also set.
69579 2010-05-01  Bruno Haible  <bruno@clisp.org>
69581         Fix doc about a HP-UX stdio bug.
69582         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
69583         * doc/posix-functions/ftello.texi: Likewise.
69585 2010-05-01  Bruno Haible  <bruno@clisp.org>
69587         lseek test: Fix failure on Solaris.
69588         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
69589         output.
69591 2010-04-30  Jim Meyering  <meyering@redhat.com>
69593         bootstrap: don't ignore failure to generate po*/Makevars
69594         * build-aux/bootstrap (with_gettext): Don't ignore failure
69595         to create po/Makevars or runtime-po/Makevars.
69597 2010-04-29  Eric Blake  <eblake@redhat.com>
69599         headers: relax license to LGPLv2+
69600         * modules/fcntl-h (License): Relax license.
69601         * modules/getopt-posix (License): Likewise.
69602         * modules/locale (License): Likewise.
69603         * modules/math (License): Likewise.
69604         * modules/pty (License): Likewise.
69605         * modules/sched (License): Likewise.
69606         * modules/search (License): Likewise.
69607         * modules/spawn (License): Likewise.
69608         * modules/stdarg (License): Likewise.
69609         * modules/sysexits (License): Likewise.
69611 2010-04-29  Jim Meyering  <meyering@redhat.com>
69613         inttypes: relax license to LGPLv2+
69614         * modules/inttypes (License): Relax license.
69616 2010-04-29  Simon Josefsson  <simon@josefsson.org>
69618         * top/maint.mk (indent): Run twice to produce idempotent results.
69620 2010-04-28  Bruno Haible  <bruno@clisp.org>
69622         getdate: Generate getdate.c in the source directory.
69623         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
69624         MOSTLYCLEANFILES.
69625         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
69627 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
69629         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
69630         is not declared as a const *; avoid warnings in that case.
69632 2010-04-28  Eric Blake  <eblake@redhat.com>
69634         canonicalize-lgpl: avoid compiler warning
69635         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
69636         declaration' / 'extraneous semicolon' warning with some compilers.
69637         Reported by Andreas Gruenbacher.
69639 2010-04-28  Jim Meyering  <meyering@redhat.com>
69641         init.sh: ensure a more reliable exit status when exiting via trap
69642         * tests/init.sh (setup_): Don't rely on $? in signal handler.
69643         Inspired by patches from Dmitry V. Levin.
69644         Also trap on signal 3 (SIGQUIT).
69646 2010-04-27  Bruno Haible  <bruno@clisp.org>
69648         Update doc about utimes().
69649         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
69650         'utimens' module.
69651         Reported by Andreas Gruenbacher <agruen@suse.de>.
69653 2010-04-27  Eric Blake  <eblake@redhat.com>
69655         full-read, full-write: relax license
69656         * modules/full-read (License): Drop to LGPLv2+.
69657         * modules/full-write (License): Likewise.
69658         * modules/safe-read (License): Likewise.
69659         * modules/safe-write (License): Likewise.
69661         pthread: mention library for linking
69662         * modules/pthread (Link): Mention $(LIB_PTHREAD).
69664 2010-04-27  Jim Meyering  <meyering@redhat.com>
69666         maint.mk: fix a bug introduced in last change
69667         * top/maint.mk (gl_assured_headers_): Now that all names are on
69668         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
69669         is not anchored to end of word, it should be adequate.
69671         maint.mk: avoid side-effect in latest syntax-check
69672         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
69673         to run commands via $(shell...), and hence to incur cost only when
69674         the new rule is actually run.
69676         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
69677         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
69678         and use that to create a regexp used to detect all #if HAVE_..._H uses.
69679         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
69680         (gl_assured_headers_, az_, AZ_): Define.
69681         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
69683 2010-04-26  Jim Meyering  <jim@meyering.net>
69684             Bruno Haible  <bruno@clisp.org>
69686         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
69687         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
69688         Prompted by an exchange with Gilles Espinasse.
69690 2010-04-26  Jim Meyering  <meyering@redhat.com>
69692         git-version-gen: aesthetic tweak
69693         * build-aux/git-version-gen: Use "$nl" rather than a literal,
69694         so that the command remains on a single line.
69696 2010-04-26  Eric Blake  <eblake@redhat.com>
69698         git-version-gen: allow use on EBCDIC hosts
69699         * build-aux/git-version-gen (dirty): Use literal rather than tying
69700         ourselves to ascii.
69701         Reported by Steve Goetze.
69703 2010-04-25  Bruno Haible  <bruno@clisp.org>
69705         netdb: Add support for GNULIB_POSIXCHECK.
69706         * lib/netdb.in.h: Include warn-on-use.h.
69707         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
69708         functions are used when GNULIB_POSIXCHECK is defined and the
69709         getaddrinfo module is not in use.
69710         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
69711         freeaddrinfo, gai_strerror, getnameinfo are declared.
69712         * modules/netdb (Depends-on): Add warn-on-use.
69713         (Makefile.am): Include warn-on-use.h in netdb.h.
69715 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
69717         build: avoid "make check" failure without .git/ directory
69718         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
69719         there is no .git/ directory.
69721 2010-04-25  Bruno Haible  <bruno@clisp.org>
69723         ptsname: Fix misuse of ttyname_r.
69724         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
69725         of errno.
69727 2010-04-25  Bruno Haible  <bruno@clisp.org>
69729         ttyname_r: Make it work on Solaris 10.
69730         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
69731         if the system function has the POSIX declaration. Test whether the
69732         function fails if the buffer is less than 128 bytes large.
69733         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
69734         system's ttyname_r function. Provide a reasonably large buffer.
69735         * modules/ttyname_r (Depends-on): Add extensions.
69736         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
69738 2010-04-25  Bruno Haible  <bruno@clisp.org>
69740         Use the 'extensions' module for some more functions on Solaris.
69741         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
69742         module.
69743         * doc/posix-functions/ctime_r.texi: Likewise.
69744         * doc/posix-functions/getgrgid_r.texi: Likewise.
69745         * doc/posix-functions/getgrnam_r.texi: Likewise.
69746         * doc/posix-functions/getpwnam_r.texi: Likewise.
69747         * doc/posix-functions/getpwuid_r.texi: Likewise.
69748         * doc/posix-functions/readdir_r.texi: Likewise.
69749         * doc/posix-functions/sigwait.texi: Likewise.
69750         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
69751         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
69753 2010-04-25  Bruno Haible  <bruno@clisp.org>
69755         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
69756         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
69757         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
69758         * lib/ttyname_r.c: Include <limits.h>.
69759         (ttyname_r): Define using the system's ttyname_r function, if it exists
69760         and not on Solaris.
69761         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
69762         set.
69763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
69764         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
69765         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
69766         Reported by Simon Josefsson.
69768 2010-04-25  Bruno Haible  <bruno@clisp.org>
69770         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
69771         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
69772         * doc/posix-functions/ctime_r.texi: Likewise.
69773         * doc/posix-functions/getgrgid_r.texi: Likewise.
69774         * doc/posix-functions/getgrnam_r.texi: Likewise.
69775         * doc/posix-functions/getlogin_r.texi: Likewise.
69776         * doc/posix-functions/getpwnam_r.texi: Likewise.
69777         * doc/posix-functions/getpwuid_r.texi: Likewise.
69778         * doc/posix-functions/readdir_r.texi: Likewise.
69779         * doc/posix-functions/sigwait.texi: Likewise.
69780         * doc/posix-functions/ttyname_r.texi: Likewise.
69781         Reported by Simon Josefsson.
69783 2010-04-25  Bruno Haible  <bruno@clisp.org>
69785         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
69786         * gnulib-tool (func_usage): Document that --with-*-tests options apply
69787         also to --create-testdir.
69788         (func_acceptable): Don't consider the status of *-tests modules here.
69789         (func_modules_transitive_closure): Consider it here, before including a
69790         test module.
69791         (func_import, func_create_testdir): Set inc_all_direct_tests,
69792         inc_all_indirect_tests.
69793         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
69794         --create-testdir and --create-megatestdir.
69796 2010-04-25  Bruno Haible  <bruno@clisp.org>
69798         gnulib-tool: Add --without-*-tests options.
69799         * gnulib-tool (func_usage): Document the --without-*-tests options.
69800         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
69801         excl_unportable_tests): New variables.
69802         Fail if they are specified with --import or --update.
69803         (func_acceptable): Respect the excl_*_tests variables.
69804         (func_import): Set the excl_*_tests variables to empty.
69806 2010-04-25  Simon Josefsson  <simon@josefsson.org>
69807             Bruno Haible  <bruno@clisp.org>
69809         Work around a MacOS X 10.4 bug with openpty.
69810         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
69811         * tests/test-openpty.c (main): Close the master side explicitly.
69813 2010-04-25  Bruno Haible  <bruno@clisp.org>
69815         strnlen: Fix a C++ test error on MacOS X and Solaris.
69816         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
69817         the function is not declared.
69818         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
69819         Simon Josefsson.
69821 2010-04-24  Bruno Haible  <bruno@clisp.org>
69823         Avoid a gcc warning.
69824         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
69825         of correct type for %08lx directive.
69826         Reported by Eric Blake.
69828 2010-04-24  Bruno Haible  <bruno@clisp.org>
69830         vasnprintf: Correct errno value in case of out-of-memory.
69831         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
69832         or sprintf. Use the errno value from SNPRINTF or sprintf.
69833         Reported by Ian Beckwith <ianb@erislabs.net>.
69835 2010-04-24  Bruno Haible  <bruno@clisp.org>
69837         ansi-c++-opt: Find correct compiler when cross-compiling.
69838         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
69839         AC_CHECK_PROGS.
69840         Reported by Simon Josefsson.
69842 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
69844         vc-list-files: Add support for subversion
69845         * build-aux/vc-list-files: Use "svn list" to generate the list of
69846         files controlled by subversion.
69848 2010-04-23  Jim Meyering  <meyering@redhat.com>
69850         vc-list-files tests: convert to use init.sh
69851         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
69852         path_prepend_.
69853         Use Exit, not exit.
69854         Use skip_ rather than open coding it.
69855         Remove trap set-up and compare definitions.
69856         * tests/test-vc-list-files-git.sh: Likewise.
69857         * modules/vc-list-files-tests (Files): Add tests/init.sh.
69859 2010-04-22  Simon Josefsson  <simon@josefsson.org>
69861         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
69862         backup files.
69864 2010-04-21  Simon Josefsson  <simon@josefsson.org>
69866         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
69868 2010-04-20  Eric Blake  <eblake@redhat.com>
69870         tests: be robust to ignored SIGPIPE
69871         * tests/test-select-in.sh: Consume all output.
69872         * tests/test-lseek.sh: Check correct exit status, while avoiding
69873         EPIPE.
69875 2010-04-20  Simon Josefsson  <simon@josefsson.org>
69876             Bruno Haible  <bruno@clisp.org>
69878         visibility: Don't use -fvisibility if it leads to a warning.
69879         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
69880         yes, don't pretend that visibility works if it leads to a warning.
69881         Reported by Mike Gran <spk121@yahoo.com>.
69883 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
69885         * build-aux/bootstrap: Use "git -h" for testing for supported options
69886         instead of "git --help".  The short-form option only shows a summary,
69887         and doesn't layout the full man page.  Grep for the full option name
69888         in the summary, too.
69890 2010-04-19  Bruno Haible  <bruno@clisp.org>
69892         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
69893         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
69894         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
69895         mention of RELOCATABLE_STRIP.
69896         Reported by Sylvain Beucler <beuc@beuc.net>.
69898 2010-04-19  Bruno Haible  <bruno@clisp.org>
69900         * lib/diffseq.h: Fix typo in comment.
69901         Reported by Eric Blake.
69903 2010-04-19  Bruno Haible  <bruno@clisp.org>
69905         ioctl: Move autoconf macro to a .m4 file.
69906         * m4/ioctl.m4: New file, extracted from modules/ioctl.
69907         * modules/ioctl (Files): Add it.
69908         (configure.ac): Simply invoke gl_FUNC_IOCTL.
69909         Reported by Ian Beckwith <ianb@erislabs.net>.
69911 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
69912             Bruno Haible  <bruno@clisp.org>
69914         diffseq: Accommodate use-case with abstract arrays.
69915         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
69916         is not defined.
69917         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
69918         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
69920 2010-04-18  Bruno Haible  <bruno@clisp.org>
69922         * doc/posix-headers/stdbool.texi: More precise wording.
69924 2010-04-17  Jim Meyering  <meyering@redhat.com>
69926         maint.mk: use gnu-style indentation in an embedded perl script
69927         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
69928         Rename variable: s/two/last_two_bytes/
69930 2010-04-16  Eric Blake  <eblake@redhat.com>
69932         test-stdbool: skip test that fails with Solaris CC
69933         * tests/test-stdbool.c (f): Skip test that causes compilation
69934         error under buggy C++ compiler.
69935         * lib/stdbool.in.h: Document the limitation.
69936         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
69938         setenv: allow compilation with C++
69939         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
69940         register keyword.
69942         stdint: allow test to pass with C++
69943         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
69945         getopt: allow compilation with C++
69946         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
69947         struct.
69948         * lib/getopt.c (_getopt_internal_r): Use correct type.
69949         Reported by Dagobert Michelson, via Joel E. Denny.
69951 2010-04-16  Bruno Haible  <bruno@clisp.org>
69953         Override netdb.h always.
69954         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
69955         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
69956         Reported by Ludovic Courtès <ludo@gnu.org>.
69958 2010-04-15  Bruno Haible  <bruno@clisp.org>
69960         openpty: Fix mistake from 2010-03-21.
69961         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
69962         Reported by Simon Josefsson.
69964 2010-04-15  Eric Blake  <eblake@redhat.com>
69966         test-forkpty: fix expected signature
69967         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
69968         Reported by Simon Josefsson.
69970 2010-04-15  Jim Meyering  <meyering@redhat.com>
69972         maint.mk: texinfo_suffix_re_: correct the default regexp
69973         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
69975         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
69976         make it configurable via texinfo_suffix_re_.
69978 2010-04-14  Eric Blake  <eblake@redhat.com>
69980         strtok_r: relax license to LGPLv2+
69981         * modules/strtok_r (License): Relax license.
69982         Reported by Matthias Bolte.
69984 2010-04-14  Simon Josefsson  <simon@josefsson.org>
69986         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
69987         version 1.4.4 by default instead of requiring the libgcrypt
69988         version used during build.  This makes it possible to use the
69989         application with older but still binary compatible libgcrypt
69990         versions.
69992 2010-04-13  Eric Blake  <eblake@redhat.com>
69994         getopt-gnu: match recent glibc fixes and posix ruling
69995         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
69996         '+' handling, when requesting extensions.
69997         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
69998         'W;' handling.
69999         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
70000         * doc/posix-functions/getopt.texi (getopt): Document this.
70001         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
70002         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
70003         Likewise.
70005         getopt: merge bug fixes from glibc
70006         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
70007         diagnostics.  Honor '+:' correctly.  Reject ';'.
70009         getopt-posix: detect MacOS bug
70010         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
70011         optind when missing a required argument.
70012         * doc/posix-functions/getopt.texi (getopt): Document the bug.
70013         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
70014         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
70015         Likewise.
70017         getopt-posix: avoid spurious failure on Solaris
70018         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
70019         an indicator that setting optind=1 is sufficient for reset.
70021         getopt-posix: avoid spurious failure on FreeBSD
70022         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
70023         in POSIX mode, since the m4 test uses it.
70025         gnulib-tool: silence warning on BSD sh
70026         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
70028 2010-04-13  Jim Meyering  <meyering@redhat.com>
70030         doc: users.txt: GNU patch now uses gnulib
70031         * users.txt: Add patch.
70033 2010-04-12  Jim Meyering  <meyering@redhat.com>
70035         maint.mk: generate more concise timing data for syntax-check rules
70036         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
70037         " done" from each line that reports a syntax-check test duration.
70039 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
70041         git-version-gen: use "git update-index..." rather than "git status"
70042         * build-aux/git-version-gen: Use git update-index --refresh, not
70043         "git status".  With some versions of git, "git status" would fail
70044         to update the index and result in an unwarranted "-dirty" suffix.
70046 2010-04-11  Jim Meyering  <meyering@redhat.com>
70048         openat: correct formatting (no semantic change)
70049         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
70050         Suggested by Bruno Haible.
70052 2010-04-11  Bruno Haible  <bruno@clisp.org>
70054         Stricter declaration checking in testdirs.
70055         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70056         If for_tests is true, augment AM_CPPFLAGS to define
70057         GNULIB_STRICT_CHECKING.
70058         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
70059         GNULIB_STRICT_CHECKING is defined, verify that the function is
70060         declared.
70062 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
70063             Bruno Haible  <bruno@clisp.org>
70065         libunistring: Improve configure output.
70066         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
70067         Don't say "consider installing GNU libunistring" when checking again
70068         with libiconv.
70070 2010-04-11  Bruno Haible  <bruno@clisp.org>
70072         libunistring: Correct value of $LTLIBUNISTRING.
70073         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
70074         correct the value of $LTLIBUNISTRING.
70076 2010-04-11  Bruno Haible  <bruno@clisp.org>
70078         havelib: Add static libraries to LIBS in the right order.
70079         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
70080         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
70082 2010-04-11  Bruno Haible  <bruno@clisp.org>
70084         libunistring: Detect libunistring also when it depends on libiconv.
70085         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
70086         the second AC_LIB_HAVE_LINKFLAGS invocation.
70088 2010-04-11  James Youngman  <jay@gnu.org>
70090         close-stream: declare local scalars to be "const"
70091         * lib/close-stream.c (close_stream): Make boolean variables const
70092         to document the fact that we set but do not change them.
70094 2010-04-11  Bruno Haible  <bruno@clisp.org>
70096         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
70098 2010-04-11  Jim Meyering  <meyering@redhat.com>
70100         maint.mk: don't include dist-check.mk
70101         * top/maint.mk: Remove bogus include directive.
70103         maint.mk: improve empty-line-at-EOF check
70104         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
70105         solution, rather than tail+Perl-based one.  The latter would read
70106         a few kilobytes from the end of each file, and did not handle empty
70107         files properly.
70109         maint.mk: print the elapsed time for each syntax-check rule
70110         * top/maint.mk (sc_m_rules_): Save start time in a file.
70111         (sc_z_rules_): New rules: remove temp file and print elapsed time.
70112         (local-check): Interpose the .z rules
70114 2010-04-11  Jim Meyering  <meyering@redhat.com>
70116         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
70117         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
70118         empty file with one that ends in an empty line.
70120 2010-04-10  Bruno Haible  <bruno@clisp.org>
70122         mkdir: Make it work on mingw64.
70123         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
70124         * lib/mkdir.c: Update comment.
70125         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
70127 2010-04-10  Bruno Haible  <bruno@clisp.org>
70129         Don't override improved macro from newer autoconf.
70130         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
70131         autoconf >= 2.62.
70132         Reported by Joel E. Denny <jdenny@clemson.edu>.
70134 2010-04-10  Jim Meyering  <meyering@redhat.com>
70136         maint.mk: new syntax-check rule: prohibit empty lines at end of file
70137         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
70139         maint.mk: correct a diagnostic
70140         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
70141         in diagnostic; now use $prohibit.
70143 2010-04-10  Bruno Haible  <address@hidden>
70145         fchownat: Fix a C++ test error on Solaris 8.
70146         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
70147         the function does not exist.
70149 2010-04-10  Bruno Haible  <bruno@clisp.org>
70151         vasnprintf: Add more tests.
70152         * tests/test-vasnprintf-posix.c: Include <errno.h>.
70153         (test_function): Test converting an invalid wide string.
70155         vasnprintf: Correct handling of unconvertible wide string arguments.
70156         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
70157         VASNPRINTF.
70158         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
70159         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
70160         smaller than the expected maximum need for the directive. Set errno to
70161         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
70162         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
70163         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
70164         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
70165         * modules/vasnprintf (Files): Add m4/printf.m4.
70166         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70168 2010-04-10  Bruno Haible  <bruno@clisp.org>
70170         vasnprintf: Fix crash in %ls directive.
70171         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
70172         string is passed as argument to %ls, with no precision and no width.
70173         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70175 2010-04-10  Bruno Haible  <bruno@clisp.org>
70177         vasnprintf: Fix multiple test failures on mingw.
70178         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
70179         _snprintf, or snwprintf, not _snwprintf.
70181 2010-04-10  Bruno Haible  <bruno@clisp.org>
70183         write: Fix a C++ test error on mingw.
70184         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
70186 2010-04-10  Bruno Haible  <bruno@clisp.org>
70188         vasnprintf test: Reduce code duplication.
70189         * tests/test-vasnprintf.c (test_function): New function, extracted from
70190         test_vasnprintf.
70191         (test_vasnprintf, test_asnprintf): Invoke it.
70193 2010-04-10  Bruno Haible  <bruno@clisp.org>
70195         strnlen: Fix warning in C++ mode on MacOS X.
70196         * lib/string.in.h (strnlen): Use the modern idiom.
70197         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
70198         defining strnlen as a macro already in <config.h>.
70199         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70200         REPLACE_STRNLEN.
70201         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
70202         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70204 2010-04-08  James Youngman  <jay@gnu.org>
70206         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
70207         the example.
70209 2010-04-09  Jim Meyering  <meyering@redhat.com>
70211         maint.mk: print better diagnostic when there is no $(_hv_file)
70212         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
70213         announce that when $(_hv_file) (aka help-version) does not exist.
70215         init.sh: run tr in the "C" locale to avoid multibyte interpretation
70216         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
70217         not try to interpret its random input bytes.  Jarno Rajahalme reported
70218         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
70219         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
70220         (mktempd_): Likewise, just in case.
70222         ftruncate: add two years to projected module removal date: 2012
70223         * m4/ftruncate.m4: Adjust comments.
70225         ftruncate: mark module as obsolete; even MinGW provides it, now
70226         * modules/ftruncate (Status): Obsolete.
70227         (Notice): Say that.
70228         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
70229         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
70231 2010-04-08  Bruno Haible  <bruno@clisp.org>
70233         Fix side effects from tests-related modules.
70234         * modules/dprintf-posix (Comment): New section.
70235         * modules/fprintf-posix (Comment): Likewise.
70236         * modules/obstack-printf-posix (Comment): Likewise.
70237         * modules/printf-posix (Comment): Likewise.
70238         * modules/snprintf-posix (Comment): Likewise.
70239         * modules/sprintf-posix (Comment): Likewise.
70240         * modules/vasnprintf-posix (Comment): Likewise.
70241         * modules/vasprintf-posix (Comment): Likewise.
70242         * modules/vdprintf-posix (Comment): Likewise.
70243         * modules/vfprintf-posix (Comment): Likewise.
70244         * modules/vprintf-posix (Comment): Likewise.
70245         * modules/vsnprintf-posix (Comment): Likewise.
70246         * modules/vsprintf-posix (Comment): Likewise.
70247         * modules/xprintf-posix (Comment): Likewise.
70248         * modules/xvasprintf-posix (Comment): Likewise.
70249         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
70250         * modules/floorf-tests (Depends-on): Likewise.
70251         * modules/round-tests (Depends-on): Likewise.
70252         * modules/roundf-tests (Depends-on): Likewise.
70253         * modules/trunc-tests (Depends-on): Likewise.
70254         * modules/truncf-tests (Depends-on): Likewise.
70255         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
70256         'fprintf-posix' module is not present.
70257         * tests/test-floorf2.c (check): Likewise.
70258         * tests/test-trunc2.c (check): Likewise.
70259         * tests/test-truncf2.c (check): Likewise.
70260         * tests/test-round2.c (equal): Likewise.
70261         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70263 2010-04-07  Karl Berry  <karl@gnu.org>
70265         * config/srclist.txt,
70266         * config/srclistvars.sh,
70267         * config/srclist-update: doc fixes.
70269 2010-04-07  Jim Meyering  <meyering@redhat.com>
70271         maint.mk: add a PATH crosschecking syntax-check rule
70272         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
70273         Useful if you use a test like the one in help-version (coreutils,
70274         diffutils, grep, gzip) that ensures $(VERSION) matches what is
70275         printed by prog --version.
70277 2010-04-06  Bruno Haible  <bruno@clisp.org>
70279         Fix link error on mingw.
70280         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
70281         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
70283 2010-04-06  Bruno Haible  <bruno@clisp.org>
70285         Assume rmdir exists.
70286         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
70288 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
70290         doc: update users.txt
70291         * users.txt: Add gcal.
70293 2010-04-06  Jim Meyering  <meyering@redhat.com>
70295         init.sh: simply unset TMPDIR rather than risking env -i
70296         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
70297         although it probably works fine on all Unix-based systems, some
70298         systems (Cygwin?) cannot tolerate a totally cleared environment.
70299         Suggestion from Eric Blake.
70301 2010-04-06  Jim Meyering  <meyering@redhat.com>
70303         init.sh: portability fix: use env's POSIX-specified -i option not -u
70304         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
70305         than unportable env -u.  Solaris 5.11's env lacks support for -u.
70307 2010-04-05  Bruno Haible  <bruno@clisp.org>
70309         btowc: Work around Cygwin 1.7.2 bug.
70310         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
70311         does not map NUL to 0.
70312         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
70314 2010-04-05  Bruno Haible  <bruno@clisp.org>
70316         Make the multithread modules work on Cygwin 1.7.2.
70317         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
70318         imported symbols can be declared weak, so that it returns "no" on
70319         Cygwin 1.7.2.
70321 2010-04-05  Bruno Haible  <bruno@clisp.org>
70323         Use the module 'strncat'.
70324         * modules/unistr/u8-strncat (Depends-on): Add strncat.
70326         Tests for module 'strncat'.
70327         * modules/strncat-tests: New file.
70328         * tests/test-strncat.c: New file.
70330         New module 'strncat'.
70331         * lib/string.in.h (strncat): New declaration.
70332         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
70333         * m4/strncat.m4: New file, based on m4/memchr.m4.
70334         * modules/strncat: New file.
70335         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
70336         is declared.
70337         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
70338         REPLACE_STRNCAT.
70339         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
70340         REPLACE_STRNCAT.
70341         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
70342         module.
70343         * tests/test-string-c++.cc: Check signature of strncat.
70345 2010-04-05  Jim Meyering  <meyering@redhat.com>
70347         xstrtoumax-tests: convert to use init.sh
70348         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
70349         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70350         Use Exit, not exit.
70351         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70353         xstrtoimax-tests: convert to use init.sh
70354         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
70355         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70356         Use Exit, not exit.
70357         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70359 2010-04-05  Bruno Haible  <bruno@clisp.org>
70361         sys_socket: Avoid #define replacements in C++ mode.
70362         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
70363         warning to the function if possible, rather than #defining the symbol
70364         to a dysfunctional alias.
70366 2010-04-05  Bruno Haible  <bruno@clisp.org>
70368         fseeko: Fix C++ test error on mingw.
70369         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
70370         gl_FUNC_FSEEKO.
70371         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
70372         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
70373         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
70374         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
70376 2010-04-05  Bruno Haible  <bruno@clisp.org>
70378         duplocale: Improve test output.
70379         * tests/test-duplocale.c (main): Print reason for skipped test.
70381 2010-04-05  Bruno Haible  <bruno@clisp.org>
70383         Assume rmdir exists.
70384         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
70385         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
70387 2010-04-05  Bruno Haible  <bruno@clisp.org>
70389         Fix link error on Solaris 8 with cc.
70390         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
70392 2010-04-05  Bruno Haible  <bruno@clisp.org>
70394         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70395         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
70397 2010-04-05  Bruno Haible  <bruno@clisp.org>
70399         vasprintf: Update documentation.
70400         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
70402 2010-04-05  Bruno Haible  <bruno@clisp.org>
70404         ptsname: Improve test.
70405         * tests/test-ptsname.c (main): Also try the various master names of BSD
70406         systems.
70408 2010-04-05  Bruno Haible  <bruno@clisp.org>
70410         memchr: Avoid a possible C++ test error.
70411         * lib/string.in.h (memchr): Provide declaration if function is missing.
70412         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
70413         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
70414         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
70415         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
70417 2010-04-05  Bruno Haible  <bruno@clisp.org>
70419         strtok_r: Improve idiom.
70420         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
70421         AC_LIBOBJ is used.
70423 2010-04-05  Bruno Haible  <bruno@clisp.org>
70425         strdup: Improve idiom.
70426         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
70427         AC_LIBOBJ is used.
70428         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
70429         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
70430         when AC_LIBOBJ is used.
70432 2010-04-05  Bruno Haible  <bruno@clisp.org>
70434         mbsinit, mbrtowc, wcrtomb: Improve idioms.
70435         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
70436         don't set REPLACE_MBSINIT to 1.
70437         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
70438         don't set REPLACE_MBRTOWC to 1.
70439         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
70440         exist, don't set REPLACE_MBSRTOWCS to 1.
70441         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
70442         exist, don't set REPLACE_MBSNRTOWCS to 1.
70443         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
70444         don't set REPLACE_WCRTOMB to 1.
70445         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
70446         exist, don't set REPLACE_WCSRTOMBS to 1.
70447         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
70448         exist, don't set REPLACE_WCSNRTOMBS to 1.
70450 2010-04-05  Bruno Haible  <bruno@clisp.org>
70452         ldexpl: Improve idiom.
70453         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
70454         make sure to set HAVE_DECL_LDEXPL to 0.
70456 2010-04-05  Jim Meyering  <meyering@redhat.com>
70458         xstrtol-tests: convert to use init.sh
70459         * modules/xstrtol-tests (Files): Add tests/init.sh.
70460         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70461         Use Exit, not exit.
70462         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70464         atexit-tests: convert to use init.sh
70465         * modules/atexit-tests (Files): Add tests/init.sh.
70466         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70467         Use Exit, not exit.
70468         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70470         init.sh: fix typo
70471         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
70473         init.sh: make it easier for a test script to write to the tty, ...
70474         when using automake's parallel-tests mode.
70475         * tests/init.sh (stderr_fileno_): Define overridable variable.
70476         (warn_): New function, to use it.
70477         (fail_, skip_, framework_failure_): Use warn_.
70479 2010-04-04  Bruno Haible  <bruno@clisp.org>
70481         btowc: Avoid warning.
70482         * lib/btowc.c: Include <stdlib.h>.
70483         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
70485 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70486             Bruno Haible  <bruno@clisp.org>
70488         wchar: Port to NetBSD 1.5.
70489         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
70490         * lib/wctype.in.h (WEOF): Likewise.
70492 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70493             Bruno Haible  <bruno@clisp.org>
70495         Port extended stdio to NetBSD 1.5.
70496         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
70497         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
70498         older.
70500 2010-04-04  Bruno Haible  <bruno@clisp.org>
70502         string: Remove unused substitution.
70503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70504         HAVE_DECL_STRERROR.
70505         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
70507 2010-04-04  Bruno Haible  <bruno@clisp.org>
70509         strtod: Avoid a possible C++ test error.
70510         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
70511         set REPLACE_STRTOD.
70513 2010-04-04  Bruno Haible  <bruno@clisp.org>
70515         strerror: Update documentation.
70516         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
70518 2010-04-04  Bruno Haible  <bruno@clisp.org>
70520         stdio: Fix some C++ test errors on Solaris 8 with GCC.
70521         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
70522         _GL_CXXALIAS_SYS_CAST.
70524 2010-04-04  Bruno Haible  <bruno@clisp.org>
70526         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70527         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
70528         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
70529         REPLACE_FREXPL to 1.
70530         * doc/posix-functions/frexpl.texi: Update documentation.
70532 2010-04-04  Bruno Haible  <bruno@clisp.org>
70534         math: Fix some C++ test errors on Solaris 8 and Cygwin.
70535         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
70537 2010-04-04  Bruno Haible  <bruno@clisp.org>
70539         Implement nanosleep for native Windows.
70540         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
70542 2010-04-04  Bruno Haible  <bruno@clisp.org>
70544         math: Fix some C++ test errors on Solaris 8.
70545         * lib/math.in.h (truncf, trunc): Use simpler idiom.
70547 2010-04-04  Bruno Haible  <bruno@clisp.org>
70549         math: Fix some C++ test errors on Cygwin.
70550         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
70551         truncl): Provide declaration if the system does not have it.
70552         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
70553         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
70554         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
70555         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
70556         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
70557         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
70558         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
70559         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
70560         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
70561         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
70562         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
70563         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
70564         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
70565         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
70566         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
70567         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
70568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
70569         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70570         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70571         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
70572         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70573         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70575 2010-04-04  Bruno Haible  <bruno@clisp.org>
70577         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
70578         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
70579         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
70580         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
70581         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
70582         * m4/isinf.m4 (gl_ISINF): Likewise.
70583         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
70585 2010-04-04  Bruno Haible  <bruno@clisp.org>
70587         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
70588         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
70590 2010-04-04  Bruno Haible  <bruno@clisp.org>
70592         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
70593         * modules/tmpfile (configure.ac): Update.
70595         tmpfile: Fix C++ test error on mingw.
70596         * lib/stdio.in.h (tmpfile): New declaration.
70597         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
70598         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
70599         * modules/tmpfile (Depends-on): Add stdio.
70600         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70601         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
70602         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
70603         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
70604         REPLACE_TMPFILE.
70605         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
70607 2010-04-04  Bruno Haible  <bruno@clisp.org>
70609         ioctl: Fix C++ test error on mingw.
70610         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
70611         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
70612         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
70614 2010-04-03  Bruno Haible  <bruno@clisp.org>
70616         wcwidth: Fix C++ test error on mingw.
70617         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
70618         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
70619         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
70621 2010-04-03  Bruno Haible  <bruno@clisp.org>
70623         nanosleep: Fix C++ test error on mingw.
70624         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
70625         * lib/time.in.h (nanosleep): Use modern idiom.
70626         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
70627         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
70628         REPLACE_NANOSLEEP to 1.
70629         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
70630         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
70632 2010-04-03  Bruno Haible  <bruno@clisp.org>
70634         strptime: Fix C++ test error on mingw.
70635         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
70636         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
70637         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
70638         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
70639         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
70640         not REPLACE_STRPTIME.
70641         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
70642         REPLACE_STRPTIME.
70644 2010-04-03  Bruno Haible  <bruno@clisp.org>
70646         timegm: Fix C++ test error on mingw.
70647         * lib/time.in.h (timegm): Use modern idiom.
70648         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
70649         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
70650         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
70651         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
70653 2010-04-03  Bruno Haible  <bruno@clisp.org>
70655         timegm: Assume declaration if function exists.
70656         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
70657         if it exists. Don't clobber ac_cv_func_timegm.
70659 2010-04-03  Bruno Haible  <bruno@clisp.org>
70661         time_r: Fix C++ test error on mingw.
70662         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
70663         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
70664         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
70665         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
70666         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
70668 2010-04-03  Bruno Haible  <bruno@clisp.org>
70670         time_r: Minor updates.
70671         * modules/time_r (Description): Mention the provided functions.
70672         * lib/time_r.c: Don't include <string.h>.
70673         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
70674         * doc/posix-functions/localtime_r.texi: Likewise.
70676 2010-04-03  Bruno Haible  <bruno@clisp.org>
70678         time: Fix regression introduced on 2010-03-08.
70679         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
70680         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
70682 2010-04-03  Jim Meyering  <meyering@redhat.com>
70684         maint.mk: don't silently disable project-specific syntax-check rules
70685         * top/maint.mk (_prohibit_regexp): Define, to help people realize
70686         that they need to convert their project-specific syntax-check rules
70687         to use the new _sc_search_regexp.
70689 2010-04-03  Bruno Haible  <bruno@clisp.org>
70691         fchdir: Fix regression introduced on 2010-03-08.
70692         * lib/unistd.in.h (fchdir): Fix declaration.
70693         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
70694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
70695         REPLACE_FCHDIR.
70696         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
70697         REPLACE_FCHDIR.
70699 2010-04-03  Bruno Haible  <bruno@clisp.org>
70701         getpagesize: Fix C++ test error on mingw.
70702         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
70703         system does not declare the function.
70704         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
70705         declared.
70706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70707         HAVE_DECL_GETPAGESIZE.
70708         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
70710 2010-04-03  Bruno Haible  <bruno@clisp.org>
70712         stdio: Make C++ tests work on mingw.
70713         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
70714         does not declare the function.
70716 2010-04-03  Bruno Haible  <bruno@clisp.org>
70718         ftello: Fix C++ test error on mingw.
70719         * lib/stdio.in.h (ftello): Use modern idiom.
70720         * lib/ftello.c (ftello): Renamed from rpl_ftello.
70721         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
70722         is missing and that it needs to be replaced.
70723         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
70724         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
70725         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
70727 2010-04-03  Bruno Haible  <bruno@clisp.org>
70729         fseeko: Fix C++ test error on mingw.
70730         * lib/stdio.in.h (fseeko): Use modern idiom.
70731         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
70732         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
70733         is missing and that it needs to be replaced.
70734         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
70735         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
70736         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
70738 2010-04-03  Bruno Haible  <bruno@clisp.org>
70740         mkstemp: Fix C++ test error on mingw.
70741         * lib/stdlib.in.h (mkstemp): Use modern idiom.
70742         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
70743         function is missing and that it needs to be replaced.
70744         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
70745         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
70747 2010-04-03  Bruno Haible  <bruno@clisp.org>
70749         stpncpy: Fix C++ test error on mingw.
70750         * lib/string.in.h (stpncpy): Use modern idiom.
70751         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
70752         function is missing and that it needs to be replaced.
70753         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70754         REPLACE_STPNCPY.
70755         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
70757 2010-04-03  Bruno Haible  <bruno@clisp.org>
70759         sys_stat: Fix C++ test error on mingw.
70760         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
70761         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
70763 2010-04-03  Bruno Haible  <bruno@clisp.org>
70765         pty: Update doc.
70766         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
70768 2010-04-03  Bruno Haible  <bruno@clisp.org>
70770         unistd: Fix C++ test error on mingw.
70771         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
70773 2010-04-03  Bruno Haible  <bruno@clisp.org>
70775         Update doc regarding mingw.
70776         * doc/glibc-functions/openpty.texi: Update regarding mingw.
70777         * doc/glibc-functions/login_tty.texi: Likewise.
70778         * doc/glibc-functions/forkpty.texi: Likewise.
70780 2010-04-03  Bruno Haible  <bruno@clisp.org>
70782         stdlib: Avoid compilation failure of c-strtold on mingw.
70783         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
70785 2010-04-03  Bruno Haible  <bruno@clisp.org>
70787         locale: Make C++ tests work on Cygwin and mingw.
70788         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
70789         cannot provide the function.
70790         Reported by Simon Josefsson.
70792 2010-04-03  Bruno Haible  <bruno@clisp.org>
70794         localename: Port to MacOS X 10.6.
70795         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
70796         memory layout of the locales in MacOS X 10.6 as well.
70797         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
70799 2010-04-02  Bruno Haible  <bruno@clisp.org>
70801         gnulib-tool: Ensure that long-running tests are executed last.
70802         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
70803         running tests after the one for the other tests.
70805 2010-04-02  Bruno Haible  <bruno@clisp.org>
70807         gnulib-tool: Ensure the tests in the main directory are executed first.
70808         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
70809         start with the current directory.
70811 2010-04-02  Bruno Haible  <bruno@clisp.org>
70813         Tests for module 'havelib', moved here from GNU gettext.
70814         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
70815         modifications.
70816         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
70817         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
70818         with modifications.
70819         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
70820         modifications.
70821         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
70822         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
70823         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
70824         with modifications.
70825         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
70826         with modifications.
70827         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
70828         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
70829         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
70830         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
70831         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
70832         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
70833         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
70834         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
70835         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
70836         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
70837         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
70838         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
70839         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
70840         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
70841         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
70842         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
70843         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
70844         with modifications.
70845         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
70846         with modifications.
70847         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
70848         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
70849         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
70850         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
70851         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
70852         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
70853         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
70854         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
70855         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
70856         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
70857         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
70858         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
70859         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
70860         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
70861         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
70862         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
70863         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
70864         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
70865         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
70866         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
70867         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
70868         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
70869         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
70870         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
70871         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
70872         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
70873         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
70874         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
70875         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
70876         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
70877         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
70878         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
70879         * tests/havelib/rpathx/rpathx.c: New file, from
70880         gettext/autoconf-lib-link.
70881         * tests/havelib/rpathx/Makefile.am: New file, from
70882         gettext/autoconf-lib-link.
70883         * tests/havelib/rpathx/configure.ac: New file, from
70884         gettext/autoconf-lib-link with modifications.
70885         * tests/havelib/rpathy/rpathy.c: New file, from
70886         gettext/autoconf-lib-link.
70887         * tests/havelib/rpathy/Makefile.am: New file, from
70888         gettext/autoconf-lib-link.
70889         * tests/havelib/rpathy/configure.ac: New file, from
70890         gettext/autoconf-lib-link with modifications.
70891         * tests/havelib/rpathz/rpathz.c: New file, from
70892         gettext/autoconf-lib-link.
70893         * tests/havelib/rpathz/Makefile.am: New file, from
70894         gettext/autoconf-lib-link.
70895         * tests/havelib/rpathz/configure.ac: New file, from
70896         gettext/autoconf-lib-link with modifications.
70897         * tests/havelib/rpathlx/usex.c: New file, from
70898         gettext/autoconf-lib-link.
70899         * tests/havelib/rpathlx/Makefile.am: New file, from
70900         gettext/autoconf-lib-link.
70901         * tests/havelib/rpathlx/configure.ac: New file, from
70902         gettext/autoconf-lib-link with modifications.
70903         * tests/havelib/rpathly/usey.c: New file, from
70904         gettext/autoconf-lib-link.
70905         * tests/havelib/rpathly/Makefile.am: New file, from
70906         gettext/autoconf-lib-link.
70907         * tests/havelib/rpathly/configure.ac: New file, from
70908         gettext/autoconf-lib-link with modifications.
70909         * tests/havelib/rpathlz/usez.c: New file, from
70910         gettext/autoconf-lib-link.
70911         * tests/havelib/rpathlz/Makefile.am: New file, from
70912         gettext/autoconf-lib-link.
70913         * tests/havelib/rpathlz/configure.ac: New file, from
70914         gettext/autoconf-lib-link with modifications.
70915         * tests/havelib/rpathlyx/usey.c: New file, from
70916         gettext/autoconf-lib-link.
70917         * tests/havelib/rpathlyx/Makefile.am: New file, from
70918         gettext/autoconf-lib-link.
70919         * tests/havelib/rpathlyx/configure.ac: New file, from
70920         gettext/autoconf-lib-link with modifications.
70921         * tests/havelib/rpathlzyx/usez.c: New file, from
70922         gettext/autoconf-lib-link.
70923         * tests/havelib/rpathlzyx/Makefile.am: New file, from
70924         gettext/autoconf-lib-link.
70925         * tests/havelib/rpathlzyx/configure.ac: New file, from
70926         gettext/autoconf-lib-link with modifications.
70927         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
70928         with modifications.
70930 2010-04-02  Bruno Haible  <bruno@clisp.org>
70932         gnulib-tool: Create distributed built sources also for the tests.
70933         * gnulib-tool (func_create_testdir): Also generate distributed built
70934         sources in the tests directory.
70936 2010-04-02  Bruno Haible  <bruno@clisp.org>
70938         gnulib-tool: Obey user's environment variables.
70939         * gnulib-tool (func_create_testdir): When creating built sources,
70940         respect the environment variables for autoconf, automake, etc. given by
70941         the user.
70943 2010-04-02  Bruno Haible  <bruno@clisp.org>
70945         gnulib-tool: Provide the value of --m4-base to modules.
70946         * gnulib-tool (func_import, func_create_testdir): Emit a definition
70947         of gl_m4_base.
70949 2010-04-02  Eric Blake  <eblake@redhat.com>
70951         maint.mk: fix some fallout
70952         * NEWS: Document the incompatible change, and its effect on cfg.mk.
70953         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
70955 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70957         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
70958         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
70959         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
70960         (sc_cast_of_x_alloc_return_value): Likewise.
70961         (sc_cast_of_alloca_return_value): Likewise.
70962         (sc_space_tab): Likewise.
70963         (sc_prohibit_atoi_atof): Likewise.
70964         (sc_prohibit_magic_number_exit): Likewise.
70965         (sc_error_exit_success): Likewise.
70966         (sc_file_system): Likewise.
70967         (sc_prohibit_have_config_h): Likewise.
70968         (sc_require_config_h): Likewise.
70969         (sc_prohibit_HAVE_MBRTOWC): Likewise.
70970         (sc_obsolete_symbols): Likewise.
70971         (sc_changelog): Likewise.
70972         (sc_program_name): Likewise.
70973         (sc_the_the): Likewise.
70974         (sc_trailing_blank): Likewise.
70975         (sc_two_space_separator_in_usage): Likewise.
70976         (sc_useless_cpp_parens): Likewise.
70977         (sc_GPL_version): Likewise.
70978         (sc_GFDL_version): Likewise.
70979         (sc_texinfo_acronym): Likewise.
70980         (sc_prohibit_cvs_keyword): Likewise.
70981         (sc_prohibit_stat_st_blocks): Likewise.
70982         (sc_prohibit_S_IS_definition): Likewise.
70983         (sc_redundant_const): Likewise.
70984         (sc_makefile_TAB_only_indentation): Likewise.
70985         (sc_m4_quote_check): Likewise.
70986         (sc_makefile_path_separator_check): Likewise.
70987         (sc_copyright_check): Likewise.
70988         (sc_Wundef_boolean): Likewise.
70989         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
70991         maint.mk: match 0 or more whitespace-before-function-call '('
70992         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
70993         that have zero or two-and-more spaces between the function name
70994         and the open parenthesis.
70995         (sc_error_message_warn_fatal): Likewise.
70996         (sc_error_message_uppercase): Likewise.
70997         (sc_error_message_period): Likewise.
70999 2010-03-31  Eric Blake  <eblake@redhat.com>
71001         maint.mk: check for [ as well as test
71002         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
71003         Based on a libvirt report by Matthias Bolte.
71005         gnumakefile: don't squelch _version output
71006         * top/GNUmakefile (_version): Create one-shot dependency rather
71007         than using $(shell) when version must be regenerated.
71008         (_autoreconf): Run verbosely, by default.
71010         sys_time: avoid compiler warnings
71011         * lib/sys_time.in.h (includes): Ensure gcc pragma is
71012         unconditional, fixing regression from 2010-03-29.
71013         Reported by Simon Josefsson.
71015 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
71017         maint.mk: s/_header_without_use/_sc_header_without_use/
71018         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
71019         (sc_prohibit_assert_without_use): Use the new name.
71020         (sc_prohibit_close_stream_without_use): Likewise.
71021         (sc_prohibit_getopt_without_use): Likewise.
71022         (sc_prohibit_quotearg_without_use): Likewise.
71023         (sc_prohibit_quote_without_use): Likewise.
71024         (sc_prohibit_long_options_without_use): Likewise.
71025         (sc_prohibit_inttostr_without_use): Likewise.
71026         (sc_prohibit_ignore_value_without_use): Likewise.
71027         (sc_prohibit_error_without_use): Likewise.
71028         (sc_prohibit_xalloc_without_use): Likewise.
71029         (sc_prohibit_hash_without_use): Likewise.
71030         (sc_prohibit_hash_pjw_without_use): Likewise.
71031         (sc_prohibit_safe_read_without_use): Likewise.
71032         (sc_prohibit_argmatch_without_use): Likewise.
71033         (sc_prohibit_canonicalize_without_use): Likewise.
71034         (sc_prohibit_root_dev_ino_without_use): Likewise.
71035         (sc_prohibit_openat_without_use): Likewise.
71036         (sc_prohibit_c_ctype_without_use): Likewise.
71037         (sc_prohibit_signal_without_use): Likewise.
71038         (sc_prohibit_intprops_without_use): Likewise.
71040 2010-03-30  Eric Blake  <eblake@redhat.com>
71042         maint: improve module indicators
71043         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
71044         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
71045         columns, and avoid extra macro expansion.
71047         fdopendir: work around FreeBSD bug
71048         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
71049         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
71050         * modules/dirent (Makefile.am): Substitute it.
71051         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
71052         declaration.
71053         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
71054         fix.
71055         Reported by Christian Weisgerber <naddy@mips.inka.de>.
71057 2010-03-29  Bruno Haible  <bruno@clisp.org>
71059         Emit #pragma system_header after the inclusion guard, not before.
71060         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
71061         guard that spans the entire file, not before. This enables an
71062         optimization in GCC's preprocessor.
71063         * lib/ctype.in.h: Likewise.
71064         * lib/dirent.in.h: Likewise.
71065         * lib/errno.in.h: Likewise.
71066         * lib/float.in.h: Likewise.
71067         * lib/getopt.in.h: Likewise.
71068         * lib/iconv.in.h: Likewise.
71069         * lib/langinfo.in.h: Likewise.
71070         * lib/locale.in.h: Likewise.
71071         * lib/math.in.h: Likewise.
71072         * lib/netdb.in.h: Likewise.
71073         * lib/netinet_in.in.h: Likewise.
71074         * lib/pty.in.h: Likewise.
71075         * lib/sched.in.h: Likewise.
71076         * lib/se-selinux.in.h: Likewise.
71077         * lib/search.in.h: Likewise.
71078         * lib/spawn.in.h: Likewise.
71079         * lib/stdarg.in.h: Likewise.
71080         * lib/stdint.in.h: Likewise.
71081         * lib/string.in.h: Likewise.
71082         * lib/strings.in.h: Likewise.
71083         * lib/sys_file.in.h: Likewise.
71084         * lib/sys_ioctl.in.h: Likewise.
71085         * lib/sys_time.in.h: Likewise.
71086         * lib/sys_times.in.h: Likewise.
71087         * lib/sys_utsname.in.h: Likewise.
71088         * lib/sys_wait.in.h: Likewise.
71089         * lib/sysexits.in.h: Likewise.
71090         * lib/wctype.in.h: Likewise.
71092 2010-03-28  James Youngman  <jay@gnu.org>
71094         save-cwd: don't leak a file descriptor when the caller execs.
71095         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
71096         saved file descriptor.
71097         * modules/save-cwd (Depends-on): Depend on cloexec.
71099 2010-03-29  Bruno Haible  <bruno@clisp.org>
71101         Remove vestiges of fts-lgpl module.
71102         * lib/fts_.h: Assume GNULIB_FTS is 1.
71103         * lib/fts.c: Likewise.
71104         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
71106 2010-03-28  Bruno Haible  <bruno@clisp.org>
71108         Fix definition of tests witness macro.
71109         * gnulib-tool (func_import): Fix definition of witness macro.
71111 2010-03-28  Bruno Haible  <bruno@clisp.org>
71113         Fix ioctl's protoype on glibc systems.
71114         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
71115         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
71116         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
71117         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
71118         signature. If not, arrange to replace the ioctl function.
71119         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
71120         REPLACE_IOCTL.
71121         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
71122         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
71123         Reported by Ludovic Courtès <ludo@gnu.org>.
71125 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
71127         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
71128         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
71129         made it so grep -r --include=GLOB* ... did not work.
71131 2010-03-26  Jim Meyering  <meyering@redhat.com>
71132             Eric Blake  <eblake@redhat.com>
71134         maint.mk: prohibit use of test's -o and -a operators
71135         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
71137 2010-03-28  Bruno Haible  <bruno@clisp.org>
71139         Remove unused GNULIB_XYZ macro definitions.
71140         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
71141         invocation.
71143 2010-03-28  Bruno Haible  <bruno@clisp.org>
71145         Mark privileged tests modules.
71146         * modules/idpriv-drop-tests (Status): New section.
71147         * modules/idpriv-droptemp-tests (Status): New section.
71149 2010-03-28  Bruno Haible  <bruno@clisp.org>
71151         Split C++ tests into separate tests modules.
71152         * modules/dirent-c++-tests: New file, extracted from
71153         modules/dirent-tests.
71154         * modules/dirent-tests: Depend on it.
71155         * modules/fcntl-h-c++-tests: New file, extracted from
71156         modules/fcntl-h-tests.
71157         * modules/fcntl-h-tests: Depend on it.
71158         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
71159         * modules/glob-tests: Depend on it.
71160         * modules/iconv-h-c++-tests: New file, extracted from
71161         modules/iconv-h-tests.
71162         * modules/iconv-h-tests: Depend on it.
71163         * modules/langinfo-c++-tests: New file, extracted from
71164         modules/langinfo-tests.
71165         * modules/langinfo-tests: Depend on it.
71166         * modules/locale-c++-tests: New file, extracted from
71167         modules/locale-tests.
71168         * modules/locale-tests: Depend on it.
71169         * modules/math-c++-tests: New file, extracted from modules/math-tests.
71170         * modules/math-tests: Depend on it.
71171         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
71172         * modules/pty-tests: Depend on it.
71173         * modules/search-c++-tests: New file, extracted from
71174         modules/search-tests.
71175         * modules/search-tests: Depend on it.
71176         * modules/signal-c++-tests: New file, extracted from
71177         modules/signal-tests.
71178         * modules/signal-tests: Depend on it.
71179         * modules/spawn-c++-tests: New file, extracted from
71180         modules/spawn-tests.
71181         * modules/spawn-tests: Depend on it.
71182         * modules/stdio-c++-tests: New file, extracted from
71183         modules/stdio-tests.
71184         * modules/stdio-tests: Depend on it.
71185         * modules/stdlib-c++-tests: New file, extracted from
71186         modules/stdlib-tests.
71187         * modules/stdlib-tests: Depend on it.
71188         * modules/string-c++-tests: New file, extracted from
71189         modules/string-tests.
71190         * modules/string-tests: Depend on it.
71191         * modules/sys_ioctl-c++-tests: New file, extracted from
71192         modules/sys_ioctl-tests.
71193         * modules/sys_ioctl-tests: Depend on it.
71194         * modules/sys_select-c++-tests: New file, extracted from
71195         modules/sys_select-tests.
71196         * modules/sys_select-tests: Depend on it.
71197         * modules/sys_socket-c++-tests: New file, extracted from
71198         modules/sys_socket-tests.
71199         * modules/sys_socket-tests: Depend on it.
71200         * modules/sys_stat-c++-tests: New file, extracted from
71201         modules/sys_stat-tests.
71202         * modules/sys_stat-tests: Depend on it.
71203         * modules/sys_time-c++-tests: New file, extracted from
71204         modules/sys_time-tests.
71205         * modules/sys_time-tests: Depend on it.
71206         * modules/time-c++-tests: New file, extracted from modules/time-tests.
71207         * modules/time-tests: Depend on it.
71208         * modules/unistd-c++-tests: New file, extracted from
71209         modules/unistd-tests.
71210         * modules/unistd-tests: Depend on it.
71211         * modules/wchar-c++-tests: New file, extracted from
71212         modules/wchar-tests.
71213         * modules/wchar-tests: Depend on it.
71214         * modules/wctype-c++-tests: New file, extracted from
71215         modules/wctype-tests.
71216         * modules/wctype-tests: Depend on it.
71217         Reported by Simon Josefsson.
71219 2010-03-28  Bruno Haible  <bruno@clisp.org>
71221         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
71222         * gnulib-tool (func_exists_module): New function, extracted from
71223         func_verify_module.
71224         (func_verify_module): Use it.
71225         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
71226         'foo' only if 'foo' exists.
71227         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
71228         module.
71230 2010-03-28  Bruno Haible  <bruno@clisp.org>
71232         gnulib-tool: Add support for special categories of tests.
71233         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
71234         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
71235         (func_usage): Document them.
71236         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
71237         inc_unportable_tests, inc_all_tests): New variables.
71238         (func_acceptable): Consider these variables.
71239         (func_modules_transitive_closure): Make it work when the 'Status' field
71240         consists of multiple words.
71241         (func_import): Store and restore the values of inc_cxx_tests,
71242         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
71243         inc_all_tests in gnulib-comp.m4.
71244         (func_create_testdir): Set inc_all_tests to true.
71245         * doc/gnulib.texi (Extra tests modules): New section.
71246         Suggested by Jim Meyering.
71248 2010-03-28  Bruno Haible  <bruno@clisp.org>
71250         ansi-c++-opt: Allow turning off the C++ build by default.
71251         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
71252         gl_CXX_CHOICE_DEFAULT_NO is defined.
71253         Requested by Eric Blake.
71255 2010-03-28  Bruno Haible  <bruno@clisp.org>
71257         unistd: Avoid #define replacements in C++ mode.
71258         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
71259         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
71260         setsockopt, shutdown, select): In C++, attach a warning to the function
71261         if possible, rather than #defining the symbol to a dysfunctional alias.
71262         Reported by John W. Eaton <jwe@gnu.org>.
71264 2010-03-28  Bruno Haible  <bruno@clisp.org>
71266         Fix link errors on mingw.
71267         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
71268         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
71269         $(LIBSOCKET).
71270         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
71271         $(LIBSOCKET).
71273 2010-03-28  Bruno Haible  <bruno@clisp.org>
71274             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71276         lib-ignore: Determine different options for different compilers.
71277         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
71278         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
71279         Add comments.
71280         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
71281         * NEWS: Mention the change.
71283 2010-03-27  Bruno Haible  <bruno@clisp.org>
71285         Remove unused GNULIB_XYZ macro definitions.
71286         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
71287         * modules/fseek (configure.ac): Likewise.
71288         * modules/ioctl (configure.ac): Likewise.
71289         * modules/open (configure.ac): Likewise.
71290         * modules/stdlib-safer (configure.ac): Likewise.
71292 2010-03-27  Bruno Haible  <bruno@clisp.org>
71294         Add a remark about certain modules.
71295         * modules/malloc (Comment): New section.
71296         * modules/realloc (Comment): Likewise.
71297         * modules/sigpipe (Comment): Likewise.
71299 2010-03-27  Bruno Haible  <bruno@clisp.org>
71301         Resolve conflict between the two kinds of module indicators.
71302         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
71303         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
71304         * modules/canonicalize (configure.ac): Invoke
71305         gl_MODULE_INDICATOR_FOR_TESTS.
71306         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
71307         GNULIB_XYZ.
71308         * tests/test-dirent-c++.cc: Likewise.
71309         * tests/test-dirent-safer.c: Likewise.
71310         * tests/test-dup2.c: Likewise.
71311         * tests/test-fchdir.c: Likewise.
71312         * tests/test-fcntl-h-c++.cc: Likewise.
71313         * tests/test-getopt.c: Likewise.
71314         * tests/test-getopt.h: Likewise.
71315         * tests/test-langinfo-c++.cc: Likewise.
71316         * tests/test-locale-c++.cc: Likewise.
71317         * tests/test-math-c++.cc: Likewise.
71318         * tests/test-pty-c++.cc: Likewise.
71319         * tests/test-search-c++.cc: Likewise.
71320         * tests/test-signal-c++.cc: Likewise.
71321         * tests/test-spawn-c++.cc: Likewise.
71322         * tests/test-stdio-c++.cc: Likewise.
71323         * tests/test-stdlib-c++.cc: Likewise.
71324         * tests/test-string-c++.cc: Likewise.
71325         * tests/test-sys_ioctl-c++.cc: Likewise.
71326         * tests/test-sys_select-c++.cc: Likewise.
71327         * tests/test-sys_socket-c++.cc: Likewise.
71328         * tests/test-sys_stat-c++.cc: Likewise.
71329         * tests/test-sys_time-c++.cc: Likewise.
71330         * tests/test-time-c++.cc: Likewise.
71331         * tests/test-unistd-c++.cc: Likewise.
71332         * tests/test-wchar-c++.cc: Likewise.
71333         * tests/uninorm/test-u8-nfc.c: Likewise.
71334         * tests/uninorm/test-u8-nfd.c: Likewise.
71335         * tests/uninorm/test-u8-nfkc.c: Likewise.
71336         * tests/uninorm/test-u8-nfkd.c: Likewise.
71337         * tests/uninorm/test-u16-nfc.c: Likewise.
71338         * tests/uninorm/test-u16-nfd.c: Likewise.
71339         * tests/uninorm/test-u16-nfkc.c: Likewise.
71340         * tests/uninorm/test-u16-nfkd.c: Likewise.
71341         * tests/uninorm/test-u32-nfc.c: Likewise.
71342         * tests/uninorm/test-u32-nfc-big.c: Likewise.
71343         * tests/uninorm/test-u32-nfd.c: Likewise.
71344         * tests/uninorm/test-u32-nfd-big.c: Likewise.
71345         * tests/uninorm/test-u32-nfkc.c: Likewise.
71346         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
71347         * tests/uninorm/test-u32-nfkd.c: Likewise.
71348         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
71349         * tests/uninorm/test-u32-normalize-big.c: Likewise.
71351 2010-03-27  Bruno Haible  <bruno@clisp.org>
71353         Distinguish two kinds of module indicators.
71354         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
71355         gl_MODULE_INDICATOR.
71356         (gl_MODULE_INDICATOR): New macro.
71357         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71358         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
71359         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71360         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71361         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71362         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71363         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71364         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71365         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71366         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71367         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71368         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71369         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71370         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71371         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71372         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71373         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71374         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71375         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71376         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71377         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71378         * modules/cloexec (configure.ac): Likewise.
71379         * modules/getopt-gnu (configure.ac): Likewise.
71380         * modules/uninorm/u8-normalize (configure.ac): Likewise.
71381         * modules/uninorm/u16-normalize (configure.ac): Likewise.
71382         * modules/uninorm/u32-normalize (configure.ac): Likewise.
71383         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
71385 2010-03-27  Bruno Haible  <bruno@clisp.org>
71387         New module description field 'Comment'.
71388         * gnulib-tool: New option --extract-comment.
71389         (func_usage): Document it.
71390         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
71391         (func_get_comment): New function.
71392         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
71394 2010-03-27  Bruno Haible  <bruno@clisp.org>
71396         Addendum to 2010-02-07 commit.
71397         * gnulib-tool (func_usage): Document --extract-applicability option.
71399 2010-03-27  Bruno Haible  <bruno@clisp.org>
71401         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
71402         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
71403         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
71404         rather than link errors.
71406 2010-03-27  Bruno Haible  <bruno@clisp.org>
71408         Avoid side effects from tests-related modules on the compilation of lib.
71409         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
71410         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
71411         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
71412         parameter. Emit into AM_CPPFLAGS a definition of the designated C
71413         macro.
71414         (func_import): Define a witness macro. Assign it a value that depends
71415         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
71416         tests-related modules.
71417         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
71418         Reported by Jim Meyering.
71420 2010-03-27  Bruno Haible  <bruno@clisp.org>
71422         Factorize common .m4 code.
71423         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
71424         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
71425         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
71426         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
71427         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71428         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
71429         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
71430         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71431         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71432         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71433         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
71434         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71435         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71436         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71437         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71438         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
71439         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71440         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71441         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71442         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
71443         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
71444         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71445         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71446         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71447         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71448         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71449         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
71450         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
71451         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
71452         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71453         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71454         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71456 2010-03-27  Bruno Haible  <bruno@clisp.org>
71458         Fix a compilation error on Cygwin with g++ >= 4.3.
71459         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
71460         if it is undefined or if we alias it to chmod.
71461         (lstat): Don't warn about the use of this function if it is undefined
71462         or if we alias it to stat.
71463         Reported by Simon Josefsson.
71465 2010-03-27  Bruno Haible  <bruno@clisp.org>
71467         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
71468         * modules/getlogin (configure.ac): Update.
71470         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
71471         * modules/getlogin_r (configure.ac): Update.
71473         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
71474         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
71475         * modules/inet_ntop (configure.ac): Update.
71477         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
71478         * modules/inet_pton (configure.ac): Update.
71480         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
71481         * modules/mbslen (configure.ac): Update.
71483         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
71484         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
71485         * modules/forkpty (configure.ac): Update.
71486         * modules/openpty (configure.ac): Update.
71488 2010-03-26  Simon Josefsson  <simon@josefsson.org>
71490         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
71491         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
71493 2010-03-25  Eric Blake  <eblake@redhat.com>
71495         maint: use pragma consistently across replacement headers
71496         * lib/ctype.in.h (system_header): Hoist for consistent placement.
71497         * lib/dirent.in.h (system_header): Likewise.
71498         * lib/errno.in.h (system_header): Likewise.
71499         * lib/float.in.h (system_header): Likewise.
71500         * lib/getopt.in.h (system_header): Likewise.
71501         * lib/iconv.in.h (system_header): Likewise.
71502         * lib/inttypes.in.h (system_header): Likewise.
71503         * lib/langinfo.in.h (system_header): Likewise.
71504         * lib/locale.in.h (system_header): Likewise.
71505         * lib/math.in.h (system_header): Likewise.
71506         * lib/netdb.in.h (system_header): Likewise.
71507         * lib/netinet_in.in.h (system_header): Likewise.
71508         * lib/pty.in.h (system_header): Likewise.
71509         * lib/sched.in.h (system_header): Likewise.
71510         * lib/se-selinux.in.h (system_header): Likewise.
71511         * lib/search.in.h (system_header): Likewise.
71512         * lib/spawn.in.h (system_header): Likewise.
71513         * lib/stdarg.in.h (system_header): Likewise.
71514         * lib/stdint.in.h (system_header): Likewise.
71515         * lib/string.in.h (system_header): Likewise.
71516         * lib/strings.in.h (system_header): Likewise.
71517         * lib/sys_file.in.h (system_header): Likewise.
71518         * lib/sys_ioctl.in.h (system_header): Likewise.
71519         * lib/sys_socket.in.h (system_header): Likewise.
71520         * lib/sys_times.in.h (system_header): Likewise.
71521         * lib/sys_utsname.in.h (system_header): Likewise.
71522         * lib/sys_wait.in.h (system_header): Likewise.
71523         * lib/sysexits.in.h (system_header): Likewise.
71524         * lib/unistd.in.h (system_header): Likewise.
71525         * lib/wctype.in.h (system_header): Likewise.
71527         arpa/inet: fix mingw compilation warning
71528         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
71529         Reported by Matthew Bolte.
71531 2010-03-25  Bruno Haible  <bruno@clisp.org>
71533         Avoid collision between gnulib wrapper and libintl wrapper.
71534         * lib/printf.c (printf): Don't define if a printf wrapper is already
71535         defined in intl/printf.c.
71536         Reported by Michel Boaventura <michel@michelboaventura.com>.
71538 2010-03-25  Bruno Haible  <bruno@clisp.org>
71540         Use ANSI C.
71541         * lib/readutmp.h (getutent): Provide ANSI C prototype.
71543 2010-03-25  Bruno Haible  <bruno@clisp.org>
71545         Minor formatting changes.
71546         * lib/acosl.c: Insert space before function argument list.
71547         * lib/argz.c: Likewise.
71548         * lib/asinl.c: Likewise.
71549         * lib/expl.c: Likewise.
71550         * lib/gen-uni-tables.c: Likewise.
71551         * lib/gettext.h: Likewise.
71552         * lib/glthread/lock.h: Likewise.
71553         * lib/tanl.c: Likewise.
71554         * lib/uniname/uniname.c: Likewise.
71555         * tests/test-idpriv-drop.c: Likewise.
71556         * tests/test-idpriv-droptemp.c: Likewise.
71557         * tests/test-lock.c: Likewise.
71558         * tests/test-tls.c: Likewise.
71559         * lib/argp-help.c: Insert space before function-like macro argument
71560         list.
71561         * lib/memcmp.c: Likewise.
71562         * tests/test-base64.c: Likewise.
71563         * lib/localename.c: Insert space before sizeof's argument list.
71564         * lib/safe-alloc.h: Likewise.
71565         * lib/file-set.h: Insert space before macro argument list.
71566         * tests/test-argp.c: Likewise.
71567         * lib/argp-namefrob.h: Insert space before function parameter list.
71568         * lib/getaddrinfo.c: Likewise.
71569         * lib/netdb.in.h: Likewise.
71570         * lib/parse-duration.h: Likewise.
71571         * lib/parse-duration.c: Likewise.
71572         * lib/poll.c: Likewise.
71573         * lib/select.c: Likewise.
71574         * lib/trim.h: Likewise.
71575         * tests/test-usleep.c: Likewise.
71576         * lib/ldexpl.c: Insert space before function parameter list and before
71577         function argument list.
71578         * lib/logl.c: Likewise.
71579         * lib/sqrtl.c: Likewise.
71580         * lib/trim.c: Likewise.
71581         * lib/cosl.c: Use GNU style indentation. Insert space before function
71582         argument list.
71583         * lib/sinl.c: Likewise.
71584         * lib/tsearch.c: Insert space after 'for'.
71585         Reported by Jim Meyering.
71587 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
71589         * maint.mk (sc_Wundef_boolean): Check for the presence of the
71590         config header before grepping, as it's not present before
71591         autoreconf/configure are run.  Reported by Simon Josefsson.
71593 2010-03-23  Bruno Haible  <bruno@clisp.org>
71595         pt_chown: Make it work with automake < 1.11.
71596         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
71597         Reported by Simon Josefsson.
71599 2010-03-23  Bruno Haible  <bruno@clisp.org>
71601         pt_chown: Don't depend on GPLed modules.
71602         * lib/pt_chown.c: Don't include idpriv.h.
71603         (main): Don't drop privileges.
71604         * modules/pt_chown (Depends-on): Remove idpriv-drop.
71605         Reported by Simon Josefsson.
71607 2010-03-24  Simon Josefsson  <simon@josefsson.org>
71609         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
71610         suggestions from karl@freefriends.org (Karl Berry).
71612 2010-03-22  Eric Blake  <eblake@redhat.com>
71614         gethostname: further tweaks
71615         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
71616         are overriding gethostname.
71617         Suggested by Bruno Haible.
71619 2010-03-21  Bruno Haible  <bruno@clisp.org>
71621         Fix comments.
71622         * lib/forkpty.c (rpl_forkpty): Fix comment.
71623         * lib/openpty.c (rpl_openpty): Likewise.
71624         Reported by Eric Blake.
71626 2010-03-22  Eric Blake  <eblake@redhat.com>
71628         gethostname: fix build on mingw
71629         * lib/unistd.in.h (includes): Work around fact that mingw
71630         <winsock2.h> re-includes <unistd.h>, by avoiding any
71631         redeclarations if we are being included by <winsock2.h>.
71632         Reported by Matthias Bolte.
71634 2010-03-21  Bruno Haible  <bruno@clisp.org>
71636         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71637         * lib/forkpty.c (forkpty): New replacement function, from glibc with
71638         modifications.
71639         * lib/pty.in.h (forkpty): Update declaration. Add comments.
71640         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
71641         provide the replacement.
71642         * modules/forkpty (Depends-on): Add openpty, login_tty.
71643         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
71644         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
71645         * doc/glibc-functions/forkpty.texi: More supported platforms.
71646         * config/srclist.txt: Add forkpty.c (commented).
71648 2010-03-21  Bruno Haible  <bruno@clisp.org>
71650         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
71651         (Makefile.am): Verify that PTY_LIB is defined.
71653         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
71655 2010-03-21  Bruno Haible  <bruno@clisp.org>
71657         Tests for module 'login_tty'.
71658         * modules/login_tty-tests: New file.
71659         * tests/test-login_tty.c: New file.
71661         New module 'login_tty'.
71662         * lib/login_tty.c: New file.
71663         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
71664         * modules/login_tty: New file.
71665         * doc/glibc-functions/login_tty.texi: Mention the new module.
71667 2010-03-21  Bruno Haible  <bruno@clisp.org>
71669         login_tty: Documentation.
71670         * doc/glibc-functions/login_tty.texi: New file.
71671         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
71673 2010-03-21  Bruno Haible  <bruno@clisp.org>
71675         pty: Consistent macro naming.
71676         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
71677         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
71678         * modules/pty (configure.ac): Update.
71680 2010-03-21  Bruno Haible  <bruno@clisp.org>
71682         Tests for openpty: Make stricter.
71683         * tests/test-openpty.c (main): Add test of canonical processing and
71684         erase.
71685         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
71687         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71688         * lib/openpty.c (openpty): New replacement function.
71689         * lib/pty.in.h: Include <termios.h>.
71690         (openpty): Update declaration. Add comments.
71691         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
71692         is not declared, arrange to provide the replacement. Check for _getpty
71693         and posix_openpt.
71694         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
71695         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
71696         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
71697         * modules/pty-tests (test_pty_c___LDADD): New variable.
71698         * doc/glibc-functions/openpty.texi: More supported platforms.
71700 2010-03-21  Bruno Haible  <bruno@clisp.org>
71702         setenv: Tweaks.
71703         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
71704         the test program.
71705         * doc/posix-functions/setenv.texi: Update platforms list.
71707 2010-03-21  Bruno Haible  <bruno@clisp.org>
71709         New module 'unlockpt'.
71710         * lib/unlockpt.c: New file, from glibc with modifications.
71711         * m4/unlockpt.m4: New file.
71712         * modules/unlockpt: New file.
71713         * lib/stdlib.in.h (unlockpt): New declaration.
71714         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
71715         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
71716         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
71717         HAVE_UNLOCKPT.
71718         * doc/posix-functions/unlockpt.texi: Mention the new module.
71719         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
71720         * config/srclist.txt: Add unlockpt.c (commented).
71722 2010-03-21  Jim Meyering  <meyering@redhat.com>
71724         maint.mk: prohibit inclusion of "intprops.h" without use
71725         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
71727 2010-03-21  Bruno Haible  <bruno@clisp.org>
71729         New module 'grantpt'.
71730         * lib/grantpt.c: New file, from glibc with modifications.
71731         * m4/grantpt.m4: New file.
71732         * modules/grantpt: New file.
71733         * lib/stdlib.in.h (grantpt): New declaration.
71734         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
71735         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
71736         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
71737         HAVE_GRANTPT.
71738         * doc/posix-functions/grantpt.texi: Mention the new module.
71739         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
71740         * config/srclist.txt: Add grantpt.c (commented).
71742 2010-03-21  Bruno Haible  <bruno@clisp.org>
71744         New module 'pt_chown'.
71745         * lib/pt_chown.c: New file, from glibc with modifications.
71746         * lib/pty-private.h: New file, from glibc with modifications.
71747         * modules/pt_chown: New file.
71748         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
71750 2010-03-21  Bruno Haible  <bruno@clisp.org>
71752         Tests for module 'ptsname'.
71753         * modules/ptsname-tests: New file.
71754         * tests/test-ptsname.c: New file.
71756         New module 'ptsname'.
71757         * lib/ptsname.c: New file, from glibc with modifications.
71758         * m4/ptsname.m4: New file.
71759         * modules/ptsname: New file.
71760         * lib/stdlib.in.h (ptsname): New declaration.
71761         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
71762         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
71763         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
71764         HAVE_PTSNAME.
71765         * doc/posix-functions/ptsname.texi: Mention the new module.
71766         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
71767         * config/srclist.txt: Add ptsname.c (commented).
71769 2010-03-21  Bruno Haible  <bruno@clisp.org>
71771         Tests for module 'ttyname_r'.
71772         * modules/ttyname_r-tests: New file.
71773         * tests/test-ttyname_r.c: New file.
71775         New module 'ttyname_r'.
71776         * lib/ttyname_r.c: New file.
71777         * m4/ttyname_r.m4: New file.
71778         * modules/ttyname_r: New file.
71779         * lib/unistd.in.h (ttyname_r): New declaration.
71780         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
71781         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
71782         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
71783         HAVE_TTYNAME_R.
71784         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
71785         * doc/posix-functions/ttyname_r.texi: Mention the new module.
71787 2010-03-20  Bruno Haible  <bruno@clisp.org>
71789         signal: Undefine macro definitions in C++ mode.
71790         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
71791         sigfillset): Undefine macro definitions from the system header in C++
71792         mode.
71793         Reported by John W. Eaton <jwe@gnu.org>.
71795 2010-03-20  Bruno Haible  <bruno@clisp.org>
71797         Ensure no #include statements inside extern "C" { ... }.
71798         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
71799         contain #include statements.
71800         * lib/time.in.h: Likewise.
71802 2010-03-20  Bruno Haible  <bruno@clisp.org>
71804         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
71805         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
71806         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
71807         Reported by John W. Eaton <jwe@gnu.org>.
71809 2010-03-20  Bruno Haible  <bruno@clisp.org>
71811         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
71812         Reported by Jim Meyering.
71814 2010-03-20  Bruno Haible  <bruno@clisp.org>
71816         pipe: Set errno upon failure.
71817         * lib/pipe.h: Specify that when -1 is returned, errno is set.
71818         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
71819         errno value in error message.
71821 2010-03-20  Bruno Haible  <bruno@clisp.org>
71822             Jim Meyering  <meyering@redhat.com>
71824         lchown: Avoid "unused variable" warning.
71825         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
71827 2010-03-20  Bruno Haible  <bruno@clisp.org>
71829         Work around unlink() bug on MacOS X 10.5.6.
71830         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
71831         attempting to unlink a parent directory.
71832         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
71833         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
71834         activate for the replacement function.
71835         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
71837 2010-03-20  Bruno Haible  <bruno@clisp.org>
71839         Fix link errors on Solaris 8.
71840         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
71841         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
71843 2010-03-19  Jim Meyering  <meyering@redhat.com>
71845         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
71846         The _LIBC implementation of build_range_exp correctly honors the
71847         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
71848         However, the non-_LIBC implementation would ignore that syntax-bit
71849         flag and return REG_ERANGE unconditionally.
71850         This change makes it honor that flag.
71851         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
71852         Make two pointer parameters "const".
71853         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
71854         (parse_bracket_exp): Update caller.
71856         regex.m4: correct the reversed range endpoint ([b-a]) test
71857         * m4/regex.m4: When requiring that [b-a] evoke failure,
71858         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
71859         test pass once again for x86-based systems.
71861 2010-03-19  Bruno Haible  <bruno@clisp.org>
71863         scandir: Fix link error on Solaris 8.
71864         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
71865         macros.
71867 2010-03-19  Bruno Haible  <bruno@clisp.org>
71869         getusershell: Fix documentation.
71870         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
71871         module.
71872         * doc/glibc-functions/setusershell.texi: Likewise.
71874         getusershell: Provide declaration, missing on Solaris 9.
71875         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
71876         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
71877         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
71878         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
71879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
71880         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
71881         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
71882         HAVE_GETUSERSHELL.
71883         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
71885 2010-03-19  Bruno Haible  <bruno@clisp.org>
71887         wctype: Provide iswblank function.
71888         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
71889         exists and is fine.
71890         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
71891         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
71892         * tests/test-wctype.c (main): Re-enable the iswblank tests.
71893         * doc/posix-functions/iswblank.texi: Update.
71895 2010-03-19  Bruno Haible  <bruno@clisp.org>
71897         Tests of module 'pty' in C++ mode.
71898         * modules/pty-tests: New file.
71899         * tests/test-pty-c++.cc: New file.
71900         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71902 2010-03-19  Eric Blake  <eblake@redhat.com>
71904         logb: fix documentation
71905         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
71906         1.5 declaration bug.
71908         forkpty, openpty: prefer glibc's const-safe prototype
71909         * lib/forkpty.c (rpl_forkpty): New file.
71910         * lib/openpty.c (rpl_openpty): Likewise.
71911         * modules/forkpty (Files): Distribute it.
71912         * modules/openpty (Files): Likewise.
71913         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
71914         check...
71915         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
71916         replacement for non-const BSD signature.
71917         * modules/pty (Makefile.am): Substitute witnesses.
71918         * lib/pty.in.h (forkpty, openpty): Declare replacements.
71919         * tests/test-forkpty.c: Update signature check.
71920         * tests/test-openpty.c: Likewise.
71921         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
71922         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71924         forkpty, openpty: split functions into new modules
71925         * modules/pty (Makefile.am): Substitute new witnesses.
71926         (Libraries): Move library detection...
71927         * modules/forkpty: ...into new module.
71928         * modules/openpty: Another new module.
71929         * modules/pty-tests: Rename and split...
71930         * modules/forkpty-tests: ...to this...
71931         * modules/openpty-tests: ...and this.
71932         * tests/test-pty.c: Rename and split...
71933         * tests/test-forkpty.c: ...to this...
71934         * tests/test-openpty.c: ...and this.
71935         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
71936         (gl_PTY): Split library searching...
71937         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
71938         (gl_FORKPTY, gl_OPENPTY): New macros.
71939         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
71940         * NEWS: Mention the split.
71941         * MODULES.html.sh (Misc): Document the modules.
71942         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
71943         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71945         pty: improve replacement header
71946         * lib/pty.in.h: New file.
71947         * modules/pty (Files): Ship it.
71948         (Makefile.am): Always build replacement.
71949         * m4/pty.m4: Rename...
71950         * m4/pty_h.m4: ...to this.
71951         (gl_PTY): Modernize setting of witness macros; update check of
71952         forkpty to take proper advantage of cache.
71953         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
71955         getopt: avoid compiler warning
71956         * lib/getopt.c (attribute_hidden): Remove unused macro.
71958 2010-03-18  Bruno Haible  <bruno@clisp.org>
71960         Fix link errors on Solaris 8.
71961         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
71962         * modules/search-tests (test_search_c___LDADD): Likewise.
71963         * modules/signal-tests (test_signal_c___LDADD): Likewise.
71964         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
71965         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
71966         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
71967         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
71968         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
71969         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
71971 2010-03-18  Bruno Haible  <bruno@clisp.org>
71973         Fix bug introduced on 2010-03-14.
71974         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
71975         (gl_SPAWN_H): Require it.
71976         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
71977         Reported by Simon Josefsson.
71979 2010-03-18  Bruno Haible  <bruno@clisp.org>
71981         Fix typo introduced on 2009-12-31.
71982         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
71983         posix_spawn_file_actions_adddup2.
71985 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
71986         and Eric Blake  <eblake@redhat.com>
71988         test-vc-list-files-git: make more robust
71989         * tests/test-vc-list-files-git.sh: Unset problematic environment
71990         variables.  Chain commands together.
71992 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
71994         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
71995         `AC_CHECK_DECL' invocation.
71997 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
71999         * lib/inttostr.c (inttostr): Make sure the invocation of verify
72000         appears before executable statements. Suggested by Petr Sumbera
72001         <Petr.Sumbera@Sun.COM>.
72003 2010-03-14  Bruno Haible  <bruno@clisp.org>
72005         * tests/test-flock.c (test_exclusive): Comment out a test that causes
72006         portability problems. Instead use a simpler test.
72007         (main): Check that invalid arguments are rejected only on Linux.
72009 2010-03-14  Bruno Haible  <bruno@clisp.org>
72011         Fix bug introduced on 2009-12-31.
72012         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
72013         gl_PREREQ_SYS_H_WINSOCK2 always.
72014         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
72015         SYS_SOCKET_H variable.
72016         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
72017         Update comments.
72018         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
72019         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
72020         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
72021         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
72022         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
72024 2010-03-14  Bruno Haible  <bruno@clisp.org>
72026         Fix values returned by sinl, cosl.
72027         * lib/trigl.h: Add specification comments.
72028         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
72029         that combines the values from the precomputed table with the values of
72030         the Chebyshev polynomials.
72032 2010-03-14  Bruno Haible  <bruno@clisp.org>
72034         Fix compilation error when modules 'posix_spawn[p]' are not used.
72035         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
72036         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
72038 2010-03-14  Bruno Haible  <bruno@clisp.org>
72040         Fix compilation error on mingw when module 'time_r' is not used.
72041         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
72042         is 1.
72043         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
72044         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
72045         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
72046         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
72048 2010-03-14  Bruno Haible  <bruno@clisp.org>
72050         Fix compilation error with Sun C.
72051         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
72052         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
72053         instead of GCC specific ULONG_LONG_MAX.
72054         * lib/xstrtoll.c: Likewise.
72055         * lib/xstrtoull.c: Likewise.
72057 2010-03-13  Bruno Haible  <bruno@clisp.org>
72059         Allow the user to disable C++ code and tests.
72060         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
72061         (gl_PROG_ANSI_CXX): Require it.
72063 2010-03-13  Bruno Haible  <bruno@clisp.org>
72065         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
72066         cases.
72068 2010-03-13  Bruno Haible  <bruno@clisp.org>
72070         Test that gnulib does not break the standard C++ headers.
72071         * tests/test-locale-c++2.cc: New file.
72072         * modules/locale-tests (Files): Add it.
72073         (Makefile.am): Compile it for test-locale-c++.
72074         * tests/test-math-c++2.cc: New file.
72075         * modules/math-tests (Files): Add it.
72076         (Makefile.am): Compile it for test-math-c++.
72077         * tests/test-signal-c++2.cc: New file.
72078         * modules/signal-tests (Files): Add it.
72079         (Makefile.am): Compile it for test-signal-c++.
72080         * tests/test-stdio-c++2.cc: New file.
72081         * modules/stdio-tests (Files): Add it.
72082         (Makefile.am): Compile it for test-stdio-c++.
72083         * tests/test-stdlib-c++2.cc: New file.
72084         * modules/stdlib-tests (Files): Add it.
72085         (Makefile.am): Compile it for test-stdlib-c++.
72086         * tests/test-string-c++2.cc: New file.
72087         * modules/string-tests (Files): Add it.
72088         (Makefile.am): Compile it for test-string-c++.
72089         * tests/test-time-c++2.cc: New file.
72090         * modules/time-tests (Files): Add it.
72091         (Makefile.am): Compile it for test-time-c++.
72092         Reported by John W. Eaton <jwe@gnu.org>.
72094 2010-03-13  Bruno Haible  <bruno@clisp.org>
72096         * gnulib-tool (func_usage): Clarify which options are available for
72097         --create-testdir and --create-megatestdir.
72099 2010-03-13  Bruno Haible  <bruno@clisp.org>
72101         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
72102         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
72103         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
72104         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
72105         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
72106         when appropriate.
72107         Reported by Jim Meyering.
72109 2010-03-12  Simon Josefsson  <simon@josefsson.org>
72111         * gnulib-tool (func_import): Explain origin of code.
72113 2010-03-12  Bruno Haible  <bruno@clisp.org>
72115         Fix problem with automake's definition of CXXLINK.
72116         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
72117         Reported by Simon Josefsson and Ludovic Courtès.
72119 2010-03-12  Bruno Haible  <bruno@clisp.org>
72121         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
72122         stable releases.
72124 2010-03-11  Bruno Haible  <bruno@clisp.org>
72126         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
72127         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
72128         whether the system provides one variant or multiple variants of the
72129         function.
72130         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
72131         C++ compilers.
72132         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
72133         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
72134         Reported by Jim Meyering.
72136 2010-03-09  Simon Josefsson  <simon@josefsson.org>
72138         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
72140 2010-03-08  Bruno Haible  <bruno@clisp.org>
72142         gnulib-tool: Add support for --libtool in --create-testdir.
72143         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
72144         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
72146 2010-03-08  Eric Blake  <eblake@redhat.com>
72148         gnulib-tool.texi: mention possibility of git submodule
72149         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
72150         submodules.
72151         * doc/.gitignore: Ignore another generated file.
72153 2010-03-08  Karl Berry  <karl@gnu.org>
72155         * doc/gnulib-tool.texi (VCS Issues): Mention third option
72156         of committing gnulib files while skipping others.
72158 2010-03-07  Bruno Haible  <bruno@clisp.org>
72160         Tests of module 'wctype' in C++ mode.
72161         * tests/test-wctype-c++.cc: New file.
72162         * modules/wctype-tests (Files): Add it and tests/signature.h.
72163         (Depends-on): Add ansi-c++-opt.
72164         (Makefile.am): Arrange to compile and run test-wctype-c++.
72166         Tests of module 'wchar' in C++ mode.
72167         * tests/test-wchar-c++.cc: New file.
72168         * modules/wchar-tests (Files): Add it and tests/signature.h.
72169         (Depends-on): Add ansi-c++-opt.
72170         (Makefile.am): Arrange to compile and run test-wchar-c++.
72171         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
72172         gl_MODULE_INDICATOR.
72174         Tests of module 'unistd' in C++ mode.
72175         * tests/test-unistd-c++.cc: New file.
72176         * modules/unistd-tests (Files): Add it and tests/signature.h.
72177         (Depends-on): Add ansi-c++-opt.
72178         (Makefile.am): Arrange to compile and run test-unistd-c++.
72179         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
72180         gl_MODULE_INDICATOR.
72182         Tests of module 'time' in C++ mode.
72183         * tests/test-time-c++.cc: New file.
72184         * modules/time-tests (Files): Add it and tests/signature.h.
72185         (Depends-on): Add ansi-c++-opt.
72186         (Makefile.am): Arrange to compile and run test-time-c++.
72187         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72189         Tests of module 'sys_time' in C++ mode.
72190         * tests/test-sys_time-c++.cc: New file.
72191         * modules/sys_time-tests (Files): Add it and tests/signature.h.
72192         (Depends-on): Add ansi-c++-opt.
72193         (Makefile.am): Arrange to compile and run test-sys_time-c++.
72194         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
72195         gl_MODULE_INDICATOR.
72197         Tests of module 'sys_stat' in C++ mode.
72198         * tests/test-sys_stat-c++.cc: New file.
72199         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
72200         (Depends-on): Add ansi-c++-opt.
72201         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
72202         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
72203         gl_MODULE_INDICATOR.
72205         Tests of module 'sys_socket' in C++ mode.
72206         * tests/test-sys_socket-c++.cc: New file.
72207         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
72208         (Depends-on): Add ansi-c++-opt.
72209         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
72210         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
72211         gl_MODULE_INDICATOR.
72213         Tests of module 'sys_select' in C++ mode.
72214         * tests/test-sys_select-c++.cc: New file.
72215         * modules/sys_select-tests (Files): Add it and tests/signature.h.
72216         (Depends-on): Add ansi-c++-opt.
72217         (Makefile.am): Arrange to compile and run test-sys_select-c++.
72218         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
72219         gl_MODULE_INDICATOR.
72221         Tests of module 'sys_ioctl' in C++ mode.
72222         * tests/test-sys_ioctl-c++.cc: New file.
72223         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
72224         (Depends-on): Add ansi-c++-opt.
72225         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
72226         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
72227         gl_MODULE_INDICATOR.
72229         Tests of module 'string' in C++ mode.
72230         * tests/test-string-c++.cc: New file.
72231         * modules/string-tests (Files): Add it and tests/signature.h.
72232         (Depends-on): Add ansi-c++-opt.
72233         (Makefile.am): Arrange to compile and run test-string-c++.
72234         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
72235         gl_MODULE_INDICATOR.
72237         Tests of module 'stdlib' in C++ mode.
72238         * tests/test-stdlib-c++.cc: New file.
72239         * modules/stdlib-tests (Files): Add it and tests/signature.h.
72240         (Depends-on): Add ansi-c++-opt.
72241         (Makefile.am): Arrange to compile and run test-stdlib-c++.
72242         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
72243         gl_MODULE_INDICATOR.
72245         Tests of module 'stdio' in C++ mode.
72246         * tests/test-stdio-c++.cc: New file.
72247         * modules/stdio-tests (Files): Add it and tests/signature.h.
72248         (Depends-on): Add ansi-c++-opt.
72249         (Makefile.am): Arrange to compile and run test-stdio-c++.
72250         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
72251         gl_MODULE_INDICATOR.
72253         Tests of module 'spawn' in C++ mode.
72254         * tests/test-spawn-c++.cc: New file.
72255         * modules/spawn-tests (Files): Add it and tests/signature.h.
72256         (Depends-on): Add ansi-c++-opt.
72257         (Makefile.am): Arrange to compile and run test-spawn-c++.
72258         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
72259         gl_MODULE_INDICATOR.
72261         Tests of module 'signal' in C++ mode.
72262         * tests/test-signal-c++.cc: New file.
72263         * modules/signal-tests (Files): Add it and tests/signature.h.
72264         (Depends-on): Add ansi-c++-opt.
72265         (Makefile.am): Arrange to compile and run test-signal-c++.
72266         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
72267         gl_MODULE_INDICATOR.
72269         Tests of module 'search' in C++ mode.
72270         * tests/test-search-c++.cc: New file.
72271         * modules/search-tests (Files): Add it and tests/signature.h.
72272         (Depends-on): Add ansi-c++-opt.
72273         (Makefile.am): Arrange to compile and run test-search-c++.
72274         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
72275         gl_MODULE_INDICATOR.
72277         Tests of module 'math' in C++ mode.
72278         * tests/test-math-c++.cc: New file.
72279         * modules/math-tests (Files): Add it and tests/signature.h.
72280         (Depends-on): Add ansi-c++-opt.
72281         (Makefile.am): Arrange to compile and run test-math-c++.
72282         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72284         Tests of module 'locale' in C++ mode.
72285         * tests/test-locale-c++.cc: New file.
72286         * modules/locale-tests (Files): Add it and tests/signature.h.
72287         (Depends-on): Add ansi-c++-opt.
72288         (Makefile.am): Arrange to compile and run test-locale-c++.
72289         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
72290         gl_MODULE_INDICATOR.
72292         Tests of module 'langinfo' in C++ mode.
72293         * tests/test-langinfo-c++.cc: New file.
72294         * modules/langinfo-tests (Files): Add it and tests/signature.h.
72295         (Depends-on): Add ansi-c++-opt.
72296         (Makefile.am): Arrange to compile and run test-langinfo-c++.
72297         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
72298         gl_MODULE_INDICATOR.
72300         Tests of module 'iconv-h' in C++ mode.
72301         * tests/test-iconv-h-c++.cc: New file.
72302         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
72303         (Depends-on): Add ansi-c++-opt.
72304         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
72306         Tests of module 'glob' in C++ mode.
72307         * tests/test-glob-c++.cc: New file.
72308         * modules/glob-tests (Files): Add it.
72309         (Depends-on): Add ansi-c++-opt.
72310         (Makefile.am): Arrange to compile and run test-glob-c++.
72312         Tests of module 'fcntl-h' in C++ mode.
72313         * tests/test-fcntl-h-c++.cc: New file.
72314         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
72315         (Depends-on): Add ansi-c++-opt.
72316         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
72317         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
72318         gl_MODULE_INDICATOR.
72320         Tests of module 'dirent' in C++ mode.
72321         * tests/test-dirent-c++.cc: New file.
72322         * modules/dirent-tests (Files): Add it and tests/signature.h.
72323         (Depends-on): Add ansi-c++-opt.
72324         (Makefile.am): Arrange to compile and run test-dirent-c++.
72325         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
72326         gl_MODULE_INDICATOR.
72328         New module 'ansi-c++-opt'.
72329         * modules/ansi-c++-opt: New file.
72330         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
72332         Document C++ namespace mode.
72333         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
72335         wctype: Avoid #define replacements in C++ mode.
72336         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
72337         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
72338         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
72339         In C++, define a namespaced alias symbol.
72340         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
72341         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
72342         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
72343         rule.
72345         wchar: Avoid #define replacements in C++ mode.
72346         * lib/wchar.in.h: Include c++defs.h.
72347         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
72348         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
72349         symbol.
72350         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
72351         * modules/wchar (Depends-on): Add c++defs.
72352         (Makefile.am): Update wchar.h rule.
72354         unistd: Avoid #define replacements in C++ mode.
72355         * lib/unistd.in.h: Include c++defs.h.
72356         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
72357         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
72358         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
72359         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
72360         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
72361         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
72362         symbol.
72363         (environ): Update.
72364         * modules/unistd (Depends-on): Add c++defs.
72365         (Makefile.am): Update unistd.h rule.
72367         time: Avoid #define replacements in C++ mode.
72368         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
72369         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
72370         define a namespaced alias symbol.
72371         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
72372         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
72373         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
72374         * modules/time (Depends-on): Add c++defs, warn-on-use.
72375         (Makefile.am): Update time.h rule.
72376         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
72377         * modules/nanosleep (configure.ac): Likewise.
72378         * modules/strptime (configure.ac): Likewise.
72379         * modules/timegm (configure.ac): Likewise.
72381         sys_time: Avoid #define replacements in C++ mode.
72382         * lib/sys_time.in.h: Include c++defs.h.
72383         (gettimeofday): In C++, define a namespaced alias symbol.
72384         * modules/sys_time (Depends-on): Add c++defs.
72385         (Makefile.am): Update sys/time.h rule.
72387         sys_stat: Avoid #define replacements in C++ mode.
72388         * lib/sys_stat.in.h: Include c++defs.h.
72389         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
72390         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
72391         namespaced alias symbol.
72392         In C++, define a namespaced alias symbol.
72393         * modules/sys_stat (Depends-on): Add c++defs.
72394         (Makefile.am): Update sys/stat.h rule.
72396         sys_socket: Avoid #define replacements in C++ mode.
72397         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
72398         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
72399         definitions also when the system has a <sys/socket.h>.
72400         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
72401         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
72402         In C++, define a namespaced alias symbol.
72403         * modules/sys_socket (Depends-on): Add c++defs.
72404         (Makefile.am): Update sys/socket.h rule.
72406         sys_select: Avoid #define replacements in C++ mode.
72407         * lib/sys_select.in.h: Include c++defs.h. Enable the function
72408         definitions also when the system has a <sys/select.h>.
72409         (select): In C++, define a namespaced alias symbol.
72410         * modules/sys_select (Depends-on): Add c++defs.
72411         (Makefile.am): Update sys/select.h rule.
72413         sys_ioctl: Avoid #define replacements in C++ mode.
72414         * lib/sys_ioctl.in.h: Include c++defs.h.
72415         (ioctl): In C++, define a namespaced alias symbol.
72416         * modules/sys_ioctl (Depends-on): Add c++defs.
72417         (Makefile.am): Update sys/ioctl.h rule.
72419         string: Avoid #define replacements in C++ mode.
72420         * lib/string.in.h: Include c++defs.h.
72421         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
72422         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
72423         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
72424         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
72425         strsignal, strverscmp): In C++, define a namespaced alias symbol.
72426         * modules/string (Depends-on): Add c++defs.
72427         (Makefile.am): Update string.h rule.
72429         stdlib: Avoid #define replacements in C++ mode.
72430         * lib/stdlib.in.h: Include c++defs.h.
72431         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
72432         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
72433         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
72434         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
72435         symbol.
72436         * modules/stdlib (Depends-on): Add c++defs.
72437         (Makefile.am): Update stdlib.h rule.
72439         stdio: Avoid #define replacements in C++ mode.
72440         * lib/stdio.in.h: Include c++defs.h.
72441         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
72442         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
72443         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
72444         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
72445         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
72446         namespaced alias symbol.
72447         * modules/stdio (Depends-on): Add c++defs.
72448         (Makefile.am): Update stdio.h rule.
72450         spawn: Avoid #define replacements in C++ mode.
72451         * lib/spawn.in.h: Include c++defs.h.
72452         (posix_spawn, posix_spawnp, posix_spawnattr_init,
72453         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
72454         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
72455         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
72456         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
72457         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
72458         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
72459         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
72460         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
72461         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
72462         In C++, define a namespaced alias symbol.
72463         * modules/spawn (Depends-on): Add c++defs.
72464         (Makefile.am): Update spawn.h rule.
72466         signal: Avoid #define replacements in C++ mode.
72467         * lib/signal.in.h: Include c++defs.h.
72468         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
72469         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
72470         namespaced alias symbol.
72471         * modules/signal (Depends-on): Add c++defs.
72472         (Makefile.am): Update signal.h rule.
72474         search: Avoid #define replacements in C++ mode.
72475         * lib/search.in.h: Include c++defs.h.
72476         (_gl_search_compar_fn, _gl_search_action_fn): New types.
72477         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
72478         symbol.
72479         * modules/search (Depends-on): Add c++defs.
72480         (Makefile.am): Update search.h rule.
72482         math: Avoid #define replacements in C++ mode.
72483         * lib/math.in.h: Include c++defs.h.
72484         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
72485         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
72486         trunc, truncl): In C++, define a namespaced alias symbol.
72487         * modules/math (Depends-on): Add c++defs.
72488         (Makefile.am): Update math.h rule.
72490         locale: Avoid #define replacements in C++ mode.
72491         * lib/locale.in.h: Include c++defs.h.
72492         (duplocale): In C++, define a namespaced alias symbol.
72493         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
72494         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
72495         * modules/locale (Depends-on): Add c++defs.
72496         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
72498         langinfo: Avoid #define replacements in C++ mode.
72499         * lib/langinfo.in.h: Include c++defs.h.
72500         (nl_langinfo): In C++, define a namespaced alias symbol.
72501         * modules/langinfo (Depends-on): Add c++defs.
72502         (Makefile.am): Update langinfo.h rule.
72504         iconv-h: Avoid #define replacements in C++ mode.
72505         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
72506         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
72507         symbol.
72508         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
72509         whenever iconv is present.
72510         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
72511         (Makefile.am): Update iconv.h rule.
72513         glob: Avoid #define replacements in C++ mode.
72514         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
72515         (_gl_glob_errfunc_fn): New type.
72516         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
72517         symbol.
72518         * modules/glob (Depends-on): Add c++defs, warn-on-use.
72519         (Makefile.am): Update glob.h rule.
72521         fcntl-h: Avoid #define replacements in C++ mode.
72522         * lib/fcntl.in.h: Include c++defs.h.
72523         (fcntl, open, openat): In C++, define a namespaced alias symbol.
72524         * modules/fcntl-h (Depends-on): Add c++defs.
72525         (Makefile.am): Update fcntl.h rule.
72527         dirent: Avoid #define replacements in C++ mode.
72528         * lib/dirent.in.h: Include c++defs.h.
72529         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
72530         namespaced alias symbol.
72531         (dirfd): Update declaration.
72532         * modules/dirent (Depends-on): Add c++defs.
72533         (Makefile.am): Update dirent.h rule.
72535         ctype: Make it usable in C++ code.
72536         * lib/ctype.in.h: Include c++defs.h.
72537         (isblank): Declare as extern "C".
72538         * modules/ctype (Depends-on): Add c++defs.
72539         (Makefile.am): Update ctype.h rule.
72541         New module 'c++defs'.
72542         * modules/c++defs: New file.
72543         * build-aux/c++defs.h: New file.
72544         Reported by John W. Eaton <jwe@gnu.org>.
72546 2010-03-07  Bruno Haible  <bruno@clisp.org>
72548         logb: Provide missing declaration for Cygwin.
72549         * lib/math.in.h (logb): New declaration.
72550         * m4/logb.m4: New file.
72551         * modules/logb (Files): Add m4/logb.m4.
72552         (Depends-on): Add math.
72553         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
72554         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
72555         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
72556         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
72557         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
72559 2010-03-07  Bruno Haible  <bruno@clisp.org>
72561         Fix test-cond link error.
72562         * tests/test-cond.c: Include <stdio.h>.
72564 2010-03-07  Bruno Haible  <bruno@clisp.org>
72566         Fix test-dirent-safer link error.
72567         * modules/dirent-safer-tests (Makefile.am): Define
72568         test_dirent_safer_LDADD.
72570 2010-03-07  Bruno Haible  <bruno@clisp.org>
72572         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
72573         among default module list.
72575 2010-03-07  Bruno Haible  <bruno@clisp.org>
72577         Fix link error on platforms with GNU libiconv.
72578         * modules/unistr/u8-strcoll-tests (Makefile): Define
72579         test_u8_strcoll_LDADD.
72580         * modules/unistr/u16-strcoll-tests (Makefile): Define
72581         test_u16_strcoll_LDADD.
72582         * modules/unistr/u32-strcoll-tests (Makefile): Define
72583         test_u32_strcoll_LDADD.
72585 2010-03-07  Bruno Haible  <bruno@clisp.org>
72587         Use POSIX declarations for socket functions.
72588         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
72589         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
72590         rpl_sendto): Change declaration to match POSIX.
72591         * lib/connect.c (rpl_connect): Likewise.
72592         * lib/accept.c (rpl_accept): Likewise.
72593         * lib/bind.c (rpl_bind): Likewise.
72594         * lib/getpeername.c (rpl_getpeername): Likewise.
72595         * lib/getsockname.c (rpl_getsockname): Likewise.
72596         * lib/recv.c (rpl_recv): Likewise.
72597         * lib/send.c (rpl_send): Likewise.
72598         * lib/recvfrom.c (rpl_recvfrom): Likewise.
72599         * lib/sendto.c (rpl_sendto): Likewise.
72601 2010-03-06  Bruno Haible  <bruno@clisp.org>
72603         Clarify access, euidaccess, faccessat.
72604         * doc/posix-functions/faccessat.texi: Mention security problem under
72605         "Other problems", not "Portability problems".
72606         * doc/posix-functions/access.texi: Likewise. Mention a related security
72607         problem.
72608         * doc/glibc-functions/euidaccess.texi: Mention security problems.
72609         * lib/euidaccess.c: Add comments about platforms.
72610         * lib/unistd.in.h (access, euidaccess): Add warnings.
72612 2010-03-07  Bruno Haible  <bruno@clisp.org>
72614         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
72615         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
72616         (POSIX_SPAWN_SETSCHEDULER): Likewise.
72617         (POSIX_SPAWN_USEVFORK): Define in a way that works when
72618         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72619         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
72620         declare when POSIX_SPAWN_SETSCHEDULER is zero.
72621         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
72622         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
72623         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
72624         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
72625         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
72626         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
72627         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
72628         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
72629         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
72630         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
72631         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
72632         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
72633         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
72634         Likewise.
72635         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
72636         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
72637         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
72638         Likewise.
72639         * tests/test-spawn.c (main): Make it work when
72640         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72642 2010-03-07  Bruno Haible  <bruno@clisp.org>
72644         Fix incorrect Makefile.am generation in German locale.
72645         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72646         Execute sed command with character range in C locale.
72648 2010-03-06  Bruno Haible  <bruno@clisp.org>
72650         Tests for module 'iconv-h'.
72651         * modules/iconv-h-tests: New file.
72652         * tests/test-iconv-h.c: New file.
72654         New module 'iconv-h'.
72655         * modules/iconv-h: New file.
72656         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
72657         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
72658         (configure.ac): Remove gl_ICONV_H.
72659         (Makefile.am): Remove rule for iconv.h.
72661 2010-03-06  Bruno Haible  <bruno@clisp.org>
72663         More consistent naming of *.m4 files.
72664         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
72665         * modules/wctype (Files): Update.
72667         More consistent naming of *.m4 files.
72668         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
72669         * modules/wchar (Files): Update.
72671 2010-03-06  Jim Meyering  <meyering@redhat.com>
72673         euidaccess: relax license to LGPLv2+
72674         * modules/euidaccess (License): Relax to LGPLv2+.
72676 2010-03-06  Bruno Haible  <bruno@clisp.org>
72678         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
72679         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
72680         (Makefile.am): Augment lib_SOURCES instead.
72682 2010-03-04  Jim Meyering  <meyering@redhat.com>
72684         utime: remove obsolete module
72685         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
72686         unnecessary for years, and has been marked as obsolete for 10 months.
72687         * modules/utime: Remove file.
72688         * lib/utime.c: Remove file.
72689         * m4/utime.m4: Remove file.
72690         * m4/utimes-null.m4: Remove file.
72691         * doc/posix-functions/utime.texi (utime): Remove reference to
72692         the module.  Move the sole "fixed by gnulib" item into the
72693         "problems not fixed by Gnulib" list.
72694         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
72696 2010-03-05  Simon Josefsson  <simon@josefsson.org>
72698         * modules/exit (License): Relax license to LGPLv2+.
72699         (Status): Mark as obsolete.
72700         * NEWS: Mention deprecated 'exit' module.
72701         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
72702         of now obsolete 'exit'.
72704 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72706         fts-lgpl: remove unused module
72707         * modules/fts-lgpl: Remove.
72708         * MODULES.html.sh (func_all_modules): Adjust.
72709         * check-module (find_included_lib_files): Adjust.
72710         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
72712 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
72714         copy-acl: enhance Solaris ACL error handling
72715         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
72716         * lib/set-mode-acl.c (qset_acl): Likewise.
72718 2010-03-02  Bruno Haible  <bruno@clisp.org>
72720         spawn: Don't override the system defined values on FreeBSD 8.
72721         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
72722         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
72723         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
72724         if HAVE_POSIX_SPAWN is 1.
72725         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
72727 2010-03-01  Bruno Haible  <bruno@clisp.org>
72729         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
72730         regarding Automake.
72732 2010-02-25  Bruno Haible  <bruno@clisp.org>
72734         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
72735         * gnulib-tool: Define 'echo' as a function only before the ksh alias
72736         setting, not afterwards.
72737         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
72739 2010-02-24  Eric Blake  <eblake@redhat.com>
72741         bootstrap, git-version-gen: use timestamp
72742         * build-aux/git-version-gen (scriptversion): Force UTC.
72743         * build-aux/bootstrap (scriptversion): New variable.
72745         bootstrap: allow older git
72746         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
72747         older than 1.6.4.  Requested by the libvirt project.
72749 2010-02-23  Eric Blake  <eblake@redhat.com>
72751         warn-on-use: work with old autoconf
72752         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
72753         AS_VAR semantics of autoconf 2.60.
72754         Reported by Bruno Haible.
72756         bootstrap: improve some comments
72757         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
72758         clarification comments.
72760         gettimeofday: provide correct function
72761         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
72762         when replacement is declared, otherwise provide gettimeofday.
72763         Reported by Michael Goffioul.
72765 2010-02-23  Jim Meyering  <meyering@redhat.com>
72767         lib-ignore: relax license to "unlimited", not LGPLv2+
72768         * modules/lib-ignore (License): Relax to "unlimited".
72770 2010-02-23  Jim Meyering  <meyering@redhat.com>
72772         lib-ignore: relax license to LGPLv2+
72773         * modules/lib-ignore (License): Relax to LGPLv2+.
72775 2010-02-22  Eric Blake  <eblake@redhat.com>
72777         lseek: avoid bash 3.2 broken pipe bug
72778         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
72779         warning from bash 3.2.
72780         Reported by Ben Pfaff, with analysis from Bruno Haible.
72782         bootstrap: support non-FSF copyright holder
72783         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
72784         bootstrap.conf override of COPYRIGHT_HOLDER.
72785         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
72787         bootstrap: interoperate with gettext 0.14.1
72788         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
72790         bootstrap: allow for alternate submodule location
72791         * build-aux/bootstrap (gnulib_path): New variable; use instead of
72792         hardcoding submodule location.
72793         (gnulib_mk): Allow direct use of Makefile.am.
72795         bootstrap: use GNULIB_SRCDIR to reduce disk usage
72796         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
72797         rather than reconfiguring where the submodule points.
72799         gettimeofday: restore support for platforms that lack function
72800         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
72801         replacement if function is missing.
72802         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
72803         * modules/sys_time (Makefile.am): Substitute it.
72804         * lib/sys_time.in.h (gettimeofday): Check it.
72805         Reported by Michael Goffioul.
72807 2010-02-21  Bruno Haible  <bruno@clisp.org>
72809         * lib/stdio.in.h (obstack_printf): Fix typo.
72811 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
72813         vc-list-files: use bzr ls's -R option
72814         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
72815         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
72817 2010-02-21  Jim Meyering  <meyering@redhat.com>
72819         init.sh: fix EXEEXT shims to work also for names like test-prog
72820         * tests/init.sh: Re-exec a better shell, when needed.
72821         If the current shell lacks support for posix $(...), an init.sh-using
72822         test will now try to find a shell that supports that.  If EXEEXT is
72823         nonempty, we also require support for hyphen-in-alias-name and shell
72824         substitutions like ${var#glob}.  Failure to find such a shell results
72825         in a skipped test.
72827 2010-02-21  Bruno Haible  <bruno@clisp.org>
72829         Really work around "broken pipe" error message from bash 3.2.
72830         * gnulib-tool (func_reset_sigpipe): Remove function.
72831         (echo): In bash 3.2, define to a function that uses printf.
72832         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
72834 2010-02-20  Bruno Haible  <bruno@clisp.org>
72836         Restore support for automake 1.9.6 with autoconf 2.61.
72837         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
72838         Reported by James Youngman <jay@gnu.org>.
72840 2010-02-20  Bruno Haible  <bruno@clisp.org>
72842         Improve *printf warning condition.
72843         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
72844         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
72845         and the function is overridden due to SIGPIPE emulation.
72847 2010-02-20  Bruno Haible  <bruno@clisp.org>
72849         * lib/stdio.in.h: Tweak comments.
72851 2010-02-19  Bruno Haible  <bruno@clisp.org>
72853         Make it easier to find modules. New gnulib-tool option '--find'.
72854         * gnulib-tool: New option --find.
72855         (func_usage): Document it.
72856         (func_sanitize_modulelist): New function, extracted from
72857         func_all_modules.
72858         (func_all_modules): Invoke it.
72859         * doc/gnulib-tool.texi (Which modules?): New node.
72861 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
72863         * lib/sys_select.in.h: Provide select replacement even if
72864         sys/select.h exists on a system, for Interix.
72866 2010-02-18  Jim Meyering  <meyering@redhat.com>
72868         init.sh: don't use $(...) just yet
72869         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
72870         to accommodate e.g., Solaris' /bin/sh.
72872 2010-02-17  Bruno Haible  <bruno@clisp.org>
72874         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
72875         Reported by Ludovic Courtès <ludo@gnu.org>.
72877 2010-02-16  Simon Josefsson  <simon@josefsson.org>
72879         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
72880         linking with -lintl.
72882 2010-02-17  Simon Josefsson  <simon@josefsson.org>
72884         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
72885         if not provided by the system's netdb.h.  Reported by
72886         ludo@gnu.org (Ludovic Courtès).
72888 2010-02-15  Jim Meyering  <meyering@redhat.com>
72890         init.sh: improve portability and efficiency
72891         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
72892         "dummy" in a for loop.
72893         Use '!', not '^' to select the complement of a character set used
72894         in a "case" statement.
72895         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
72896         Suggestions from Eric Blake.
72898         init.sh: automatically accommodate programs with the .exe suffix
72899         Automatically arrange for an invocation of "prog" to execute the
72900         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
72901         may use the simpler "prog", yet still work when built on a system
72902         that requires specifying the added suffix.
72903         Do this by constructing a function named "prog" that invokes
72904         "prog.exe" for each .exe file in selected directories.
72905         * tests/init.sh (find_exe_basenames_): New function.
72906         (create_exe_shim_functions_): New function.
72907         (path_prepend_): Use it.
72909         maint.mk: mark syntax-check sc_*.m rules as .PHONY
72910         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
72911         "make -t syntax-check" doesn't create a ton of sc_*.m files.
72913 2010-02-14  Jim Meyering  <meyering@redhat.com>
72915         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
72916         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
72917         (sc_prohibit_hash_pjw_without_use): New rule.
72919         maint.mk: allow the default upload destination dir to be overridden
72920         * top/maint.mk (upload_dest_dir_): Define with a default that
72921         preserves the status quo.
72922         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
72923         Reported by Peter Simons.
72925         maint.mk: prohibit inclusion of "hash.h" without_use
72926         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
72928 2010-02-10  Jim Meyering  <meyering@redhat.com>
72930         maint.mk: prohibit inclusion of "ignore-value.h" without_use
72931         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
72933 2010-02-09  Eric Blake  <ebb9@byu.net>
72934         and Bruno Haible  <bruno@clisp.org>
72936         obstack-printf-posix: ensure declaration
72937         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
72938         extracted from gl_FUNC_OBSTACK_PRINTF.
72939         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
72940         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
72941         Likewise.
72942         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
72943         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
72944         0.
72946 2010-02-08  Bruno Haible  <bruno@clisp.org>
72948         gnulib-tool: Fix typo in 2010-02-07 commit.
72949         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
72950         Reported by Eric Blake.
72952 2010-02-07  Bruno Haible  <bruno@clisp.org>
72954         gnulib-tool: Fix up caching patches.
72955         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
72956         option --no-cache. Use associative arrays when supported by the shell.
72957         (sed_comments): New variable.
72958         (modcache): Renamed from do_cache.
72959         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
72960         abbreviate unnecessarily.
72961         (have_associative): New variable.
72962         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
72963         way also for ksh and zsh.
72964         (func_init_sed_convert_to_cache_statements): New function, extracted
72965         from func_cache_lookup_module. Add support for associative arrays.
72966         Don't set the c_MODULE_cached variable here. Ignore all lines before
72967         the first field header. Remove only the final newline, not all trailing
72968         newlines. Support empty fields correctly. Limit the use of 'eval' to
72969         assignments.
72970         (func_get_description, func_get_status, func_get_notice,
72971         func_get_applicability, func_get_filelist, func_get_dependencies,
72972         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
72973         func_get_automake_snippet, func_get_include_directive,
72974         func_get_link_directive, func_get_license, func_get_maintainer):
72975         Update documentation. List the unoptimized code first. Add support for
72976         associative arrays. Limit the use of 'eval' to assignments.
72977         (func_get_applicability): Undo stylistic pessimisations.
72978         (func_get_automake_snippet, func_get_include_directive): Reduce code
72979         duplication.
72980         (func_modules_transitive_closure, func_modules_add_dummy,
72981         func_modules_notice, func_modules_to_filelist, func_add_file,
72982         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
72983         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
72984         func_create_testdir, func_create_megatestdir): Update documentation.
72986 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72988         * gnulib-tool (func_cache_lookup_module): Store the module name
72989         belonging to the cache variable; error out if two different
72990         module names map to the same cache variable name.
72992 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72994         gnulib-tool: Make caching optional.
72995         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
72996         Update matching short versions of --no-changelog.
72997         (func_usage): Update.
72998         (sed_extract_cache_prog): Renamed from ...
72999         (sed_extract_prog): ... this; revert to old extraction script.
73000         (func_get_description, func_get_status)
73001         (func_get_notice, func_get_applicability, func_get_filelist)
73002         (func_get_dependencies, func_get_autoconf_early_snippet)
73003         (func_get_autoconf_snippet, func_get_automake_snippet)
73004         (func_get_include_directive, func_get_link_directive)
73005         (func_get_license, func_get_maintainer): If $do_cache is false,
73006         use old, non-caching extraction scripts.
73007         Suggestion by Bruno Haible.
73009 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73011         gnulib-tool: cache module metainformation.
73012         * gnulib-tool (sed_extract_prog): Match newline before each
73013         header, and rewrite header to a shell variable suffix.
73014         (func_cache_var, func_cache_lookup_module): New functions,
73015         to turn a module name into a cache variable prefix, and to
73016         look up and cache module metainformation.
73017         (func_get_description, func_get_status)
73018         (func_get_notice, func_get_applicability, func_get_filelist)
73019         (func_get_dependencies, func_get_autoconf_early_snippet)
73020         (func_get_autoconf_snippet, func_get_automake_snippet)
73021         (func_get_include_directive, func_get_link_directive)
73022         (func_get_license, func_get_maintainer): Use
73023         func_cache_lookup_module.
73025 2010-02-07  Bruno Haible  <bruno@clisp.org>
73027         fnctl: Fix missing dependency.
73028         * modules/fcntl (Depends-on): Add getdtablesize.
73029         Reported by John W. Eaton <jwe@gnu.org>.
73031 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
73033         Argp: fix recognition of short alias options.
73035         * lib/argp-parse.c (convert_options): Fix improper use of
73036         `|' between character values.
73037         * tests/test-argp.c (group1_option): New alias option
73038         --read (-r).
73039         (group1_parser): Special handling for 'r'.
73040         (test15): New test case.
73041         (test_fun): Add test15.
73042         * tests/test-argp-2.sh: Update expected --help and --usage
73043         outputs.
73045 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
73047         * tests/test-argp.c: Fix indentation.
73049 2010-02-04  Eric Blake  <ebb9@byu.net>
73051         gettimeofday: expose type of second argument
73052         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
73053         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
73054         * tests/test-gettimeofday.c: Use it to silence warning.
73055         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
73056         the issue.
73058 2010-02-03  Jim Meyering  <meyering@redhat.com>
73060         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
73061         * lib/regcomp.c (TYPE_SIGNED): Define.
73062         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
73064         regcomp.c: avoid a new -Wshadow warning
73065         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
73067 2010-02-01  Jim Meyering  <meyering@redhat.com>
73069         removing useless parentheses in cpp #define directives
73070         For motivation, see commit c0221df4, "define STREQ(a,b)
73071         consistently, removing useless parentheses"
73072         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
73073         * lib/mountlist.c (MNT_IGNORE): Likewise.
73074         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
73076 2010-02-01  Eric Blake  <ebb9@byu.net>
73078         sys_time: use link-warning
73079         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
73080         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
73081         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
73082         * modules/sys_time (Depends-on): Add warn-on-use.
73083         (Makefile.am): Always build replacement.
73084         (configure.ac): Update substitutions.
73085         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
73086         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
73087         bother with SYS_TIME_H.
73088         * modules/gettimeofday (configure.ac): Declare indicator.
73089         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
73090         in use.
73092         closein-tests: silence compiler warning
73093         * tests/test-closein.c (main): Ignore fread result.
73094         * modules/closein-tests (Depends-on): Add ignore-value.
73096         tests: silence warning about system return
73097         * tests/test-areadlink-with-size.c (main): Ignore system result.
73098         * tests/test-areadlink.c (main): Likewise.
73099         * tests/test-areadlinkat-with-size.c (main): Likewise.
73100         * tests/test-areadlinkat.c (main): Likewise.
73101         * tests/test-canonicalize-lgpl.c (main): Likewise.
73102         * tests/test-canonicalize.c (main): Likewise.
73103         * tests/test-chown.c (main): Likewise.
73104         * tests/test-fchownat.c (main): Likewise.
73105         * tests/test-fdutimensat.c (main): Likewise.
73106         * tests/test-fstatat.c (main): Likewise.
73107         * tests/test-futimens.c (main): Likewise.
73108         * tests/test-lchown.c (main): Likewise.
73109         * tests/test-link.c (main): Likewise.
73110         * tests/test-linkat.c (main): Likewise.
73111         * tests/test-lstat.c (main): Likewise.
73112         * tests/test-mkdir.c (main): Likewise.
73113         * tests/test-mkdirat.c (main): Likewise.
73114         * tests/test-mkfifo.c (main): Likewise.
73115         * tests/test-mkfifoat.c (main): Likewise.
73116         * tests/test-mknod.c (main): Likewise.
73117         * tests/test-readlink.c (main): Likewise.
73118         * tests/test-remove.c (main): Likewise.
73119         * tests/test-rename.c (main): Likewise.
73120         * tests/test-renameat.c (main): Likewise.
73121         * tests/test-rmdir.c (main): Likewise.
73122         * tests/test-symlink.c (main): Likewise.
73123         * tests/test-symlinkat.c (main): Likewise.
73124         * tests/test-unlink.c (main): Likewise.
73125         * tests/test-unlinkat.c (main): Likewise.
73126         * tests/test-utimens.c (main): Likewise.
73127         * tests/test-utimensat.c (main): Likewise.
73128         * modules/areadlink-tests (Depends-on): Add ignore-value.
73129         * modules/areadlink-with-size-tests (Depends-on): Likewise.
73130         * modules/areadlinkat-tests (Depends-on): Likewise.
73131         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
73132         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
73133         * modules/canonicalize-tests (Depends-on): Likewise.
73134         * modules/chown-tests (Depends-on): Likewise.
73135         * modules/fdutimensat-tests (Depends-on): Likewise.
73136         * modules/futimens-tests (Depends-on): Likewise.
73137         * modules/lchown-tests (Depends-on): Likewise.
73138         * modules/link-tests (Depends-on): Likewise.
73139         * modules/linkat-tests (Depends-on): Likewise.
73140         * modules/lstat-tests (Depends-on): Likewise.
73141         * modules/mkdir-tests (Depends-on): Likewise.
73142         * modules/mkfifo-tests (Depends-on): Likewise.
73143         * modules/mkfifoat-tests (Depends-on): Likewise.
73144         * modules/mknod-tests (Depends-on): Likewise.
73145         * modules/openat-tests (Depends-on): Likewise.
73146         * modules/readlink-tests (Depends-on): Likewise.
73147         * modules/remove-tests (Depends-on): Likewise.
73148         * modules/rename-tests (Depends-on): Likewise.
73149         * modules/renameat-tests (Depends-on): Likewise.
73150         * modules/rmdir-tests (Depends-on): Likewise.
73151         * modules/symlink-tests (Depends-on): Likewise.
73152         * modules/symlinkat-tests (Depends-on): Likewise.
73153         * modules/unlink-tests (Depends-on): Likewise.
73154         * modules/utimens-tests (Depends-on): Likewise.
73155         * modules/utimensat-tests (Depends-on): Likewise.
73157 2010-01-31  Bruno Haible  <bruno@clisp.org>
73159         Perform the same test for many <math.h> functions.
73160         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
73161         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
73162         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
73163         of gl_MATHFUNC.
73164         * modules/acos (configure.ac): Likewise.
73165         * modules/asin (configure.ac): Likewise.
73166         * modules/atan (configure.ac): Likewise.
73167         * modules/atan2 (configure.ac): Likewise.
73168         * modules/cbrt (configure.ac): Likewise.
73169         * modules/copysign (configure.ac): Likewise.
73170         * modules/cos (configure.ac): Likewise.
73171         * modules/cosh (configure.ac): Likewise.
73172         * modules/erf (configure.ac): Likewise.
73173         * modules/erfc (configure.ac): Likewise.
73174         * modules/exp (configure.ac): Likewise.
73175         * modules/fmod (configure.ac): Likewise.
73176         * modules/hypot (configure.ac): Likewise.
73177         * modules/j0 (configure.ac): Likewise.
73178         * modules/j1 (configure.ac): Likewise.
73179         * modules/jn (configure.ac): Likewise.
73180         * modules/lgamma (configure.ac): Likewise.
73181         * modules/log (configure.ac): Likewise.
73182         * modules/log10 (configure.ac): Likewise.
73183         * modules/log1p (configure.ac): Likewise.
73184         * modules/pow (configure.ac): Likewise.
73185         * modules/remainder (configure.ac): Likewise.
73186         * modules/sin (configure.ac): Likewise.
73187         * modules/sinh (configure.ac): Likewise.
73188         * modules/tan (configure.ac): Likewise.
73189         * modules/tanh (configure.ac): Likewise.
73190         * modules/y0 (configure.ac): Likewise.
73191         * modules/y1 (configure.ac): Likewise.
73192         * modules/yn (configure.ac): Likewise.
73193         Suggested by Paolo Bonzini.
73195 2010-01-31  Bruno Haible  <bruno@clisp.org>
73197         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
73199 2010-01-31  Bruno Haible  <bruno@clisp.org>
73201         Work around getdelim() bug on FreeBSD 8.0.
73202         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
73203         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
73204         not work.
73205         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
73206         is 1.
73207         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
73208         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
73209         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
73210         a non-zero size.
73211         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
73213 2010-01-31  Bruno Haible  <bruno@clisp.org>
73215         Work around getline() bug on FreeBSD 8.0.
73216         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
73217         and a non-zero size.
73218         * tests/test-getline.c (main): Likewise.
73219         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
73220         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
73222 2010-01-28  Eric Blake  <ebb9@byu.net>
73224         regex: fix build failure
73225         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
73226         platforms.
73228 2010-01-28  Jim Meyering  <meyering@redhat.com>
73230         regex: do not ignore memory allocation failure
73231         * lib/regex_internal.c (create_cd_newstate): Detect
73232         re_node_set_init_copy failure.   Extracted from glibc commit
73233         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73235         regex: sync more white-space changes from libc
73236         * lib/regex_internal.c: White-space only changes.
73237         * lib/regexec.c: Likewise.
73239         regex: add many uses of __attribute_warn_unused_result__
73240         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
73241         * lib/regexec.c: Likewise.
73242         Extracted from a messy glibc commit.
73244         regcomp.c: spelling and merge-artifact from glibc
73245         * lib/regcomp.c: Merge remainder of glibc's
73246         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73248         regcomp.c: sync white-space changes from glibc
73249         * lib/regcomp.c: Merge to accommodate white space
73250         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73252         regcomp.c: do not ignore internal return values
73253         * lib/regcomp.c: Do not ignore internal return values.
73254         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
73255         but without its white-space changes and spelling fixes.
73257         regex_internal.h: define __attribute_warn_unused_result__
73258         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
73260         maint: add a syntax-check rule to check for vulnerable Makefile.in
73261         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
73263 2010-01-27  Jim Meyering  <meyering@redhat.com>
73265         ncftpput-ftp: clean up spaces
73266         * build-aux/ncftpput-ftp: Make Copyright line consistent.
73267         Remove trailing blanks.
73269 2010-01-27  Simon Josefsson  <simon@josefsson.org>
73271         * build-aux/git-version-gen: Fix copyright statement.
73272         * build-aux/gnupload: Likewise.
73273         * tests/test-arcfour.c: Likewise.
73274         * tests/test-arctwo.c: Likewise.
73275         * tests/test-count-one-bits.c: Likewise.
73276         * tests/test-crc.c: Likewise.
73277         * tests/test-des.c: Likewise.
73278         * tests/test-gc-arcfour.c: Likewise.
73279         * tests/test-gc-arctwo.c: Likewise.
73280         * tests/test-gc-des.c: Likewise.
73281         * tests/test-gc-hmac-md5.c: Likewise.
73282         * tests/test-gc-hmac-sha1.c: Likewise.
73283         * tests/test-gc-md2.c: Likewise.
73284         * tests/test-gc-md4.c: Likewise.
73285         * tests/test-gc-md5.c: Likewise.
73286         * tests/test-gc-pbkdf2-sha1.c: Likewise.
73287         * tests/test-gc-rijndael.c: Likewise.
73288         * tests/test-gc-sha1.c: Likewise.
73289         * tests/test-gc.c: Likewise.
73290         * tests/test-gethostname.c: Likewise.
73291         * tests/test-gettimeofday.c: Likewise.
73292         * tests/test-hash.c: Likewise.
73293         * tests/test-hmac-md5.c: Likewise.
73294         * tests/test-hmac-sha1.c: Likewise.
73295         * tests/test-md2.c: Likewise.
73296         * tests/test-md4.c: Likewise.
73297         * tests/test-md5.c: Likewise.
73298         * tests/test-memchr.c: Likewise.
73299         * tests/test-memchr2.c: Likewise.
73300         * tests/test-memcmp.c: Likewise.
73301         * tests/test-memmem.c: Likewise.
73302         * tests/test-memrchr.c: Likewise.
73303         * tests/test-rawmemchr.c: Likewise.
73304         * tests/test-read-file.c: Likewise.
73305         * tests/test-rijndael.c: Likewise.
73306         * tests/test-sockets.c: Likewise.
73307         * tests/test-strchrnul.c: Likewise.
73308         * tests/test-strstr.c: Likewise.
73309         * tests/test-strtod.c: Likewise.
73310         * build-aux/ncftpput-ftp: Likewise.
73312 2010-01-26  Eric Blake  <ebb9@byu.net>
73314         ignore-value: update recommended header name
73315         * modules/ignore-value (Include): Only use <> for headers that
73316         exist in glibc.
73318 2010-01-26  Jim Meyering  <meyering@redhat.com>
73320         test-userspec.c: avoid compiler warnings
73321         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
73322         and "initialization discards qualifiers..." warnings.
73323         Put the first "uid" in its own scope, and make char* members "const".
73325 2010-01-25  Bruno Haible  <bruno@clisp.org>
73327         gnulib-tool: Make warning diagnostics consistent.
73328         * gnulib-tool (func_warning): New function.
73329         Use it everywhere where gnulib-tool produces output to stderr and it is
73330         not a fatal error.
73332 2010-01-25  Bruno Haible  <bruno@clisp.org>
73334         Fix test dependencies.
73335         * modules/xstrtol-tests (Depends-on): Add inttypes.
73336         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
73338 2010-01-25  Pádraig Brady  <P@draigBrady.com>
73340         syntax-check: detect incorrect boolean macro values in config.h
73341         * modules/maintainer-makefile (configure.ac): Parameterize the location
73342         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
73343         The logic is from Eric Blake and the location indicated by Jim Meyering.
73344         Note the more natural CONFIG_HEADER name is prohibited by automake
73345         for backwards compatibility reasons.
73346         * top/maint.mk (sc_Wundef_boolean): New rule.
73348 2010-01-25  Jim Meyering  <meyering@redhat.com>
73350         bootstrap: detect MacOS 10.6's shasum, too
73351         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
73352         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
73354 2010-01-23  Jim Meyering  <meyering@redhat.com>
73356         xstrtoll: new module
73357         * modules/xstrtoll: New file.
73358         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
73359         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
73360         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
73361         ./configure fails if you use this module and lack "long long".
73362         * modules/xstrtoll-tests: New module.
73363         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
73364         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
73365         new init.sh-based test framework.
73367 2010-01-24  Bruno Haible  <bruno@clisp.org>
73369         Tests for module 'yn'.
73370         * modules/yn-tests: New file.
73371         * tests/test-yn.c: New file.
73373         Tests for module 'y1'.
73374         * modules/y1-tests: New file.
73375         * tests/test-y1.c: New file.
73377         Tests for module 'y0'.
73378         * modules/y0-tests: New file.
73379         * tests/test-y0.c: New file.
73381         Tests for module 'tanh'.
73382         * modules/tanh-tests: New file.
73383         * tests/test-tanh.c: New file.
73385         Tests for module 'tan'.
73386         * modules/tan-tests: New file.
73387         * tests/test-tan.c: New file.
73389         Tests for module 'sqrt'.
73390         * modules/sqrt-tests: New file.
73391         * tests/test-sqrt.c: New file.
73393         Tests for module 'sinh'.
73394         * modules/sinh-tests: New file.
73395         * tests/test-sinh.c: New file.
73397         Tests for module 'sin'.
73398         * modules/sin-tests: New file.
73399         * tests/test-sin.c: New file.
73401         Tests for module 'rint'.
73402         * modules/rint-tests: New file.
73403         * tests/test-rint.c: New file.
73405         Tests for module 'remainder'.
73406         * modules/remainder-tests: New file.
73407         * tests/test-remainder.c: New file.
73409         Tests for module 'pow'.
73410         * modules/pow-tests: New file.
73411         * tests/test-pow.c: New file.
73413         Tests for module 'nextafter'.
73414         * modules/nextafter-tests: New file.
73415         * tests/test-nextafter.c: New file.
73417         Tests for module 'modf'.
73418         * modules/modf-tests: New file.
73419         * tests/test-modf.c: New file.
73421         Tests for module 'logb'.
73422         * modules/logb-tests: New file.
73423         * tests/test-logb.c: New file.
73425         Tests for module 'log1p'.
73426         * modules/log1p-tests: New file.
73427         * tests/test-log1p.c: New file.
73429         Tests for module 'log10'.
73430         * modules/log10-tests: New file.
73431         * tests/test-log10.c: New file.
73433         Tests for module 'log'.
73434         * modules/log-tests: New file.
73435         * tests/test-log.c: New file.
73437         Tests for module 'lgamma'.
73438         * modules/lgamma-tests: New file.
73439         * tests/test-lgamma.c: New file.
73441         Tests for module 'ldexp'.
73442         * modules/ldexp-tests: New file.
73443         * tests/test-ldexp.c: New file.
73445         Tests for module 'jn'.
73446         * modules/jn-tests: New file.
73447         * tests/test-jn.c: New file.
73449         Tests for module 'j1'.
73450         * modules/j1-tests: New file.
73451         * tests/test-j1.c: New file.
73453         Tests for module 'j0'.
73454         * modules/j0-tests: New file.
73455         * tests/test-j0.c: New file.
73457         Tests for module 'hypot'.
73458         * modules/hypot-tests: New file.
73459         * tests/test-hypot.c: New file.
73461         Tests for module 'fmod'.
73462         * modules/fmod-tests: New file.
73463         * tests/test-fmod.c: New file.
73465         Tests for module 'fabs'.
73466         * modules/fabs-tests: New file.
73467         * tests/test-fabs.c: New file.
73469         Tests for module 'exp'.
73470         * modules/exp-tests: New file.
73471         * tests/test-exp.c: New file.
73473         Tests for module 'erfc'.
73474         * modules/erfc-tests: New file.
73475         * tests/test-erfc.c: New file.
73477         Tests for module 'erf'.
73478         * modules/erf-tests: New file.
73479         * tests/test-erf.c: New file.
73481         Tests for module 'cosh'.
73482         * modules/cosh-tests: New file.
73483         * tests/test-cosh.c: New file.
73485         Tests for module 'cos'.
73486         * modules/cos-tests: New file.
73487         * tests/test-cos.c: New file.
73489         Tests for module 'copysign'.
73490         * modules/copysign-tests: New file.
73491         * tests/test-copysign.c: New file.
73493         Tests for module 'cbrt'.
73494         * modules/cbrt-tests: New file.
73495         * tests/test-cbrt.c: New file.
73497         Tests for module 'atan2'.
73498         * modules/atan2-tests: New file.
73499         * tests/test-atan2.c: New file.
73501         Tests for module 'atan'.
73502         * modules/atan-tests: New file.
73503         * tests/test-atan.c: New file.
73505         Tests for module 'asin'.
73506         * modules/asin-tests: New file.
73507         * tests/test-asin.c: New file.
73509         Tests for module 'acos'.
73510         * modules/acos-tests: New file.
73511         * tests/test-acos.c: New file.
73513 2010-01-24  Bruno Haible  <bruno@clisp.org>
73515         Fix tests for common <math.h> functions.
73516         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
73517         code snippet that references the function pointer, rather than merely
73518         calling the function. Substitute the FUNC_LIBM variable.
73519         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
73520         * modules/acos (configure.ac): Likewise.
73521         * modules/asin (configure.ac): Likewise.
73522         * modules/atan (configure.ac): Likewise.
73523         * modules/atan2 (configure.ac): Likewise.
73524         * modules/cbrt (configure.ac): Likewise.
73525         * modules/copysign (configure.ac): Likewise.
73526         * modules/cos (configure.ac): Likewise.
73527         * modules/cosh (configure.ac): Likewise.
73528         * modules/erf (configure.ac): Likewise.
73529         * modules/erfc (configure.ac): Likewise.
73530         * modules/exp (configure.ac): Likewise.
73531         * modules/fabs (configure.ac): Likewise.
73532         * modules/fmod (configure.ac): Likewise.
73533         * modules/hypot (configure.ac): Likewise.
73534         * modules/j0 (configure.ac): Likewise.
73535         * modules/j1 (configure.ac): Likewise.
73536         * modules/jn (configure.ac): Likewise.
73537         * modules/ldexp (configure.ac): Likewise.
73538         * modules/lgamma (configure.ac): Likewise.
73539         * modules/log (configure.ac): Likewise.
73540         * modules/log10 (configure.ac): Likewise.
73541         * modules/log1p (configure.ac): Likewise.
73542         * modules/logb (configure.ac): Likewise.
73543         * modules/modf (configure.ac): Likewise.
73544         * modules/nextafter (configure.ac): Likewise.
73545         * modules/pow (configure.ac): Likewise.
73546         * modules/remainder (configure.ac): Likewise.
73547         * modules/rint (configure.ac): Likewise.
73548         * modules/sin (configure.ac): Likewise.
73549         * modules/sinh (configure.ac): Likewise.
73550         * modules/tan (configure.ac): Likewise.
73551         * modules/tanh (configure.ac): Likewise.
73552         * modules/y0 (configure.ac): Likewise.
73553         * modules/y1 (configure.ac): Likewise.
73554         * modules/yn (configure.ac): Likewise.
73556 2010-01-24  Bruno Haible  <bruno@clisp.org>
73558         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
73559         * tests/test-acosl.c (x): New variable.
73560         (main): Store argument in x and fetch it from x.
73561         * tests/test-asinl.c (x): New variable.
73562         (main): Store argument in x and fetch it from x.
73563         * tests/test-atanl.c (x): New variable.
73564         (main): Store argument in x and fetch it from x.
73565         * tests/test-cosl.c (x): New variable.
73566         (main): Store argument in x and fetch it from x.
73567         * tests/test-expl.c (x): New variable.
73568         (main): Store argument in x and fetch it from x.
73569         * tests/test-logl.c (x): New variable.
73570         (main): Store argument in x and fetch it from x.
73571         * tests/test-sinl.c (x): New variable.
73572         (main): Store argument in x and fetch it from x.
73573         * tests/test-sqrtl.c (x): New variable.
73574         (main): Store argument in x and fetch it from x.
73575         * tests/test-tanl.c (x): New variable.
73576         (main): Store argument in x and fetch it from x.
73578 2010-01-24  Bruno Haible  <bruno@clisp.org>
73580         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
73581         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
73582         assignments to the initial TESTS_ENVIRONMENT.
73583         * doc/gnulib.texi (Unit test modules): Document it.
73584         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
73585         TESTS_ENVIRONMENT.
73586         * modules/btowc-tests (Makefile.am): Likewise.
73587         * modules/c-stack-tests (Makefile.am): Likewise.
73588         * modules/c-strcase-tests (Makefile.am): Likewise.
73589         * modules/copy-file-tests (Makefile.am): Likewise.
73590         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
73591         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
73592         * modules/mbrtowc-tests (Makefile.am): Likewise.
73593         * modules/mbscasecmp-tests (Makefile.am): Likewise.
73594         * modules/mbscasestr-tests (Makefile.am): Likewise.
73595         * modules/mbschr-tests (Makefile.am): Likewise.
73596         * modules/mbscspn-tests (Makefile.am): Likewise.
73597         * modules/mbsinit-tests (Makefile.am): Likewise.
73598         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
73599         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
73600         * modules/mbspbrk-tests (Makefile.am): Likewise.
73601         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
73602         * modules/mbsrchr-tests (Makefile.am): Likewise.
73603         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
73604         * modules/mbsspn-tests (Makefile.am): Likewise.
73605         * modules/mbsstr-tests (Makefile.am): Likewise.
73606         * modules/nl_langinfo-tests (Makefile.am): Likewise.
73607         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
73608         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
73609         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
73610         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
73611         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
73612         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
73613         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
73614         * modules/wcrtomb-tests (Makefile.am): Likewise.
73615         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
73616         * modules/wcsrtombs-tests (Makefile.am): Likewise.
73617         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
73618         assignments from TESTS_ENVIRONMENT.
73619         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
73620         augmentation.
73621         * modules/argp-version-etc-tests (Makefile.am): Likewise.
73622         * modules/atexit-tests (Makefile.am): Likewise.
73623         * modules/binary-io-tests (Makefile.am): Likewise.
73624         * modules/closein-tests (Makefile.am): Likewise.
73625         * modules/dprintf-posix-tests (Makefile.am): Likewise.
73626         * modules/exclude-tests (Makefile.am): Likewise.
73627         * modules/fflush-tests (Makefile.am): Likewise.
73628         * modules/fpending-tests (Makefile.am): Likewise.
73629         * modules/fprintf-posix-tests (Makefile.am): Likewise.
73630         * modules/freadahead-tests (Makefile.am): Likewise.
73631         * modules/freadptr-tests (Makefile.am): Likewise.
73632         * modules/freadseek-tests (Makefile.am): Likewise.
73633         * modules/fseek-tests (Makefile.am): Likewise.
73634         * modules/fseeko-tests (Makefile.am): Likewise.
73635         * modules/ftell-tests (Makefile.am): Likewise.
73636         * modules/ftello-tests (Makefile.am): Likewise.
73637         * modules/idpriv-drop-tests (Makefile.am): Likewise.
73638         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
73639         * modules/lseek-tests (Makefile.am): Likewise.
73640         * modules/parse-duration-tests (Makefile.am): Likewise.
73641         * modules/perror-tests (Makefile.am): Likewise.
73642         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
73643         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
73644         * modules/pipe-tests (Makefile.am): Likewise.
73645         * modules/pread-tests (Makefile.am): Likewise.
73646         * modules/printf-posix-tests (Makefile.am): Likewise.
73647         * modules/select-tests (Makefile.am): Likewise.
73648         * modules/sigpipe-tests (Makefile.am): Likewise.
73649         * modules/tsearch-tests (Makefile.am): Likewise.
73650         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
73651         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
73652         * modules/uniname/uniname-tests (Makefile.am): Likewise.
73653         * modules/uniwidth/width-tests (Makefile.am): Likewise.
73654         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
73655         * modules/version-etc-tests (Makefile.am): Likewise.
73656         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
73657         * modules/vprintf-posix-tests (Makefile.am): Likewise.
73658         * modules/xalloc-die-tests (Makefile.am): Likewise.
73659         * modules/xprintf-posix-tests (Makefile.am): Likewise.
73660         * modules/xstrtoimax-tests (Makefile.am): Likewise.
73661         * modules/xstrtol-tests (Makefile.am): Likewise.
73662         * modules/xstrtoumax-tests (Makefile.am): Likewise.
73663         * modules/yesno-tests (Makefile.am): Likewise.
73664         Suggested by Jim Meyering.
73666 2010-01-24  Bruno Haible  <bruno@clisp.org>
73668         More documentation.
73669         * doc/gnulib.texi (Writing modules): New chapter.
73670         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
73671         the new chapter.
73673 2010-01-24  Jim Meyering  <meyering@redhat.com>
73675         maint.mk: do not prepend "./" after filtering
73676         * top/maint.mk (_prepend_srcdir_prefix): New variable
73677         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
73678         "./" when $(srcdir) is ".".
73680         define STREQ(a,b) consistently, removing useless parentheses
73681         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
73682         since the only risk is that "a" or "b" contains an unparenthesized
73683         comma, but if either did that, STREQ would have 3 or more arguments.
73684         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
73685         * lib/fts.c (STREQ): Remove unnecessary parentheses.
73686         * lib/hash-triple.c (STREQ): Likewise.
73687         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
73688         * lib/getugroups.c (STREQ): Likewise.
73690 2010-01-23  Jim Meyering  <meyering@redhat.com>
73692         maint.mk: fix syntax-check in a non-srcdir build directory
73693         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
73694         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
73696 2010-01-22  Jim Meyering  <meyering@redhat.com>
73698         userspec: add unit tests
73699         * tests/test-userspec.c: New file.
73700         * modules/userspec-tests: Likewise.
73702 2010-01-21  Jim Meyering  <meyering@redhat.com>
73704         maint.mk: handle source file names containing "." robustly
73705         * top/maint.mk (_dot_escaped_srcdir): Define.
73706         (VC_LIST): Use it in LHS of sed substitution.
73708 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
73710         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
73711         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
73712         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
73713         from a non-srcdir build.
73715 2010-01-20  Eric Blake  <ebb9@byu.net>
73717         warn-on-use: use instead of link-warning
73718         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
73719         * modules/unistd (Depends-on, Makefile.am): Likewise.
73720         * modules/arpa_inet (Depends-on): Replace link-warning with
73721         warn-on-use.
73722         (Makefile.am): Update rules accordingly.
73723         * modules/ctype (Depends-on, Makefile.am): Likewise.
73724         * modules/dirent (Depends-on, Makefile.am): Likewise.
73725         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
73726         * modules/inttypes (Depends-on, Makefile.am): Likewise.
73727         * modules/langinfo (Depends-on, Makefile.am): Likewise.
73728         * modules/locale (Depends-on, Makefile.am): Likewise.
73729         * modules/math (Depends-on, Makefile.am): Likewise.
73730         * modules/search (Depends-on, Makefile.am): Likewise.
73731         * modules/signal (Depends-on, Makefile.am): Likewise.
73732         * modules/spawn (Depends-on, Makefile.am): Likewise.
73733         * modules/stdlib (Depends-on, Makefile.am): Likewise.
73734         * modules/string (Depends-on, Makefile.am): Likewise.
73735         * modules/strings (Depends-on, Makefile.am): Likewise.
73736         * modules/sys_file (Depends-on, Makefile.am): Likewise.
73737         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
73738         * modules/sys_select (Depends-on, Makefile.am): Likewise.
73739         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
73740         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
73741         * modules/sys_times (Depends-on, Makefile.am): Likewise.
73742         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
73743         * modules/wchar (Depends-on, Makefile.am): Likewise.
73744         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
73745         should be poisoned.
73746         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
73747         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
73748         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
73749         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73750         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
73751         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
73752         * m4/math_h.m4 (gl_MATH_H): Likewise.
73753         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73754         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
73755         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
73756         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
73757         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
73758         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
73759         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
73760         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
73761         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
73762         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73763         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
73764         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
73765         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
73766         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
73767         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
73768         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
73769         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
73770         GL_LINK_WARNING.
73771         * lib/ctype.in.h: Likewise.
73772         * lib/dirent.in.h: Likewise.
73773         * lib/fcntl.in.h: Likewise.
73774         * lib/inttypes.in.h: Likewise.
73775         * lib/langinfo.in.h: Likewise.
73776         * lib/locale.in.h: Likewise.
73777         * lib/math.in.h: Likewise.
73778         * lib/search.in.h: Likewise.
73779         * lib/signal.in.h: Likewise.
73780         * lib/spawn.in.h: Likewise.
73781         * lib/stdio.in.h: Likewise.
73782         * lib/stdlib.in.h: Likewise.
73783         * lib/string.in.h: Likewise.
73784         * lib/strings.in.h: Likewise.
73785         * lib/sys_file.in.h: Likewise.
73786         * lib/sys_ioctl.in.h: Likewise.
73787         * lib/sys_select.in.h: Likewise.
73788         * lib/sys_socket.in.h: Likewise.
73789         * lib/sys_stat.in.h: Likewise.
73790         * lib/sys_times.in.h: Likewise.
73791         * lib/sys_utsname.in.h: Likewise.
73792         * lib/unistd.in.h: Likewise.
73793         * lib/wchar.in.h: Likewise.
73795 2010-01-20  Bruno Haible  <bruno@clisp.org>
73797         Avoid duplicate -lm.
73798         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
73799         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
73800         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
73801         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
73802         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
73803         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
73804         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
73805         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
73806         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
73807         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
73808         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
73809         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
73810         Reported by Paolo Bonzini.
73812 2010-01-19  Bruno Haible  <bruno@clisp.org>
73814         langinfo, nl_langinfo: Relicense under LGPLv2+.
73815         * modules/langinfo (License): Change to LGPLv2+.
73816         * modules/nl_langinfo (License): Likewise.
73817         Patch by David Lutterkort <lutter@redhat.com>.
73819 2010-01-19  Bruno Haible  <bruno@clisp.org>
73821         Avoid compilation error with cc on OSF/1 5.1.
73822         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
73823         statement, not before.
73824         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73826 2010-01-18  Bruno Haible  <bruno@clisp.org>
73828         Avoid a link error due to the __printf__ symbol.
73829         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
73830         and 2.6.x.
73831         (__format__, __printf__): Remove definitions.
73832         * lib/argp-fmtstream.h: Likewise.
73833         * lib/argp.h: Likewise.
73834         * lib/error.h: Likewise.
73835         * lib/vasnprintf.h: Likewise.
73836         * lib/xprintf.h: Likewise.
73837         * lib/xvasprintf.h: Likewise.
73838         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73840 2010-01-18  Bruno Haible  <bruno@clisp.org>
73842         Tests for module 'tanl'.
73843         * modules/tanl-tests: New file.
73844         * tests/test-tanl.c: New file.
73846         Tests for module 'sqrtl'.
73847         * modules/sqrtl-tests: New file.
73848         * tests/test-sqrtl.c: New file.
73850         Tests for module 'sinl'.
73851         * modules/sinl-tests: New file.
73852         * tests/test-sinl.c: New file.
73854         Tests for module 'logl'.
73855         * modules/logl-tests: New file.
73856         * tests/test-logl.c: New file.
73858         Tests for module 'expl'.
73859         * modules/expl-tests: New file.
73860         * tests/test-expl.c: New file.
73862         Tests for module 'cosl'.
73863         * modules/cosl-tests: New file.
73864         * tests/test-cosl.c: New file.
73866         Tests for module 'atanl'.
73867         * modules/atanl-tests: New file.
73868         * tests/test-atanl.c: New file.
73870         Tests for module 'asinl'.
73871         * modules/asinl-tests: New file.
73872         * tests/test-asinl.c: New file.
73874         Tests for module 'acosl'.
73875         * modules/acosl-tests: New file.
73876         * tests/test-acosl.c: New file.
73878         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73879         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
73880         tanl): Use the standard gnulib idiom.
73881         * lib/cosl.c: Don't include trigl.c and sincosl.c.
73882         * lib/sinl.c: Likewise.
73883         * lib/tanl.c: Don't include trigl.c.
73884         (kernel_tanl): Make static.
73885         * lib/sincosl.c: Include trigl.h first.
73886         * lib/trigl.c: Likewise.
73887         * m4/acosl.m4: New file.
73888         * m4/asinl.m4: New file.
73889         * m4/atanl.m4: New file.
73890         * m4/cosl.m4: New file.
73891         * m4/expl.m4: New file.
73892         * m4/logl.m4: New file.
73893         * m4/sinl.m4: New file.
73894         * m4/sqrtl.m4: New file.
73895         * m4/tanl.m4: New file.
73896         * m4/mathl.m4: Remove file.
73897         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
73898         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73899         Don't initialize GNULIB_MATHL.
73900         * modules/acosl: New file.
73901         * modules/asinl: New file.
73902         * modules/atanl: New file.
73903         * modules/cosl: New file.
73904         * modules/expl: New file.
73905         * modules/logl: New file.
73906         * modules/sinl: New file.
73907         * modules/sqrtl: New file.
73908         * modules/tanl: New file.
73909         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
73910         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
73911         substitute GNULIB_MATHL.
73912         * modules/mathl: Rewritten.
73913         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
73914         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
73915         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
73916         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
73917         * doc/posix-functions/expl.texi: Mention the 'expl' module.
73918         * doc/posix-functions/logl.texi: Mention the 'logl' module.
73919         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
73920         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
73921         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
73923 2010-01-18  Bruno Haible  <bruno@clisp.org>
73925         sqrt: Make gl_FUNC_SQRT requirable.
73926         * m4/sqrt.m4: New file.
73927         * modules/sqrt (Files): Add it.
73928         (configure.ac): Invoke gl_FUNC_SQRT.
73930 2010-01-18  Bruno Haible  <bruno@clisp.org>
73932         New modules for common <math.h> functions.
73933         * m4/mathfunc.m4: New file.
73934         * modules/acos: New file.
73935         * modules/asin: New file.
73936         * modules/atan: New file.
73937         * modules/atan2: New file.
73938         * modules/cbrt: New file.
73939         * modules/copysign: New file.
73940         * modules/cos: New file.
73941         * modules/cosh: New file.
73942         * modules/erf: New file.
73943         * modules/erfc: New file.
73944         * modules/exp: New file.
73945         * modules/fabs: New file.
73946         * modules/fmod: New file.
73947         * modules/hypot: New file.
73948         * modules/j0: New file.
73949         * modules/j1: New file.
73950         * modules/jn: New file.
73951         * modules/ldexp: New file.
73952         * modules/lgamma: New file.
73953         * modules/log: New file.
73954         * modules/log10: New file.
73955         * modules/log1p: New file.
73956         * modules/logb: New file.
73957         * modules/modf: New file.
73958         * modules/nextafter: New file.
73959         * modules/pow: New file.
73960         * modules/remainder: New file.
73961         * modules/rint: New file.
73962         * modules/sin: New file.
73963         * modules/sinh: New file.
73964         * modules/sqrt: New file.
73965         * modules/tan: New file.
73966         * modules/tanh: New file.
73967         * modules/y0: New file.
73968         * modules/y1: New file.
73969         * modules/yn: New file.
73970         * doc/posix-functions/acos.texi: Mention the 'acos' module.
73971         * doc/posix-functions/asin.texi: Mention the 'asin' module.
73972         * doc/posix-functions/atan.texi: Mention the 'atan' module.
73973         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
73974         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
73975         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
73976         * doc/posix-functions/cos.texi: Mention the 'cos' module.
73977         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
73978         * doc/posix-functions/erf.texi: Mention the 'erf' module.
73979         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
73980         * doc/posix-functions/exp.texi: Mention the 'exp' module.
73981         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
73982         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
73983         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
73984         * doc/posix-functions/j0.texi: Mention the 'j0' module.
73985         * doc/posix-functions/j1.texi: Mention the 'j1' module.
73986         * doc/posix-functions/jn.texi: Mention the 'jn' module.
73987         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
73988         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
73989         * doc/posix-functions/log.texi: Mention the 'log' module.
73990         * doc/posix-functions/log10.texi: Mention the 'log10' module.
73991         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
73992         * doc/posix-functions/logb.texi: Mention the 'logb' module.
73993         * doc/posix-functions/modf.texi: Mention the 'modf' module.
73994         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
73995         * doc/posix-functions/pow.texi: Mention the 'pow' module.
73996         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
73997         * doc/posix-functions/rint.texi: Mention the 'rint' module.
73998         * doc/posix-functions/sin.texi: Mention the 'sin' module.
73999         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
74000         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
74001         * doc/posix-functions/tan.texi: Mention the 'tan' module.
74002         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
74003         * doc/posix-functions/y0.texi: Mention the 'y0' module.
74004         * doc/posix-functions/y1.texi: Mention the 'y1' module.
74005         * doc/posix-functions/yn.texi: Mention the 'yn' module.
74007 2010-01-18  Jim Meyering  <meyering@redhat.com>
74009         ignore-value: relax license to LGPLv2+
74010         * modules/ignore-value (License): Relax to LGPLv2+.
74012         getdate: don't leak when TZ contains two or more '"'s
74013         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
74014         double quote in TZ after the first one.
74016         readtokens: do not leak internal token_lengths buffer
74017         * lib/readtokens.c (readtokens): Free the local, lengths,
74018         when the supplied "token_lengths" parameter is NULL.
74020 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74022         Fix a couple of missing LIBTHREAD link failures on AIX.
74023         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
74024         $(LIBTHREAD).
74025         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
74027         Link test-poll against INET_PTON_LIB.
74028         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
74029         for inet_pton on Solaris 10.
74031 2010-01-17  Bruno Haible  <bruno@clisp.org>
74033         unistdio/*-sprintf: Fix typo in module description.
74034         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
74035         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
74036         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
74037         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
74038         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
74039         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
74040         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
74041         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74043 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74045         gnulib-tool: fix filelist for AIX, HP-UX ksh.
74046         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
74047         variables in shell case patterns, for AIX and HP-UX ksh.
74049         Split large sed scripts, for HP-UX sed.
74050         * modules/stdio: Split sed scripts around 50 sed commands,
74051         to avoid HP-UX limit of 99 commands, in the near future.
74052         * modules/string: Likewise.
74053         * modules/unistd: Likewise.
74055         gnulib-tool: avoid writing in the current directory.
74056         * gnulib-tool (func_emit_lib_Makefile_am)
74057         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
74058         not in the current directory, so concurrent gnulib-tool
74059         instances do not interfere.
74061 2010-01-16  Jim Meyering  <meyering@redhat.com>
74063         doc: update users.txt
74064         * users.txt: Add grep.
74065         (diffutils, gzip): Update URLs.
74067 2010-01-12  Bruno Haible  <bruno@clisp.org>
74069         posix_spawn: Avoid test failure on Cygwin.
74070         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
74071         characters.
74072         Reported by Simon Josefsson.
74074 2010-01-12  Bruno Haible  <bruno@clisp.org>
74076         * tests/test-cond.c (main): When skipping the test, show the reason.
74078 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74080         * lib/striconv.c (str_cd_iconv): Avoid if before free.
74082 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74084         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
74085         VC_LIST_ALWAYS_EXCLUDE_REGEX.
74087 2010-01-12  Eric Blake  <ebb9@byu.net>
74089         build: guarantee AS_VAR_IF
74090         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
74091         (gl_AS_VAR_IF): Move...
74092         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
74093         Reported by Simon Josefsson.
74095 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74097         * lib/stdio.in.h: Fix typo.
74099 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74101         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
74102         libgpg-error.
74104 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74106         * tests/test-xalloc-die.sh: Use $EXEEXT.
74108 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74109             Bruno Haible  <bruno@clisp.org>
74111         getlogin, getlogin_r: Avoid test failure.
74112         * tests/test-getlogin.c: Include <stdio.h>.
74113         (main): Skip the test when the function fails because stdin is not a
74114         tty.
74115         * tests/test-getlogin_r.c: Include <stdio.h>.
74116         (main): Skip the test when the function fails because stdin is not a
74117         tty.
74119 2010-01-11  Eric Blake  <ebb9@byu.net>
74121         tests: avoid more large file warnings
74122         * tests/test-fflush.c: Avoid warning about ftell use.
74123         * tests/test-fseek.c: Avoid warning about fseek use.
74125 2010-01-10  Bruno Haible  <bruno@clisp.org>
74127         nproc: Work better on Linux when /proc and /sys are not mounted.
74128         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
74129         as lower bound when, on glibc/Linux systems,
74130         sysconf (_SC_NPROCESSORS_CONF) returns 1.
74131         Suggested by Pádraig Brady <P@draigbrady.com>.
74132         Reported by Dmitry V. Levin <ldv@altlinux.org>.
74134         nproc: Refactor.
74135         * lib/nproc.c (num_processors_via_affinity_mask): New function,
74136         extracted from num_processors.
74137         (num_processors): Call it.
74139 2010-01-11  Jim Meyering  <meyering@redhat.com>
74141         utimecmp: avoid new warning from upcoming gcc-4.5.0
74142         * lib/utimecmp.c (BILLION): Define using #define rather than an
74143         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
74145 2010-01-11  Eric Blake  <ebb9@byu.net>
74147         math: add portability warnings for classification macros
74148         * modules/math (Depends-on): Add warn-on-use.
74149         (Makefile.am): Provide new substitutions.
74150         * m4/math_h.m4 (gl_MATH_H): Require inline.
74151         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
74152         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
74153         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
74154         implement warnings.
74156         unistd: warn on use of environ without module
74157         * modules/unistd (Depends-on): Add warn-on-use.
74158         (Makefile.am): Provide new substitutions.
74159         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
74160         * lib/unistd.in.h (environ): Wrap with a warning helper function.
74162         stdio: warn on suspicious uses
74163         * modules/stdio (Depends-on): Add warn-on-use.
74164         (Makefile.am): Provide new substitutions.
74165         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
74166         fseeko.
74167         * lib/stdio.in.h (gets): Always warn on use.
74168         (fseek, ftell): Adjust when warnings are issued, and honor
74169         _GL_NO_LARGE_FILES as a way to silence the warning.
74170         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
74171         any warning about large file offsets.
74172         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
74173         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
74174         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
74175         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
74176         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
74177         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
74178         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
74179         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
74181         warn-on-use: new module
74182         * modules/warn-on-use: New file.
74183         * build-aux/warn-on-use.h: Likewise.
74184         * m4/warn-on-use.m4: Likewise.
74185         * MODULES.html.sh (Support for building): Mention it.
74187 2010-01-10  Bruno Haible  <bruno@clisp.org>
74189         Tests for module 'unistr/u32-strdup'.
74190         * modules/unistr/u32-strdup-tests: New file.
74191         * tests/unistr/test-u32-strdup.c: New file.
74193         Tests for module 'unistr/u16-strdup'.
74194         * modules/unistr/u16-strdup-tests: New file.
74195         * tests/unistr/test-u16-strdup.c: New file.
74197         Tests for module 'unistr/u8-strdup'.
74198         * modules/unistr/u8-strdup-tests: New file.
74199         * tests/unistr/test-u8-strdup.c: New file.
74200         * tests/unistr/test-strdup.h: New file.
74202         Tests for module 'unistr/u32-strncmp'.
74203         * modules/unistr/u32-strncmp-tests: New file.
74204         * tests/unistr/test-u32-strncmp.c: New file.
74206         Tests for module 'unistr/u16-strncmp'.
74207         * modules/unistr/u16-strncmp-tests: New file.
74208         * tests/unistr/test-u16-strncmp.c: New file.
74210         Tests for module 'unistr/u8-strncmp'.
74211         * modules/unistr/u8-strncmp-tests: New file.
74212         * tests/unistr/test-u8-strncmp.c: New file.
74213         * tests/unistr/test-strncmp.h: New file.
74215         Tests for module 'unistr/u32-strcoll'.
74216         * modules/unistr/u32-strcoll-tests: New file.
74217         * tests/unistr/test-u32-strcoll.c: New file.
74219         Tests for module 'unistr/u16-strcoll'.
74220         * modules/unistr/u16-strcoll-tests: New file.
74221         * tests/unistr/test-u16-strcoll.c: New file.
74223         Tests for module 'unistr/u8-strcoll'.
74224         * modules/unistr/u8-strcoll-tests: New file.
74225         * tests/unistr/test-u8-strcoll.c: New file.
74227         Tests for module 'unistr/u32-strcmp'.
74228         * modules/unistr/u32-strcmp-tests: New file.
74229         * tests/unistr/test-u32-strcmp.c: New file.
74230         * tests/unistr/test-u32-strcmp.h: New file.
74232         Tests for module 'unistr/u16-strcmp'.
74233         * modules/unistr/u16-strcmp-tests: New file.
74234         * tests/unistr/test-u16-strcmp.c: New file.
74235         * tests/unistr/test-u16-strcmp.h: New file.
74237         Tests for module 'unistr/u8-strcmp'.
74238         * modules/unistr/u8-strcmp-tests: New file.
74239         * tests/unistr/test-u8-strcmp.c: New file.
74240         * tests/unistr/test-u8-strcmp.h: New file.
74241         * tests/unistr/test-strcmp.h: New file.
74243         Tests for module 'unistr/u32-strncat'.
74244         * modules/unistr/u32-strncat-tests: New file.
74245         * tests/unistr/test-u32-strncat.c: New file.
74247         Tests for module 'unistr/u16-strncat'.
74248         * modules/unistr/u16-strncat-tests: New file.
74249         * tests/unistr/test-u16-strncat.c: New file.
74251         Tests for module 'unistr/u8-strncat'.
74252         * modules/unistr/u8-strncat-tests: New file.
74253         * tests/unistr/test-u8-strncat.c: New file.
74254         * tests/unistr/test-strncat.h: New file.
74256         Tests for module 'unistr/u32-strcat'.
74257         * modules/unistr/u32-strcat-tests: New file.
74258         * tests/unistr/test-u32-strcat.c: New file.
74260         Tests for module 'unistr/u16-strcat'.
74261         * modules/unistr/u16-strcat-tests: New file.
74262         * tests/unistr/test-u16-strcat.c: New file.
74264         Tests for module 'unistr/u8-strcat'.
74265         * modules/unistr/u8-strcat-tests: New file.
74266         * tests/unistr/test-u8-strcat.c: New file.
74267         * tests/unistr/test-strcat.h: New file.
74269         Tests for module 'unistr/u32-stpncpy'.
74270         * modules/unistr/u32-stpncpy-tests: New file.
74271         * tests/unistr/test-u32-stpncpy.c: New file.
74273         Tests for module 'unistr/u16-stpncpy'.
74274         * modules/unistr/u16-stpncpy-tests: New file.
74275         * tests/unistr/test-u16-stpncpy.c: New file.
74277         Tests for module 'unistr/u8-stpncpy'.
74278         * modules/unistr/u8-stpncpy-tests: New file.
74279         * tests/unistr/test-u8-stpncpy.c: New file.
74280         * tests/unistr/test-stpncpy.h: New file.
74282         Tests for module 'unistr/u32-strncpy'.
74283         * modules/unistr/u32-strncpy-tests: New file.
74284         * tests/unistr/test-u32-strncpy.c: New file.
74286         Tests for module 'unistr/u16-strncpy'.
74287         * modules/unistr/u16-strncpy-tests: New file.
74288         * tests/unistr/test-u16-strncpy.c: New file.
74290         Tests for module 'unistr/u8-strncpy'.
74291         * modules/unistr/u8-strncpy-tests: New file.
74292         * tests/unistr/test-u8-strncpy.c: New file.
74293         * tests/unistr/test-strncpy.h: New file.
74295         Tests for module 'unistr/u32-stpcpy'.
74296         * modules/unistr/u32-stpcpy-tests: New file.
74297         * tests/unistr/test-u32-stpcpy.c: New file.
74299         Tests for module 'unistr/u16-stpcpy'.
74300         * modules/unistr/u16-stpcpy-tests: New file.
74301         * tests/unistr/test-u16-stpcpy.c: New file.
74303         Tests for module 'unistr/u8-stpcpy'.
74304         * modules/unistr/u8-stpcpy-tests: New file.
74305         * tests/unistr/test-u8-stpcpy.c: New file.
74306         * tests/unistr/test-stpcpy.h: New file.
74308         Tests for module 'unistr/u32-strcpy'.
74309         * modules/unistr/u32-strcpy-tests: New file.
74310         * tests/unistr/test-u32-strcpy.c: New file.
74312         Tests for module 'unistr/u16-strcpy'.
74313         * modules/unistr/u16-strcpy-tests: New file.
74314         * tests/unistr/test-u16-strcpy.c: New file.
74316         Tests for module 'unistr/u8-strcpy'.
74317         * modules/unistr/u8-strcpy-tests: New file.
74318         * tests/unistr/test-u8-strcpy.c: New file.
74319         * tests/unistr/test-strcpy.h: New file.
74321         Tests for module 'unistr/u32-strnlen'.
74322         * modules/unistr/u32-strnlen-tests: New file.
74323         * tests/unistr/test-u32-strnlen.c: New file.
74325         Tests for module 'unistr/u16-strnlen'.
74326         * modules/unistr/u16-strnlen-tests: New file.
74327         * tests/unistr/test-u16-strnlen.c: New file.
74329         Tests for module 'unistr/u8-strnlen'.
74330         * modules/unistr/u8-strnlen-tests: New file.
74331         * tests/unistr/test-u8-strnlen.c: New file.
74332         * tests/unistr/test-strnlen.h: New file.
74334         Tests for module 'unistr/u32-strlen'.
74335         * modules/unistr/u32-strlen-tests: New file.
74336         * tests/unistr/test-u32-strlen.c: New file.
74338         Tests for module 'unistr/u16-strlen'.
74339         * modules/unistr/u16-strlen-tests: New file.
74340         * tests/unistr/test-u16-strlen.c: New file.
74342         Tests for module 'unistr/u8-strlen'.
74343         * modules/unistr/u8-strlen-tests: New file.
74344         * tests/unistr/test-u8-strlen.c: New file.
74346         Tests for module 'unistr/u32-prev'.
74347         * modules/unistr/u32-prev-tests: New file.
74348         * tests/unistr/test-u32-prev.c: New file.
74350         Tests for module 'unistr/u16-prev'.
74351         * modules/unistr/u16-prev-tests: New file.
74352         * tests/unistr/test-u16-prev.c: New file.
74354         Tests for module 'unistr/u8-prev'.
74355         * modules/unistr/u8-prev-tests: New file.
74356         * tests/unistr/test-u8-prev.c: New file.
74358         Tests for module 'unistr/u32-next'.
74359         * modules/unistr/u32-next-tests: New file.
74360         * tests/unistr/test-u32-next.c: New file.
74362         Tests for module 'unistr/u16-next'.
74363         * modules/unistr/u16-next-tests: New file.
74364         * tests/unistr/test-u16-next.c: New file.
74366         Tests for module 'unistr/u8-next'.
74367         * modules/unistr/u8-next-tests: New file.
74368         * tests/unistr/test-u8-next.c: New file.
74370         Tests for module 'unistr/u32-strmbtouc'.
74371         * modules/unistr/u32-strmbtouc-tests: New file.
74372         * tests/unistr/test-u32-strmbtouc.c: New file.
74374         Tests for module 'unistr/u16-strmbtouc'.
74375         * modules/unistr/u16-strmbtouc-tests: New file.
74376         * tests/unistr/test-u16-strmbtouc.c: New file.
74378         Tests for module 'unistr/u8-strmbtouc'.
74379         * modules/unistr/u8-strmbtouc-tests: New file.
74380         * tests/unistr/test-u8-strmbtouc.c: New file.
74382         Tests for module 'unistr/u32-strmblen'.
74383         * modules/unistr/u32-strmblen-tests: New file.
74384         * tests/unistr/test-u32-strmblen.c: New file.
74386         Tests for module 'unistr/u16-strmblen'.
74387         * modules/unistr/u16-strmblen-tests: New file.
74388         * tests/unistr/test-u16-strmblen.c: New file.
74390         Tests for module 'unistr/u8-strmblen'.
74391         * modules/unistr/u8-strmblen-tests: New file.
74392         * tests/unistr/test-u8-strmblen.c: New file.
74394         Tests for module 'unistr/u32-cpy-alloc'.
74395         * modules/unistr/u32-cpy-alloc-tests: New file.
74396         * tests/unistr/test-u32-cpy-alloc.c: New file.
74398         Tests for module 'unistr/u16-cpy-alloc'.
74399         * modules/unistr/u16-cpy-alloc-tests: New file.
74400         * tests/unistr/test-u16-cpy-alloc.c: New file.
74402         Tests for module 'unistr/u8-cpy-alloc'.
74403         * modules/unistr/u8-cpy-alloc-tests: New file.
74404         * tests/unistr/test-u8-cpy-alloc.c: New file.
74405         * tests/unistr/test-cpy-alloc.h: New file.
74407         Tests for module 'unistr/u32-mbsnlen'.
74408         * modules/unistr/u32-mbsnlen-tests: New file.
74409         * tests/unistr/test-u32-mbsnlen.c: New file.
74411         Tests for module 'unistr/u16-mbsnlen'.
74412         * modules/unistr/u16-mbsnlen-tests: New file.
74413         * tests/unistr/test-u16-mbsnlen.c: New file.
74415         Tests for module 'unistr/u8-mbsnlen'.
74416         * modules/unistr/u8-mbsnlen-tests: New file.
74417         * tests/unistr/test-u8-mbsnlen.c: New file.
74419         Tests for module 'unistr/u32-chr'.
74420         * modules/unistr/u32-chr-tests: New file.
74421         * tests/unistr/test-u32-chr.c: New file.
74423         Tests for module 'unistr/u16-chr'.
74424         * modules/unistr/u16-chr-tests: New file.
74425         * tests/unistr/test-u16-chr.c: New file.
74427         Tests for module 'unistr/u8-chr'.
74428         * modules/unistr/u8-chr-tests: New file.
74429         * tests/unistr/test-u8-chr.c: New file.
74430         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
74432         Tests for module 'unistr/u32-cmp2'.
74433         * modules/unistr/u32-cmp2-tests: New file.
74434         * tests/unistr/test-u32-cmp2.c: New file.
74436         Tests for module 'unistr/u16-cmp2'.
74437         * modules/unistr/u16-cmp2-tests: New file.
74438         * tests/unistr/test-u16-cmp2.c: New file.
74440         Tests for module 'unistr/u8-cmp2'.
74441         * modules/unistr/u8-cmp2-tests: New file.
74442         * tests/unistr/test-u8-cmp2.c: New file.
74443         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
74445         Tests for module 'unistr/u32-cmp'.
74446         * modules/unistr/u32-cmp-tests: New file.
74447         * tests/unistr/test-u32-cmp.c: New file.
74449         Tests for module 'unistr/u16-cmp'.
74450         * modules/unistr/u16-cmp-tests: New file.
74451         * tests/unistr/test-u16-cmp.c: New file.
74453         Tests for module 'unistr/u8-cmp'.
74454         * modules/unistr/u8-cmp-tests: New file.
74455         * tests/unistr/test-u8-cmp.c: New file.
74456         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
74458         Tests for module 'unistr/u32-set'.
74459         * modules/unistr/u32-set-tests: New file.
74460         * tests/unistr/test-u32-set.c: New file.
74462         Tests for module 'unistr/u16-set'.
74463         * modules/unistr/u16-set-tests: New file.
74464         * tests/unistr/test-u16-set.c: New file.
74466         Tests for module 'unistr/u8-set'.
74467         * modules/unistr/u8-set-tests: New file.
74468         * tests/unistr/test-u8-set.c: New file.
74469         * tests/unistr/test-set.h: New file.
74471         Tests for module 'unistr/u32-move'.
74472         * modules/unistr/u32-move-tests: New file.
74473         * tests/unistr/test-u32-move.c: New file.
74475         Tests for module 'unistr/u16-move'.
74476         * modules/unistr/u16-move-tests: New file.
74477         * tests/unistr/test-u16-move.c: New file.
74479         Tests for module 'unistr/u8-move'.
74480         * modules/unistr/u8-move-tests: New file.
74481         * tests/unistr/test-u8-move.c: New file.
74482         * tests/unistr/test-move.h: New file.
74484         Tests for module 'unistr/u32-cpy'.
74485         * modules/unistr/u32-cpy-tests: New file.
74486         * tests/unistr/test-u32-cpy.c: New file.
74488         Tests for module 'unistr/u16-cpy'.
74489         * modules/unistr/u16-cpy-tests: New file.
74490         * tests/unistr/test-u16-cpy.c: New file.
74492         Tests for module 'unistr/u8-cpy'.
74493         * modules/unistr/u8-cpy-tests: New file.
74494         * tests/unistr/test-u8-cpy.c: New file.
74495         * tests/unistr/test-cpy.h: New file.
74497 2010-01-09  Bruno Haible  <bruno@clisp.org>
74499         Tests for module 'unistr/u32-uctomb'.
74500         * modules/unistr/u32-uctomb-tests: New file.
74501         * tests/unistr/test-u32-uctomb.c: New file.
74503         Tests for module 'unistr/u16-uctomb'.
74504         * modules/unistr/u16-uctomb-tests: New file.
74505         * tests/unistr/test-u16-uctomb.c: New file.
74507         Tests for module 'unistr/u8-uctomb'.
74508         * modules/unistr/u8-uctomb-tests: New file.
74509         * tests/unistr/test-u8-uctomb.c: New file.
74511         Tests for module 'unistr/u32-mbtoucr'.
74512         * modules/unistr/u32-mbtoucr-tests: New file.
74513         * tests/unistr/test-u32-mbtoucr.c: New file.
74515         Tests for module 'unistr/u16-mbtoucr'.
74516         * modules/unistr/u16-mbtoucr-tests: New file.
74517         * tests/unistr/test-u16-mbtoucr.c: New file.
74519         Tests for module 'unistr/u8-mbtoucr'.
74520         * modules/unistr/u8-mbtoucr-tests: New file.
74521         * tests/unistr/test-u8-mbtoucr.c: New file.
74523         Tests for module 'unistr/u32-mbtouc'.
74524         * modules/unistr/u32-mbtouc-tests: New file.
74525         * tests/unistr/test-u32-mbtouc.c: New file.
74527         Tests for module 'unistr/u16-mbtouc'.
74528         * modules/unistr/u16-mbtouc-tests: New file.
74529         * tests/unistr/test-u16-mbtouc.c: New file.
74531         Tests for module 'unistr/u8-mbtouc'.
74532         * modules/unistr/u8-mbtouc-tests: New file.
74533         * tests/unistr/test-u8-mbtouc.c: New file.
74535         Tests for module 'unistr/u32-mbtouc-unsafe'.
74536         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
74537         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
74538         * tests/unistr/test-u32-mbtouc.h: New file.
74540         Tests for module 'unistr/u16-mbtouc-unsafe'.
74541         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
74542         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
74543         * tests/unistr/test-u16-mbtouc.h: New file.
74545         Tests for module 'unistr/u8-mbtouc-unsafe'.
74546         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
74547         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
74548         * tests/unistr/test-u8-mbtouc.h: New file.
74550         Tests for module 'unistr/u32-mblen'.
74551         * modules/unistr/u32-mblen-tests: New file.
74552         * tests/unistr/test-u32-mblen.c: New file.
74554         Tests for module 'unistr/u16-mblen'.
74555         * modules/unistr/u16-mblen-tests: New file.
74556         * tests/unistr/test-u16-mblen.c: New file.
74558         Tests for module 'unistr/u8-mblen'.
74559         * modules/unistr/u8-mblen-tests: New file.
74560         * tests/unistr/test-u8-mblen.c: New file.
74562         Tests for module 'unistr/u32-to-u16'.
74563         * modules/unistr/u32-to-u16-tests: New file.
74564         * tests/unistr/test-u32-to-u16.c: New file.
74566         Tests for module 'unistr/u32-to-u8'.
74567         * modules/unistr/u32-to-u8-tests: New file.
74568         * tests/unistr/test-u32-to-u8.c: New file.
74570         Tests for module 'unistr/u16-to-u32'.
74571         * modules/unistr/u16-to-u32-tests: New file.
74572         * tests/unistr/test-u16-to-u32.c: New file.
74574         Tests for module 'unistr/u16-to-u8'.
74575         * modules/unistr/u16-to-u8-tests: New file.
74576         * tests/unistr/test-u16-to-u8.c: New file.
74578         Tests for module 'unistr/u8-to-u32'.
74579         * modules/unistr/u8-to-u32-tests: New file.
74580         * tests/unistr/test-u8-to-u32.c: New file.
74582         Tests for module 'unistr/u8-to-u16'.
74583         * modules/unistr/u8-to-u16-tests: New file.
74584         * tests/unistr/test-u8-to-u16.c: New file.
74586         Tests for module 'unistr/u32-check'.
74587         * modules/unistr/u32-check-tests: New file.
74588         * tests/unistr/test-u32-check.c: New file.
74590         Tests for module 'unistr/u16-check'.
74591         * modules/unistr/u16-check-tests: New file.
74592         * tests/unistr/test-u16-check.c: New file.
74594         Tests for module 'unistr/u8-check'.
74595         * modules/unistr/u8-check-tests: New file.
74596         * tests/unistr/test-u8-check.c: New file.
74598         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
74599         (category_equals): New function.
74600         (main): Add more tests.
74601         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
74603         * tests/unictype/test-bidi_byname.c (main): Add more tests.
74605 2010-01-10  Bruno Haible  <bruno@clisp.org>
74607         unistr/u*-strcoll: Try harder to distinguish different strings.
74608         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
74609         compare s1 and s2 to see if they are different.
74611 2010-01-10  Bruno Haible  <bruno@clisp.org>
74613         unistr/u*-stpncpy: Fix the return value.
74614         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
74615         description of the return value consistent with stpncpy in glibc.
74616         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
74617         written non-NUL unit.
74619 2010-01-10  Bruno Haible  <bruno@clisp.org>
74621         unistr/u*-next: Add missing dependencies.
74622         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
74623         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
74624         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
74626 2010-01-10  Bruno Haible  <bruno@clisp.org>
74628         unistr/u8-mbsnlen: Fix return value for incomplete character.
74629         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
74630         u8_mblen.
74631         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
74632         Remove unistr/u8-mblen.
74633         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
74634         u16_mblen.
74635         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
74636         Remove unistr/u16-mblen.
74638 2010-01-10  Bruno Haible  <bruno@clisp.org>
74640         wchar: Fix compilation error when <wchar.h> is used from coreutils.
74641         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
74642         Reported by Brian Gough <bjg@gnu.org> and
74643         Chris Clayton <chris2553@googlemail.com> via
74644         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
74646 2010-01-09  Bruno Haible  <bruno@clisp.org>
74648         unistr/u16-to-u32: Reject invalid input.
74649         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
74650         u16_mbtouc.
74651         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
74652         Remove unistr/u16-mbtouc.
74654         unistr/u16-to-u8: Reject invalid input.
74655         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
74656         u16_mbtouc.
74657         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
74658         Remove unistr/u16-mbtouc.
74660         unistr/u8-to-u32: Reject invalid input.
74661         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
74662         u8_mbtouc.
74663         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
74664         Remove unistr/u8-mbtouc.
74666         unistr/u8-to-u16: Reject invalid input.
74667         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
74668         u8_mbtouc.
74669         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
74670         Remove unistr/u8-mbtouc.
74672 2010-01-09  Bruno Haible  <bruno@clisp.org>
74674         Tests for module 'getlogin'.
74675         * modules/getlogin-tests: New file.
74676         * tests/test-getlogin.c: New file.
74678         New module 'getlogin'.
74679         * lib/unistd.in.h (getlogin): New declaration.
74680         * lib/getlogin.c: New file.
74681         * m4/getlogin.m4: New file.
74682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
74683         HAVE_GETLOGIN.
74684         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
74685         HAVE_GETLOGIN.
74686         * modules/getlogin: New file.
74687         * doc/posix-functions/getlogin.texi: Mention the new module.
74688         Reported by John W. Eaton <jwe@gnu.org>.
74690 2010-01-09  Bruno Haible  <bruno@clisp.org>
74692         getlogin_r: Support for native Windows.
74693         * lib/getlogin_r.c: Include <windows.h>
74694         (getlogin_r): Implement for native Windows.
74695         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
74696         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
74697         via John W. Eaton <jwe@gnu.org>.
74699 2010-01-09  Bruno Haible  <bruno@clisp.org>
74701         getlogin_r: Small fixes.
74702         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
74703         succeeds.
74704         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
74705         before testing whether getlogin_r is declared. No need to set
74706         HAVE_DECL_GETLOGIN_R to 1.
74707         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
74709 2010-01-09  Bruno Haible  <bruno@clisp.org>
74711         * lib/unistd.in.h (getlogin_r): Add comment.
74713 2010-01-09  Bruno Haible  <bruno@clisp.org>
74715         Tests for module 'getlogin_r'.
74716         * modules/getlogin_r-tests: New file.
74717         * tests/test-getlogin_r.c: New file.
74719 2010-01-09  Jim Meyering  <meyering@redhat.com>
74721         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
74722         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
74723         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
74725 2010-01-08  Simon Josefsson  <simon@josefsson.org>
74727         * lib/dup2.c (rpl_dup2): Improve comment.
74729 2010-01-08  Eric Blake  <ebb9@byu.net>
74731         maint.mk: allow packages to add makefile @@ exceptions
74732         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
74733         (sc_makefile_check): Rename...
74734         (sc_makefile_at_at_check): ...to this, and use hook.
74736         dup2: work around mingw bug
74737         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
74738         Reported by Simon Josefsson.
74740 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
74742         glob: Fix C++ compilation.
74743         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
74744         C++.
74746 2010-01-07  Bruno Haible  <bruno@clisp.org>
74748         Fix indentation of wctype.in.h, broken since 2007-01-06.
74749         * lib/wctype.in.h: Fix indentation of preprocessor directives.
74751 2010-01-07  Bruno Haible  <bruno@clisp.org>
74753         mbslen: Avoid collision with system function.
74754         * lib/string.in.h [MirBSD]: Include <wchar.h>.
74755         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
74756         * m4/mbslen.m4: New file.
74757         * modules/mbslen (Files): Add it.
74758         (configure.ac): Invoke gl_MBSLEN.
74759         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
74760         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
74761         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
74762         via Ian Beckwith <ianb@erislabs.net>.
74764 2010-01-07  Bruno Haible  <bruno@clisp.org>
74766         dirent: Document the last fix.
74767         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
74769 2010-01-07  Bruno Haible  <bruno@clisp.org>
74771         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
74772         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
74773         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
74774         va_list are defined.
74775         * doc/posix-headers/stdio.texi: Document the bug of missing types.
74776         Reported by Eric Blake.
74778 2010-01-07  Bruno Haible  <bruno@clisp.org>
74780         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
74781         * modules/xlist (Depends-on): Add 'list',
74782         * modules/xoset (Depends-on): Add 'oset'.
74783         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74785 2010-01-07  Bruno Haible  <bruno@clisp.org>
74787         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
74788         * doc/posix-functions/strncasecmp.texi: Likewise.
74790 2010-01-07  Bruno Haible  <bruno@clisp.org>
74792         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
74794 2010-01-07  John W. Eaton  <jwe@octave.org>
74796         wctype: allow C++ use
74797         * lib/wctype.in.h: Add extern "C" block for C++.
74799 2010-01-06  Eric Blake  <ebb9@byu.net>
74801         maint.mk: detect incorrect GFDL usage
74802         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
74804 2010-01-06  Jim Meyering  <meyering@redhat.com>
74805         and Eric Blake  <ebb9@byu.net>
74807         maint.mk: ignore multi-line copyright in NEWS
74808         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
74810 2010-01-06  Eric Blake  <ebb9@byu.net>
74812         select: add missing dependency
74813         * modules/select-tests (Depends-on): Move sockets dependency...
74814         * modules/select (Depends-on): ...here.
74815         Reported by Ian Beckwith.
74817         doc: regenerate INSTALL
74818         * doc/INSTALL: Reflect recent autoconf update.
74819         * doc/INSTALL.ISO: Likewise.
74820         * doc/INSTALL.UTF-8: Likewise.
74822         pread: fix compilation on glibc
74823         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
74824         Reported by Ralf Wildenhues.
74826         dirent: fix test failure
74827         * lib/dirent.in.h (includes): Guarantee ino_t.
74828         Reported by Ralf Wildenhues.
74830 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
74832         linkat, renameat: avoid bad free
74833         * lib/at-func2.c (at_func2): Fix typo.
74834         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
74836 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74838         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
74839         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
74840         to avoid failure of symlink test later.
74842 2010-01-06  Eric Blake  <ebb9@byu.net>
74844         stdio, unistd: guarantee ssize_t
74845         * lib/unistd.in.h (includes): Ensure that types required by POSIX
74846         2008 are exposed when needed.
74847         * lib/stdio.in.h (includes): Likewise.
74848         Reported by Ralf Wildenhues.
74850 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
74852         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
74853         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
74854         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
74856 2010-01-06  Jim Meyering  <meyering@redhat.com>
74858         readtokens: this module *does* require xalloc.h
74859         It uses only functions that were omitted by the old syntax-check rule.
74860         * lib/readtokens.c: Include "xalloc.h" once again.
74861         * modules/readtokens (Depends-on): Add xalloc.
74862         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
74864 2010-01-05  Eric Blake  <ebb9@byu.net>
74866         maint: support 'make announcement' from a VPATH build
74867         * top/maint.mk (announcement): Look for correct NEWS file.
74869 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
74871         utimens (fdutimens): ignore a negative FD, per contract
74872         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
74873         when we have a valid file descriptor.  Otherwise, using a brand
74874         new glibc (with just-patched futimens that now fails with EBADF)
74875         would cause this function to fail with ENOSYS.
74876         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
74877         See also http://bugzilla.redhat.com/552320.
74879 2010-01-05  Eric Blake  <ebb9@byu.net>
74881         strcase: document what it provides
74882         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
74883         gnulib module.
74884         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
74885         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
74887 2010-01-05  Jim Meyering  <meyering@redhat.com>
74889         maint: remove useless inclusions of "xalloc.h"
74890         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
74891         * lib/readtokens.c: Likewise.
74892         * lib/same.c: Likewise.
74893         * modules/getloadavg (Depends-on): Remove xalloc.
74894         * modules/readtokens: Likewise.
74895         * modules/same: Likewise.
74897         maint.mk: include 4 more function names in alloca.h-checking regexp
74898         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
74899         regexp.  Before, we would give a false-positive (saying alloca.h
74900         is included unnecessarily) when the only uses involved omitted symbols.
74902         xalloc.h: use consistent formatting
74903         * lib/xalloc.h: Move declarations to start in the first column.
74905 2010-01-05  Eric Blake  <ebb9@byu.net>
74907         mkdir: avoid xalloc
74908         * lib/mkdir.c (includes): Drop unused header.
74909         Reported by John W. Eaton.
74911 2010-01-04  Jim Meyering  <meyering@redhat.com>
74913         nl_langinfo: avoid configure-time syntax error
74914         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
74915         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
74916         the empty string.  Don't let that provoke a shell syntax error.
74918         regcomp, regexec, fnmatch: avoid array bounds read error
74919         * lib/regcomp.c (build_equiv_class): From glibc:
74920         Use only the low 24 bits of a findidx return value as an index
74921         into the weights array.  Patch by Ulrich Drepper:
74922         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
74923         * lib/regexec.c (check_node_accept_bytes): Likewise.
74924         * lib/fnmatch_loop.c (FCT): Likewise.
74926         regcomp: skip collseq lookup when there are no rules
74927         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
74928         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
74930         regcomp: recognize ill-formed { } expressions
74931         * lib/regcomp.c (parse_dup_op): From glibc:
74932         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
74934         regcomp: fix typo in comment
74935         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
74936         s/satisfy/satisfies/.
74938         regcomp: sync from glibc: remove dead store
74939         * lib/regcomp.c (duplicate_node_closure): Remove useless
74940         search_duplicated_node call and dead store.
74942         regcomp: sync from glibc; always use nl_langinfo
74943         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
74944         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
74945         * modules/regex (Depends-on): Add nl_langinfo.
74947 2010-01-04  Eric Blake  <ebb9@byu.net>
74949         fdopendir: fix configure test
74950         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
74952 2010-01-01  Bruno Haible  <bruno@clisp.org>
74954         wchar: Remove unused configure check.
74955         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
74957 2010-01-01  Eric Blake  <ebb9@byu.net>
74959         headers: make check of system header explicit
74960         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
74961         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
74962         ourselves.
74963         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
74964         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74965         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
74966         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
74967         internals.
74968         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
74969         missing.
74970         Suggested by Bruno Haible.
74972 2010-01-01  Jim Meyering  <meyering@redhat.com>
74974         ChangeLog: tweak to eliminate unnecessary copyright line
74975         * ChangeLog: Remove a copyright line that was mistakenly updated
74976         by today's update-copyright run.  Reported by Eric Blake.
74978         test-update-copyright: don't let envvar setting cause test failure
74979         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74981 2010-01-01  Bruno Haible  <bruno@clisp.org>
74983         localename: Avoid gcc warning.
74984         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
74985         function if it is not used.
74987 2010-01-01  Jim Meyering  <meyering@redhat.com>
74989         update nearly all FSF copyright year lists to include 2010
74990         Use the same procedure as for 2009, outlined in
74991         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
74993         version-etc: set COPYRIGHT_YEAR to 2010
74994         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
74996 2009-12-31  Eric Blake  <ebb9@byu.net>
74998         doc: correct availability of cygwin 1.5.x getopt
74999         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
75000         variables.
75001         * doc/posix-functions/opterr.texi (opterr): Likewise.
75002         * doc/posix-functions/optind.texi (optind): Likewise.
75003         * doc/posix-functions/optopt.texi (optopt): Likewise.
75004         * doc/posix-functions/tzname.texi (tzname): Likewise.
75006         openat: update maintainer
75007         * modules/openat (Maintainer): Add myself.
75009         utimens: avoid shadowing warning
75010         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
75011         buffers into one, to avoid shadowing, as well as avoiding a
75012         redundant stat.
75013         Reported by Jim Meyering.
75015         test-dup2: avoid compiler warning
75016         * tests/test-dup2.c (is_inheritable): Only define if used.
75018 2010-01-01  Bruno Haible  <bruno@clisp.org>
75020         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
75021         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
75022         defined, use wctomb instead of wcrtomb.
75024 2010-01-01  Bruno Haible  <bruno@clisp.org>
75026         iconv: Reject native Solaris iconv.
75027         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
75028         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
75030 2009-12-31  Bruno Haible  <bruno@clisp.org>
75032         * tests/test-signal.c (main): Remove test of 'SIG'.
75034 2009-12-31  Bruno Haible  <bruno@clisp.org>
75036         spawn: Fix incomplete fix.
75037         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
75038         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
75039         warnings for GNULIB_POSIXCHECK again.
75040         Reported by Eric Blake.
75042 2009-12-31  Bruno Haible  <bruno@clisp.org>
75044         Avoid namespace pollution on glibc systems.
75045         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
75046         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
75047         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
75048         glibc systems.
75050 2009-12-31  Bruno Haible  <bruno@clisp.org>
75052         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
75053         (gl_REPLACE_WCHAR_H): Turn into a no-op.
75054         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
75055         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
75056         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
75057         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
75058         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
75060 2009-12-31  Bruno Haible  <bruno@clisp.org>
75062         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
75063         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
75064         afterwards.
75066 2009-12-31  Bruno Haible  <bruno@clisp.org>
75068         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
75069         SYS_UTSNAME_H.
75071 2009-12-31  Bruno Haible  <bruno@clisp.org>
75073         spawn: Fix misapplied patch.
75074         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
75075         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
75076         warnings for GNULIB_POSIXCHECK.
75078 2009-12-31  Bruno Haible  <bruno@clisp.org>
75080         times: Update after sys_times changed.
75081         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
75082         * modules/times (Files): Add it.
75083         (configure.ac): Invoke gl_FUNC_TIMES.
75085 2009-12-31  Bruno Haible  <bruno@clisp.org>
75087         Use AC_C_INLINE where necessary.
75088         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
75089         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
75090         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75091         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
75092         * m4/mbfile.m4 (gl_MBFILE): Likewise.
75093         * m4/mbiter.m4 (gl_MBITER): Likewise.
75094         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75095         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
75096         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
75097         * modules/u64 (configure.ac): Likewise.
75099 2009-12-31  Bruno Haible  <bruno@clisp.org>
75101         Use AC_C_INLINE instead of module 'inline' where possible.
75102         * modules/inline (Description): Clarify purpose.
75103         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
75104         * modules/count-one-bits (Depends-on): Remove inline.
75105         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
75106         * modules/openat (Depends-on): Remove inline.
75107         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
75108         instead of depending on module 'inline'.
75109         * modules/filevercmp (Depends-on, configure.ac): Likewise.
75110         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
75111         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
75112         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
75113         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
75114         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
75115         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
75116         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
75117         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
75118         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
75119         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
75120         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
75121         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
75122         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
75123         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
75124         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
75125         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
75126         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
75127         Likewise.
75128         * modules/unictype/property-ascii-hex-digit (Depends-on,
75129         configure.ac): Likewise.
75130         * modules/unictype/property-bidi-arabic-digit (Depends-on,
75131         configure.ac): Likewise.
75132         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
75133         configure.ac): Likewise.
75134         * modules/unictype/property-bidi-block-separator (Depends-on,
75135         configure.ac): Likewise.
75136         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
75137         configure.ac): Likewise.
75138         * modules/unictype/property-bidi-common-separator (Depends-on,
75139         configure.ac): Likewise.
75140         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
75141         Likewise.
75142         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
75143         configure.ac): Likewise.
75144         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
75145         configure.ac): Likewise.
75146         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
75147         configure.ac): Likewise.
75148         * modules/unictype/property-bidi-european-digit (Depends-on,
75149         configure.ac): Likewise.
75150         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
75151         configure.ac): Likewise.
75152         * modules/unictype/property-bidi-left-to-right (Depends-on,
75153         configure.ac): Likewise.
75154         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
75155         configure.ac): Likewise.
75156         * modules/unictype/property-bidi-other-neutral (Depends-on,
75157         configure.ac): Likewise.
75158         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
75159         Likewise.
75160         * modules/unictype/property-bidi-segment-separator (Depends-on,
75161         configure.ac): Likewise.
75162         * modules/unictype/property-bidi-whitespace (Depends-on,
75163         configure.ac): Likewise.
75164         * modules/unictype/property-combining (Depends-on, configure.ac):
75165         Likewise.
75166         * modules/unictype/property-composite (Depends-on, configure.ac):
75167         Likewise.
75168         * modules/unictype/property-currency-symbol (Depends-on,
75169         configure.ac): Likewise.
75170         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
75171         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
75172         Likewise.
75173         * modules/unictype/property-default-ignorable-code-point (Depends-on,
75174         configure.ac): Likewise.
75175         * modules/unictype/property-deprecated (Depends-on, configure.ac):
75176         Likewise.
75177         * modules/unictype/property-diacritic (Depends-on, configure.ac):
75178         Likewise.
75179         * modules/unictype/property-extender (Depends-on, configure.ac):
75180         Likewise.
75181         * modules/unictype/property-format-control (Depends-on, configure.ac):
75182         Likewise.
75183         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
75184         Likewise.
75185         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
75186         Likewise.
75187         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
75188         Likewise.
75189         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
75190         Likewise.
75191         * modules/unictype/property-hyphen (Depends-on, configure.ac):
75192         Likewise.
75193         * modules/unictype/property-id-continue (Depends-on, configure.ac):
75194         Likewise.
75195         * modules/unictype/property-id-start (Depends-on, configure.ac):
75196         Likewise.
75197         * modules/unictype/property-ideographic (Depends-on, configure.ac):
75198         Likewise.
75199         * modules/unictype/property-ids-binary-operator (Depends-on,
75200         configure.ac): Likewise.
75201         * modules/unictype/property-ids-trinary-operator (Depends-on,
75202         configure.ac): Likewise.
75203         * modules/unictype/property-ignorable-control (Depends-on,
75204         configure.ac): Likewise.
75205         * modules/unictype/property-iso-control (Depends-on, configure.ac):
75206         Likewise.
75207         * modules/unictype/property-join-control (Depends-on, configure.ac):
75208         Likewise.
75209         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
75210         Likewise.
75211         * modules/unictype/property-line-separator (Depends-on, configure.ac):
75212         Likewise.
75213         * modules/unictype/property-logical-order-exception (Depends-on,
75214         configure.ac): Likewise.
75215         * modules/unictype/property-lowercase (Depends-on, configure.ac):
75216         Likewise.
75217         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
75218         * modules/unictype/property-non-break (Depends-on, configure.ac):
75219         Likewise.
75220         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
75221         Likewise.
75222         * modules/unictype/property-numeric (Depends-on, configure.ac):
75223         Likewise.
75224         * modules/unictype/property-other-alphabetic (Depends-on,
75225         configure.ac): Likewise.
75226         * modules/unictype/property-other-default-ignorable-code-point
75227         (Depends-on, configure.ac): Likewise.
75228         * modules/unictype/property-other-grapheme-extend (Depends-on,
75229         configure.ac): Likewise.
75230         * modules/unictype/property-other-id-continue (Depends-on,
75231         configure.ac): Likewise.
75232         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
75233         Likewise.
75234         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
75235         Likewise.
75236         * modules/unictype/property-other-math (Depends-on, configure.ac):
75237         Likewise.
75238         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
75239         Likewise.
75240         * modules/unictype/property-paired-punctuation (Depends-on,
75241         configure.ac): Likewise.
75242         * modules/unictype/property-paragraph-separator (Depends-on,
75243         configure.ac): Likewise.
75244         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
75245         Likewise.
75246         * modules/unictype/property-pattern-white-space (Depends-on,
75247         configure.ac): Likewise.
75248         * modules/unictype/property-private-use (Depends-on, configure.ac):
75249         Likewise.
75250         * modules/unictype/property-punctuation (Depends-on, configure.ac):
75251         Likewise.
75252         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
75253         Likewise.
75254         * modules/unictype/property-radical (Depends-on, configure.ac):
75255         Likewise.
75256         * modules/unictype/property-sentence-terminal (Depends-on,
75257         configure.ac): Likewise.
75258         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
75259         Likewise.
75260         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
75261         * modules/unictype/property-terminal-punctuation (Depends-on,
75262         configure.ac): Likewise.
75263         * modules/unictype/property-titlecase (Depends-on, configure.ac):
75264         Likewise.
75265         * modules/unictype/property-unassigned-code-value (Depends-on,
75266         configure.ac): Likewise.
75267         * modules/unictype/property-unified-ideograph (Depends-on,
75268         configure.ac): Likewise.
75269         * modules/unictype/property-uppercase (Depends-on, configure.ac):
75270         Likewise.
75271         * modules/unictype/property-variation-selector (Depends-on,
75272         configure.ac): Likewise.
75273         * modules/unictype/property-white-space (Depends-on, configure.ac):
75274         Likewise.
75275         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
75276         Likewise.
75277         * modules/unictype/property-xid-start (Depends-on, configure.ac):
75278         Likewise.
75279         * modules/unictype/property-zero-width (Depends-on, configure.ac):
75280         Likewise.
75281         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
75282         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
75283         Likewise.
75285 2009-12-31  Bruno Haible  <bruno@clisp.org>
75287         Remove unnecessary AC_C_INLINE invocation.
75288         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
75289         since 2009-08-21.
75291 2009-12-31  Jim Meyering  <meyering@redhat.com>
75293         maint.mk: don't require explicit gpg_key_ID in cfg.mk
75294         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
75295         With this change, we can all remove the gpg_key_ID = ... definition
75296         from our respective cfg.mk files.
75298         maint.mk: create announcement template in ~/, not in /tmp
75299         * top/maint.mk (emit_upload_commands): Adjust.
75300         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
75301         Remove temporary file, .ci-msg.
75303 2009-12-31  Eric Blake  <ebb9@byu.net>
75305         link-warning: always build headers with link warnings
75306         * modules/arpa_inet (Makefile.am): Always build replacement
75307         header.
75308         * modules/ctype (Makefile.am): Likewise.
75309         * modules/dirent (Makefile.am): Likewise.
75310         * modules/inttypes (Makefile.am): Likewise.
75311         * modules/langinfo (Makefile.am): Likewise.
75312         * modules/locale (Makefile.am): Likewise.
75313         * modules/spawn (Makefile.am): Likewise.
75314         * modules/sys_file (Makefile.am): Likewise.
75315         * modules/sys_ioctl (Makefile.am): Likewise.
75316         * modules/sys_select (Makefile.am): Likewise.
75317         * modules/sys_socket (Makefile.am): Likewise.
75318         * modules/sys_times (Makefile.am): Likewise.
75319         * modules/sys_utsname (Makefile.am): Likewise.
75320         * modules/sys_wait (Makefile.am): Likewise.
75321         * modules/wchar (Makefile.am): Likewise.
75322         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
75323         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
75324         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
75325         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
75326         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
75327         Likewise.
75328         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
75329         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
75330         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
75331         Likewise.
75332         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
75333         Likewise.
75334         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
75335         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
75336         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
75337         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
75338         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
75339         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
75340         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
75341         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
75342         (gl_WCHAR_H_DEFAULTS): Likewise.
75344 2009-12-31  Eric Blake  <ebb9@byu.net>
75346         signal, spawn: use link warnings
75347         * lib/signal.in.h (sigset_t): Make unconditional.
75348         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
75349         (sigpending, sigprocmask, sigaction): Add link warnings.
75350         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
75351         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
75352         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
75353         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
75354         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
75355         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
75356         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
75357         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
75358         (posix_spawn_file_actions_destroy)
75359         (posix_spawn_file_actions_addopen)
75360         (posix_spawn_file_actions_addclose)
75361         (posix_spawn_file_actions_adddup2): Likewise.
75362         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
75363         * tests/test-signal.c (main): Enhance test.
75365         spawn: improve wrapper support
75366         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
75367         (gl_SPAWN_H_DEFAULTS): New defaults.
75368         * modules/spawn (Makefile.am): Substitute them.
75369         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
75370         Only declare if missing or broken.
75372         sys_times, sys_utsname: use include_next
75373         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
75374         header.
75375         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
75376         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
75377         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
75378         * modules/sys_times (Depends-on): Add include_next.
75379         (Makefile.am): Substitute additional values.
75380         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
75381         * lib/sys_times.in.h (includes): Include native header, if
75382         available.
75383         * lib/sys_utsname.in.h (includes): Likewise.
75384         * tests/test-sys_times.c (main): Enhance test.
75386         fdutimensat: revert prior patch
75387         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
75388         utimens.h.
75389         Reported by Bruno Haible.
75391 2009-12-30  Eric Blake  <ebb9@byu.net>
75393         sys_wait: drop link-warning dependency
75394         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
75395         link-warning efforts.
75396         * lib/sys_wait.in.h: Likewise.
75398         fdutimensat: remove bogus dependency
75399         * modules/fdutimensat (Depends-on): Drop inline.
75401         unistd: fix typo
75402         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
75404 2009-12-30  Bruno Haible  <bruno@clisp.org>
75406         Fix compilation error with Solaris cc.
75407         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
75408         * lib/unicase/u16-is-invariant.c: Likewise.
75409         * lib/unicase/u32-is-invariant.c: Likewise.
75410         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
75412 2009-12-30  Bruno Haible  <bruno@clisp.org>
75414         Fix test crash.
75415         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
75416         locales.
75417         Reported by Simon Josefsson <simon@josefsson.org>.
75419 2009-12-30  Bruno Haible  <bruno@clisp.org>
75421         Fix compilation error on most platforms.
75422         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
75423         Reported by Simon Josefsson <simon@josefsson.org>
75424         and Nelson H. F. Beebe <beebe@math.utah.edu>.
75426 2009-12-30  Eric Blake  <ebb9@byu.net>
75428         futimens, utimensat: work around ntfs-3g bug
75429         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
75430         a ctime bug is present, and expand workaround to cover ntfs-3g.
75431         * lib/utimens.c (fdutimens, lutimens): Likewise.
75432         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
75433         (validate_timespec): Adjust return value.
75434         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
75435         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
75436         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
75438 2009-12-29  Eric Blake  <ebb9@byu.net>
75440         link-warning: make usage consistent
75441         * modules/ctype (Depends-on): Add link-warning.
75442         (Makefile.am): Update rules accordingly.
75443         * modules/langinfo (Depends-on, Makefile.am): Likewise.
75444         * modules/locale (Depends-on, Makefile.am): Likewise.
75445         * modules/sys_file (Makefile.am): Likewise.
75446         * modules/getopt-posix (Makefile.am): Delete unused link warning
75447         efforts.
75448         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
75449         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
75450         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
75451         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
75453         stdio: remove unused variables
75454         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
75455         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
75456         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
75458         tests: test more substitute headers
75459         * modules/ctype-tests: New file.
75460         * modules/dirent-tests: Likewise.
75461         * modules/spawn-tests: Likewise.
75462         * modules/sys_file-tests: Likewise.
75463         * modules/sys_ioctl-tests: Likewise.
75464         * modules/sys_wait-tests: Likewise.
75465         * tests/test-ctype.c: Likewise.
75466         * tests/test-dirent.c: Likewise.
75467         * tests/test-spawn.c: Likewise.
75468         * tests/test-sys_file.c: Likewise.
75469         * tests/test-sys_ioctl.c: Likewise.
75470         * tests/test-sys_wait.c: Likewise.
75471         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
75472         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
75473         whether or not flock is in use.
75475         tests: remove License section from module
75476         * modules/arpa_inet-tests: Remove unneeded section.
75477         * modules/byteswap-tests: Likewise.
75478         * modules/ceilf-tests: Likewise.
75479         * modules/ceill-tests: Likewise.
75480         * modules/crypto/des-tests: Likewise.
75481         * modules/crypto/gc-arcfour-tests: Likewise.
75482         * modules/crypto/gc-arctwo-tests: Likewise.
75483         * modules/crypto/gc-des-tests: Likewise.
75484         * modules/crypto/gc-hmac-md5-tests: Likewise.
75485         * modules/crypto/gc-hmac-sha1-tests: Likewise.
75486         * modules/crypto/gc-md2-tests: Likewise.
75487         * modules/crypto/gc-md4-tests: Likewise.
75488         * modules/crypto/gc-md5-tests: Likewise.
75489         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
75490         * modules/crypto/gc-rijndael-tests: Likewise.
75491         * modules/crypto/gc-sha1-tests: Likewise.
75492         * modules/crypto/gc-tests: Likewise.
75493         * modules/crypto/md2-tests: Likewise.
75494         * modules/crypto/md4-tests: Likewise.
75495         * modules/fcntl-h-tests: Likewise.
75496         * modules/floorf-tests: Likewise.
75497         * modules/floorl-tests: Likewise.
75498         * modules/frexp-nolibm-tests: Likewise.
75499         * modules/frexp-tests: Likewise.
75500         * modules/frexpl-nolibm-tests: Likewise.
75501         * modules/frexpl-tests: Likewise.
75502         * modules/getaddrinfo-tests: Likewise.
75503         * modules/inttypes-tests: Likewise.
75504         * modules/isfinite-tests: Likewise.
75505         * modules/isinf-tests: Likewise.
75506         * modules/ldexpl-tests: Likewise.
75507         * modules/locale-tests: Likewise.
75508         * modules/math-tests: Likewise.
75509         * modules/netdb-tests: Likewise.
75510         * modules/netinet_in-tests: Likewise.
75511         * modules/printf-frexp-tests: Likewise.
75512         * modules/printf-frexpl-tests: Likewise.
75513         * modules/priv-set-tests: Likewise.
75514         * modules/random_r-tests: Likewise.
75515         * modules/round-tests: Likewise.
75516         * modules/roundf-tests: Likewise.
75517         * modules/roundl-tests: Likewise.
75518         * modules/search-tests: Likewise.
75519         * modules/select-tests: Likewise.
75520         * modules/signal-tests: Likewise.
75521         * modules/stdbool-tests: Likewise.
75522         * modules/stddef-tests: Likewise.
75523         * modules/stdint-tests: Likewise.
75524         * modules/stdio-tests: Likewise.
75525         * modules/stdlib-tests: Likewise.
75526         * modules/string-tests: Likewise.
75527         * modules/strings-tests: Likewise.
75528         * modules/sys_select-tests: Likewise.
75529         * modules/sys_socket-tests: Likewise.
75530         * modules/sys_stat-tests: Likewise.
75531         * modules/sys_time-tests: Likewise.
75532         * modules/sys_utsname-tests: Likewise.
75533         * modules/sysexits-tests: Likewise.
75534         * modules/time-tests: Likewise.
75535         * modules/trunc-tests: Likewise.
75536         * modules/truncf-tests: Likewise.
75537         * modules/truncl-tests: Likewise.
75538         * modules/tsearch-tests: Likewise.
75539         * modules/unistd-tests: Likewise.
75540         * modules/wchar-tests: Likewise.
75541         * modules/wctype-tests: Likewise.
75543         tests: fix license on several tests
75544         * tests/test-des.c: Update to GPLv3+.
75545         * tests/test-flock.c: Likewise.
75546         * tests/test-fsync.c: Likewise.
75547         * tests/test-futimens.h: Likewise.
75548         * tests/test-gc-arcfour.c: Likewise.
75549         * tests/test-gc-arctwo.c: Likewise.
75550         * tests/test-gc-des.c: Likewise.
75551         * tests/test-gc-hmac-md5.c: Likewise.
75552         * tests/test-gc-hmac-sha1.c: Likewise.
75553         * tests/test-gc-md2.c: Likewise.
75554         * tests/test-gc-md4.c: Likewise.
75555         * tests/test-gc-md5.c: Likewise.
75556         * tests/test-gc-pbkdf2-sha1.c: Likewise.
75557         * tests/test-gc-rijndael.c: Likewise.
75558         * tests/test-gc-sha1.c: Likewise.
75559         * tests/test-gc.c: Likewise.
75560         * tests/test-getcwd.c: Likewise.
75561         * tests/test-link.c: Likewise.
75562         * tests/test-link.h: Likewise.
75563         * tests/test-lutimens.h: Likewise.
75564         * tests/test-md2.c: Likewise.
75565         * tests/test-md4.c: Likewise.
75566         * tests/test-mkdir.h: Likewise.
75567         * tests/test-rename.c: Likewise.
75568         * tests/test-rename.h: Likewise.
75569         * tests/test-safe-alloc.c: Likewise.
75570         * tests/test-utimens-common.h: Likewise.
75571         * tests/test-utimens.h: Likewise.
75573         maint: sync license texts
75574         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
75575         * doc/gpl-3.0.texi: Revert copyright year update.
75576         * doc/lgpl-3.0.texi: Likewise.
75578 2009-12-29  Jim Meyering  <meyering@redhat.com>
75580         update nearly all FSF copyright year lists to include 2009
75581         The files named by the following are exempted:
75582             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
75583               test -f "$dst" && { echo "$dst"; continue; }
75584               test -d "$dst" || continue
75585               echo "$dst"/$(basename "$src")
75586             done > exempt
75587             git ls-files tests/unictype >> exempt
75588         In the remaining files, convert to all-interval notation if
75589         - there is already at least one year interval like 2000-2003
75590         - the file is maintained by me
75591         - the file is in lib/uni*/, where that style already prevails
75592         Otherwise, use update-copyright's default.
75594 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75595         and Eric Blake  <ebb9@byu.net>
75597         tests: don't require debug system() to pass
75598         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
75599         * tests/test-rmdir.h (test_rmdir_func): Likewise.
75600         * tests/test-unlink.h (test_unlink_func): Likewise.
75601         * tests/test-fstatat.c (main): ...into callers.
75602         * tests/test-lstat.c (main): Likewise.
75603         * tests/test-rmdir.c (main): Likewise.
75604         * tests/test-unlink.c (main): Likewise.
75605         * tests/test-unlinkat.c (main): Likewise.
75606         * tests/test-areadlink-with-size.c (main): Don't require a
75607         debug-only system call to pass, aiding cross-testing to mingw.
75608         * tests/test-areadlink.c (main): Likewise.
75609         * tests/test-areadlinkat-with-size.c (main): Likewise.
75610         * tests/test-areadlinkat.c (main): Likewise.
75611         * tests/test-canonicalize-lgpl.c (main): Likewise.
75612         * tests/test-canonicalize.c (main): Likewise.
75613         * tests/test-chown.c (main): Likewise.
75614         * tests/test-fchownat.c (main): Likewise.
75615         * tests/test-lchown.c (main): Likewise.
75616         * tests/test-fdutimensat.c (main): Likewise.
75617         * tests/test-futimens.c (main): Likewise.
75618         * tests/test-link.c (main): Likewise.
75619         * tests/test-linkat.c (main): Likewise.
75620         * tests/test-mkdir.c (main): Likewise.
75621         * tests/test-mkdirat.c (main): Likewise.
75622         * tests/test-mkfifo.c (main): Likewise.
75623         * tests/test-mkfifoat.c (main): Likewise.
75624         * tests/test-mknod.c (main): Likewise.
75625         * tests/test-readlink.c (main): Likewise.
75626         * tests/test-remove.c (main): Likewise.
75627         * tests/test-rename.c (main): Likewise.
75628         * tests/test-renameat.c (main): Likewise.
75629         * tests/test-symlink.c (main): Likewise.
75630         * tests/test-symlinkat.c (main): Likewise.
75631         * tests/test-utimens.c (main): Likewise.
75632         * tests/test-utimensat.c (main): Likewise.
75634 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75636         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
75637         on $(UNUSED_PARAMETER_H) to avoid build failure.
75639 2009-12-28  Jim Meyering  <meyering@redhat.com>
75641         update-copyright: you may specify a max. line length other than 72
75642         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
75644         maint: use consistent FSF copyright line syntax
75645         * lib/posixtm.c: Add missing comma in FSF copyright line.
75646         * lib/posixtm.h: Likewise.
75647         * lib/getugroups.c: Add missing ", Inc.".
75649         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
75650         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
75651         FSF copyright line.  Remove trailing blanks.
75653 2009-12-28  Eric Blake  <ebb9@byu.net>
75655         test-dup2: reduce dependencies
75656         * modules/cloexec (Configure.ac): Set witness.
75657         * modules/dup2-tests (Depends-on): Drop cloexec.
75658         * tests/test-dup2.c (main): Skip portion of test if cloexec module
75659         not present.
75660         Suggested by Bruno Haible.
75662 2009-12-26  Bruno Haible  <bruno@clisp.org>
75664         Remove an unneeded dependency.
75665         * modules/fseterr (Depends-on): Remove dup2.
75667 2009-12-26  Eric Blake  <ebb9@byu.net>
75669         tests: use macros.h in more places
75670         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
75671         (ASSERT_STREAM): Provide default of stderr.
75672         * tests/test-dirent-safer.c: Include macros.h, using alternate
75673         stream for assertions.
75674         * tests/test-dup-safer.c: Likewise.
75675         * tests/test-freopen-safer.c: Likewise.
75676         * tests/test-getopt.c: Likewise.
75677         * tests/test-openat-safer.c: Likewise.
75678         * tests/test-pipe.c: Likewise.
75679         * tests/test-popen-safer.c: Likewise.
75680         * modules/dirent-safer-tests (Files): Include macros.h.
75681         * modules/unistd-safer-tests (Files): Likewise.
75682         * modules/freopen-safer-tests (Files): Likewise.
75683         * modules/getopt-posix-tests (Files): Likewise.
75684         * modules/openat-safer-tests (Files): Likewise.
75685         * modules/pipe-tests (Files): Likewise.
75687 2009-12-26  Bruno Haible  <bruno@clisp.org>
75689         javacomp-script: Portability fix.
75690         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
75691         that it also works on Solaris.
75693 2009-12-26  Bruno Haible  <bruno@clisp.org>
75695         localename: Fix storage allocation of gl_locale_name_thread's result.
75696         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
75697         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
75698         all platforms that have 'uselocale'.
75699         (gl_locale_name_thread_unsafe): New function, extracted from
75700         gl_locale_name_thread.
75701         (gl_locale_name_thread): Call struniq on all platforms that have
75702         'uselocale'.
75703         * tests/test-localename.c (test_locale_name_thread): Check that the
75704         resulting strings are permanently allocated.
75705         * modules/localename-tests (Depends-on): Add strdup.
75707 2009-12-26  Bruno Haible  <bruno@clisp.org>
75709         * tests/test-localename.c (categories): Fill in the strings.
75711 2009-12-26  Jim Meyering  <meyering@redhat.com>
75713         isdir: complete the removal of m4/isdir.m4
75714         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
75716         isdir: clean up, since at least grep still uses it
75717         * lib/isdir.c: Include "isdir.h".
75718         (S_ISDIR): Remove now-unneeded definition.
75719         * modules/isdir (Files): Add lib/isdir.h.
75720         * lib/isdir.h: New file, with declaration.
75721         * m4/isdir.m4: Remove file -- unneeded.
75723 2009-12-25  Bruno Haible  <bruno@clisp.org>
75725         selinux-h: Make generated .h files standalone.
75726         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
75727         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
75728         * lib/se-selinux.in.h: Likewise.
75729         * modules/selinux-h (Depends-on): Add unused-parameter.
75730         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
75731         selinux/selinux.h and selinux/context.h.
75732         Suggested by Eric Blake.
75734 2009-12-25  Bruno Haible  <bruno@clisp.org>
75736         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
75737         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
75738         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
75739         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
75740         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
75742 2009-12-24  Bruno Haible  <bruno@clisp.org>
75744         openat: Fix warning.
75745         * lib/openat-proc.c: Include <unistd.h>.
75747 2009-12-24  Bruno Haible  <bruno@clisp.org>
75749         New module 'unused-parameter'.
75750         * build-aux/unused-parameter.h: New file, extracted from earlier
75751         gnulib-common.m4.
75752         * modules/unused-parameter: New file.
75753         * lib/unistr.h: Include unused-parameter.h.
75754         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
75755         _GL_UNUSED.
75756         * modules/unistr/base (Depends-on): Add unused-parameter.
75758 2009-12-24  Bruno Haible  <bruno@clisp.org>
75760         Add missing dependencies to 'extensions' module.
75761         * m4/extensions.m4: Add comment.
75762         * modules/accept4 (Depends-on): Add extensions.
75763         * modules/dup3 (Depends-on): Likewise.
75764         * modules/fcntl (Depends-on): Likewise.
75765         * modules/futimens (Depends-on): Likewise.
75766         * modules/mknod (Depends-on): Likewise.
75767         * modules/pipe2 (Depends-on): Likewise.
75768         * modules/stat-time (Depends-on): Likewise.
75769         * modules/strcasestr-simple (Depends-on): Likewise.
75770         * modules/strsignal (Depends-on): Likewise.
75771         * modules/utimensat (Depends-on): Likewise.
75772         * modules/localcharset (Depends-on): Likewise. Needed because of
75773         gl_FCNTL_O_FLAGS.
75774         * modules/wcrtomb (Depends-on): Likewise. Needed because of
75775         AC_TYPE_MBSTATE_T.
75776         * modules/wcsnrtombs (Depends-on): Likewise.
75777         * modules/wcsrtombs (Depends-on): Likewise.
75779 2009-12-24  Bruno Haible  <bruno@clisp.org>
75781         binary-io: Avoid gcc warning due to SET_BINARY.
75782         * lib/binary-io.h (SET_BINARY): Cast the result to void.
75783         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
75785 2009-12-24  Bruno Haible  <bruno@clisp.org>
75787         Avoid future namespace pollution on glibc systems.
75788         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
75789         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
75790         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
75791         glibc systems.
75793 2009-12-24  Bruno Haible  <bruno@clisp.org>
75795         Refactor common macros used in tests.
75796         * tests/macros.h: New file.
75797         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
75798         and/or <stdlib.h>, if appropriate.
75799         (ASSERT, SIZEOF): Remove macros.
75800         * tests/test-areadlink-with-size.c: Likewise.
75801         * tests/test-areadlinkat.c: Likewise.
75802         * tests/test-areadlinkat-with-size.c: Likewise.
75803         * tests/test-argmatch.c: Likewise.
75804         * tests/test-argv-iter.c: Likewise.
75805         * tests/test-array-mergesort.c: Likewise.
75806         * tests/test-array_list.c: Likewise.
75807         * tests/test-array_oset.c: Likewise.
75808         * tests/test-avltree_list.c: Likewise.
75809         * tests/test-avltree_oset.c: Likewise.
75810         * tests/test-avltreehash_list.c: Likewise.
75811         * tests/test-base64.c: Likewise.
75812         * tests/test-binary-io.c: Likewise.
75813         * tests/test-bitrotate.c: Likewise.
75814         * tests/test-btowc.c: Likewise.
75815         * tests/test-byteswap.c: Likewise.
75816         * tests/test-c-ctype.c: Likewise.
75817         * tests/test-c-stack.c: Likewise.
75818         * tests/test-c-strcasecmp.c: Likewise.
75819         * tests/test-c-strcasestr.c: Likewise.
75820         * tests/test-c-strncasecmp.c: Likewise.
75821         * tests/test-c-strstr.c: Likewise.
75822         * tests/test-canonicalize-lgpl.c: Likewise.
75823         * tests/test-canonicalize.c: Likewise.
75824         * tests/test-carray_list.c: Likewise.
75825         * tests/test-ceilf1.c: Likewise.
75826         * tests/test-ceilf2.c: Likewise.
75827         * tests/test-ceill.c: Likewise.
75828         * tests/test-chown.c: Likewise.
75829         * tests/test-cloexec.c: Likewise.
75830         * tests/test-copy-acl.c: Likewise.
75831         * tests/test-copy-file.c: Likewise.
75832         * tests/test-count-one-bits.c: Likewise.
75833         * tests/test-dprintf-posix.c: Likewise.
75834         * tests/test-dup2.c: Likewise.
75835         * tests/test-dup3.c: Likewise.
75836         * tests/test-duplocale.c: Likewise.
75837         * tests/test-fbufmode.c: Likewise.
75838         * tests/test-fchdir.c: Likewise.
75839         * tests/test-fchownat.c: Likewise.
75840         * tests/test-fcntl-safer.c: Likewise.
75841         * tests/test-fcntl.c: Likewise.
75842         * tests/test-fdopendir.c: Likewise.
75843         * tests/test-fdutimensat.c: Likewise.
75844         * tests/test-fflush2.c: Likewise.
75845         * tests/test-file-has-acl.c: Likewise.
75846         * tests/test-filevercmp.c: Likewise.
75847         * tests/test-flock.c: Likewise.
75848         * tests/test-floorf1.c: Likewise.
75849         * tests/test-floorf2.c: Likewise.
75850         * tests/test-floorl.c: Likewise.
75851         * tests/test-fnmatch.c: Likewise.
75852         * tests/test-fopen.h: Likewise.
75853         * tests/test-fpending.c: Likewise.
75854         * tests/test-fprintf-posix.c: Likewise.
75855         * tests/test-fpurge.c: Likewise.
75856         * tests/test-freadable.c: Likewise.
75857         * tests/test-freadahead.c: Likewise.
75858         * tests/test-freading.c: Likewise.
75859         * tests/test-freadptr.c: Likewise.
75860         * tests/test-freadptr2.c: Likewise.
75861         * tests/test-freadseek.c: Likewise.
75862         * tests/test-freopen.c: Likewise.
75863         * tests/test-frexp.c: Likewise.
75864         * tests/test-frexpl.c: Likewise.
75865         * tests/test-fseek.c: Likewise.
75866         * tests/test-fseeko.c: Likewise.
75867         * tests/test-fstatat.c: Likewise.
75868         * tests/test-fstrcmp.c: Likewise.
75869         * tests/test-fsync.c: Likewise.
75870         * tests/test-ftell.c: Likewise.
75871         * tests/test-ftello.c: Likewise.
75872         * tests/test-func.c: Likewise.
75873         * tests/test-futimens.c: Likewise.
75874         * tests/test-fwritable.c: Likewise.
75875         * tests/test-fwriting.c: Likewise.
75876         * tests/test-getcwd.c: Likewise.
75877         * tests/test-getdate.c: Likewise.
75878         * tests/test-getdelim.c: Likewise.
75879         * tests/test-getdtablesize.c: Likewise.
75880         * tests/test-getgroups.c: Likewise.
75881         * tests/test-getline.c: Likewise.
75882         * tests/test-getndelim2.c: Likewise.
75883         * tests/test-glob.c: Likewise.
75884         * tests/test-hash.c: Likewise.
75885         * tests/test-i-ring.c: Likewise.
75886         * tests/test-iconv-utf.c: Likewise.
75887         * tests/test-iconv.c: Likewise.
75888         * tests/test-idpriv-drop.c: Likewise.
75889         * tests/test-idpriv-droptemp.c: Likewise.
75890         * tests/test-inet_ntop.c: Likewise.
75891         * tests/test-inet_pton.c: Likewise.
75892         * tests/test-isblank.c: Likewise.
75893         * tests/test-isfinite.c: Likewise.
75894         * tests/test-isinf.c: Likewise.
75895         * tests/test-isnan.c: Likewise.
75896         * tests/test-isnand.h: Likewise.
75897         * tests/test-isnanf.h: Likewise.
75898         * tests/test-isnanl.h: Likewise.
75899         * tests/test-lchown.c: Likewise.
75900         * tests/test-ldexpl.c: Likewise.
75901         * tests/test-link.c: Likewise.
75902         * tests/test-linkat.c: Likewise.
75903         * tests/test-linked_list.c: Likewise.
75904         * tests/test-linkedhash_list.c: Likewise.
75905         * tests/test-localename.c: Likewise.
75906         * tests/test-lseek.c: Likewise.
75907         * tests/test-lstat.c: Likewise.
75908         * tests/test-mbmemcasecmp.c: Likewise.
75909         * tests/test-mbmemcasecoll.c: Likewise.
75910         * tests/test-mbrtowc.c: Likewise.
75911         * tests/test-mbscasecmp.c: Likewise.
75912         * tests/test-mbscasestr1.c: Likewise.
75913         * tests/test-mbscasestr2.c: Likewise.
75914         * tests/test-mbscasestr3.c: Likewise.
75915         * tests/test-mbscasestr4.c: Likewise.
75916         * tests/test-mbschr.c: Likewise.
75917         * tests/test-mbscspn.c: Likewise.
75918         * tests/test-mbsinit.c: Likewise.
75919         * tests/test-mbsncasecmp.c: Likewise.
75920         * tests/test-mbsnrtowcs.c: Likewise.
75921         * tests/test-mbspbrk.c: Likewise.
75922         * tests/test-mbspcasecmp.c: Likewise.
75923         * tests/test-mbsrchr.c: Likewise.
75924         * tests/test-mbsrtowcs.c: Likewise.
75925         * tests/test-mbsspn.c: Likewise.
75926         * tests/test-mbsstr1.c: Likewise.
75927         * tests/test-mbsstr2.c: Likewise.
75928         * tests/test-mbsstr3.c: Likewise.
75929         * tests/test-memchr.c: Likewise.
75930         * tests/test-memchr2.c: Likewise.
75931         * tests/test-memcmp.c: Likewise.
75932         * tests/test-memmem.c: Likewise.
75933         * tests/test-memrchr.c: Likewise.
75934         * tests/test-mkdir.c: Likewise.
75935         * tests/test-mkdirat.c: Likewise.
75936         * tests/test-mkfifo.c: Likewise.
75937         * tests/test-mkfifoat.c: Likewise.
75938         * tests/test-mknod.c: Likewise.
75939         * tests/test-nanosleep.c: Likewise.
75940         * tests/test-nl_langinfo.c: Likewise.
75941         * tests/test-obstack-printf.c: Likewise.
75942         * tests/test-open.c: Likewise.
75943         * tests/test-openat.c: Likewise.
75944         * tests/test-pipe-filter-gi1.c: Likewise.
75945         * tests/test-pipe-filter-gi2-main.c: Likewise.
75946         * tests/test-pipe-filter-ii1.c: Likewise.
75947         * tests/test-pipe-filter-ii2-main.c: Likewise.
75948         * tests/test-pipe2.c: Likewise.
75949         * tests/test-popen.h: Likewise.
75950         * tests/test-posixtm.c: Likewise.
75951         * tests/test-pread.c: Likewise.
75952         * tests/test-printf-frexp.c: Likewise.
75953         * tests/test-printf-frexpl.c: Likewise.
75954         * tests/test-printf-posix.c: Likewise.
75955         * tests/test-priv-set.c: Likewise.
75956         * tests/test-quotearg.c: Likewise.
75957         * tests/test-random_r.c: Likewise.
75958         * tests/test-rawmemchr.c: Likewise.
75959         * tests/test-rbtree_list.c: Likewise.
75960         * tests/test-rbtree_oset.c: Likewise.
75961         * tests/test-rbtreehash_list.c: Likewise.
75962         * tests/test-readlink.c: Likewise.
75963         * tests/test-remove.c: Likewise.
75964         * tests/test-rename.c: Likewise.
75965         * tests/test-renameat.c: Likewise.
75966         * tests/test-rmdir.c: Likewise.
75967         * tests/test-round1.c: Likewise.
75968         * tests/test-roundf1.c: Likewise.
75969         * tests/test-roundl.c: Likewise.
75970         * tests/test-safe-alloc.c: Likewise.
75971         * tests/test-sameacls.c: Likewise.
75972         * tests/test-set-mode-acl.c: Likewise.
75973         * tests/test-setenv.c: Likewise.
75974         * tests/test-sigaction.c: Likewise.
75975         * tests/test-signbit.c: Likewise.
75976         * tests/test-sleep.c: Likewise.
75977         * tests/test-snprintf-posix.c: Likewise.
75978         * tests/test-snprintf.c: Likewise.
75979         * tests/test-sprintf-posix.c: Likewise.
75980         * tests/test-stat-time.c: Likewise.
75981         * tests/test-stat.c: Likewise.
75982         * tests/test-strcasestr.c: Likewise.
75983         * tests/test-strchrnul.c: Likewise.
75984         * tests/test-strerror.c: Likewise.
75985         * tests/test-striconv.c: Likewise.
75986         * tests/test-striconveh.c: Likewise.
75987         * tests/test-striconveha.c: Likewise.
75988         * tests/test-strsignal.c: Likewise.
75989         * tests/test-strstr.c: Likewise.
75990         * tests/test-strtod.c: Likewise.
75991         * tests/test-strverscmp.c: Likewise.
75992         * tests/test-symlink.c: Likewise.
75993         * tests/test-symlinkat.c: Likewise.
75994         * tests/test-trunc1.c: Likewise.
75995         * tests/test-trunc2.c: Likewise.
75996         * tests/test-truncf1.c: Likewise.
75997         * tests/test-truncf2.c: Likewise.
75998         * tests/test-truncl.c: Likewise.
75999         * tests/test-uname.c: Likewise.
76000         * tests/test-unlink.c: Likewise.
76001         * tests/test-unlinkat.c: Likewise.
76002         * tests/test-unsetenv.c: Likewise.
76003         * tests/test-usleep.c: Likewise.
76004         * tests/test-utimens.c: Likewise.
76005         * tests/test-utimensat.c: Likewise.
76006         * tests/test-vasnprintf-posix.c: Likewise.
76007         * tests/test-vasnprintf-posix2.c: Likewise.
76008         * tests/test-vasnprintf.c: Likewise.
76009         * tests/test-vasprintf-posix.c: Likewise.
76010         * tests/test-vasprintf.c: Likewise.
76011         * tests/test-vdprintf-posix.c: Likewise.
76012         * tests/test-vfprintf-posix.c: Likewise.
76013         * tests/test-vprintf-posix.c: Likewise.
76014         * tests/test-vsnprintf-posix.c: Likewise.
76015         * tests/test-vsnprintf.c: Likewise.
76016         * tests/test-vsprintf-posix.c: Likewise.
76017         * tests/test-wcrtomb.c: Likewise.
76018         * tests/test-wcsnrtombs.c: Likewise.
76019         * tests/test-wcsrtombs.c: Likewise.
76020         * tests/test-wctype.c: Likewise.
76021         * tests/test-wcwidth.c: Likewise.
76022         * tests/test-xfprintf-posix.c: Likewise.
76023         * tests/test-xmemdup0.c: Likewise.
76024         * tests/test-xprintf-posix.c: Likewise.
76025         * tests/test-xvasprintf.c: Likewise.
76026         * tests/unicase/test-locale-language.c: Likewise.
76027         * tests/unicase/test-mapping-part1.h: Likewise.
76028         * tests/unicase/test-predicate-part1.h: Likewise.
76029         * tests/unicase/test-u8-casecmp.c: Likewise.
76030         * tests/unicase/test-u8-casecoll.c: Likewise.
76031         * tests/unicase/test-u8-casefold.c: Likewise.
76032         * tests/unicase/test-u8-is-cased.c: Likewise.
76033         * tests/unicase/test-u8-is-casefolded.c: Likewise.
76034         * tests/unicase/test-u8-is-lowercase.c: Likewise.
76035         * tests/unicase/test-u8-is-titlecase.c: Likewise.
76036         * tests/unicase/test-u8-is-uppercase.c: Likewise.
76037         * tests/unicase/test-u8-tolower.c: Likewise.
76038         * tests/unicase/test-u8-totitle.c: Likewise.
76039         * tests/unicase/test-u8-toupper.c: Likewise.
76040         * tests/unicase/test-u16-casecmp.c: Likewise.
76041         * tests/unicase/test-u16-casecoll.c: Likewise.
76042         * tests/unicase/test-u16-casefold.c: Likewise.
76043         * tests/unicase/test-u16-is-cased.c: Likewise.
76044         * tests/unicase/test-u16-is-casefolded.c: Likewise.
76045         * tests/unicase/test-u16-is-lowercase.c: Likewise.
76046         * tests/unicase/test-u16-is-titlecase.c: Likewise.
76047         * tests/unicase/test-u16-is-uppercase.c: Likewise.
76048         * tests/unicase/test-u16-tolower.c: Likewise.
76049         * tests/unicase/test-u16-totitle.c: Likewise.
76050         * tests/unicase/test-u16-toupper.c: Likewise.
76051         * tests/unicase/test-u32-casecmp.c: Likewise.
76052         * tests/unicase/test-u32-casecoll.c: Likewise.
76053         * tests/unicase/test-u32-casefold.c: Likewise.
76054         * tests/unicase/test-u32-is-cased.c: Likewise.
76055         * tests/unicase/test-u32-is-casefolded.c: Likewise.
76056         * tests/unicase/test-u32-is-lowercase.c: Likewise.
76057         * tests/unicase/test-u32-is-titlecase.c: Likewise.
76058         * tests/unicase/test-u32-is-uppercase.c: Likewise.
76059         * tests/unicase/test-u32-tolower.c: Likewise.
76060         * tests/unicase/test-u32-totitle.c: Likewise.
76061         * tests/unicase/test-u32-toupper.c: Likewise.
76062         * tests/unicase/test-ulc-casecmp.c: Likewise.
76063         * tests/unicase/test-ulc-casecoll.c: Likewise.
76064         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
76065         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
76066         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
76067         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
76068         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
76069         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
76070         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
76071         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
76072         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
76073         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
76074         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
76075         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
76076         * tests/unictype/test-bidi_byname.c: Likewise.
76077         * tests/unictype/test-bidi_name.c: Likewise.
76078         * tests/unictype/test-bidi_of.c: Likewise.
76079         * tests/unictype/test-bidi_test.c: Likewise.
76080         * tests/unictype/test-block_list.c: Likewise.
76081         * tests/unictype/test-block_of.c: Likewise.
76082         * tests/unictype/test-block_test.c: Likewise.
76083         * tests/unictype/test-categ_and.c: Likewise.
76084         * tests/unictype/test-categ_and_not.c: Likewise.
76085         * tests/unictype/test-categ_byname.c: Likewise.
76086         * tests/unictype/test-categ_name.c: Likewise.
76087         * tests/unictype/test-categ_none.c: Likewise.
76088         * tests/unictype/test-categ_of.c: Likewise.
76089         * tests/unictype/test-categ_or.c: Likewise.
76090         * tests/unictype/test-categ_test_withtable.c: Likewise.
76091         * tests/unictype/test-combining.c: Likewise.
76092         * tests/unictype/test-decdigit.c: Likewise.
76093         * tests/unictype/test-digit.c: Likewise.
76094         * tests/unictype/test-mirror.c: Likewise.
76095         * tests/unictype/test-numeric.c: Likewise.
76096         * tests/unictype/test-pr_byname.c: Likewise.
76097         * tests/unictype/test-pr_test.c: Likewise.
76098         * tests/unictype/test-predicate-part1.h: Likewise.
76099         * tests/unictype/test-scripts.c: Likewise.
76100         * tests/unictype/test-sy_c_ident.c: Likewise.
76101         * tests/unictype/test-sy_java_ident.c: Likewise.
76102         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
76103         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
76104         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
76105         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
76106         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
76107         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
76108         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
76109         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
76110         * tests/uninorm/test-canonical-decomposition.c: Likewise.
76111         * tests/uninorm/test-compat-decomposition.c: Likewise.
76112         * tests/uninorm/test-composition.c: Likewise.
76113         * tests/uninorm/test-decomposing-form.c: Likewise.
76114         * tests/uninorm/test-decomposition.c: Likewise.
76115         * tests/uninorm/test-u8-nfc.c: Likewise.
76116         * tests/uninorm/test-u8-nfd.c: Likewise.
76117         * tests/uninorm/test-u8-nfkc.c: Likewise.
76118         * tests/uninorm/test-u8-nfkd.c: Likewise.
76119         * tests/uninorm/test-u8-normcmp.c: Likewise.
76120         * tests/uninorm/test-u8-normcoll.c: Likewise.
76121         * tests/uninorm/test-u16-nfc.c: Likewise.
76122         * tests/uninorm/test-u16-nfd.c: Likewise.
76123         * tests/uninorm/test-u16-nfkc.c: Likewise.
76124         * tests/uninorm/test-u16-nfkd.c: Likewise.
76125         * tests/uninorm/test-u16-normcmp.c: Likewise.
76126         * tests/uninorm/test-u16-normcoll.c: Likewise.
76127         * tests/uninorm/test-u32-nfc.c: Likewise.
76128         * tests/uninorm/test-u32-nfd.c: Likewise.
76129         * tests/uninorm/test-u32-nfkc.c: Likewise.
76130         * tests/uninorm/test-u32-nfkd.c: Likewise.
76131         * tests/uninorm/test-u32-normalize-big.c: Likewise.
76132         * tests/uninorm/test-u32-normcmp.c: Likewise.
76133         * tests/uninorm/test-u32-normcoll.c: Likewise.
76134         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
76135         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
76136         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
76137         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
76138         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
76139         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
76140         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
76141         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
76142         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
76143         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
76144         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
76145         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
76146         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
76147         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
76148         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
76149         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
76150         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
76151         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
76152         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
76153         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
76154         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
76155         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
76156         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
76157         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
76158         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
76159         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
76160         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
76161         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
76162         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
76163         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
76164         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
76165         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
76166         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
76167         * tests/uniwidth/test-u8-strwidth.c: Likewise.
76168         * tests/uniwidth/test-u8-width.c: Likewise.
76169         * tests/uniwidth/test-u16-strwidth.c: Likewise.
76170         * tests/uniwidth/test-u16-width.c: Likewise.
76171         * tests/uniwidth/test-u32-strwidth.c: Likewise.
76172         * tests/uniwidth/test-u32-width.c: Likewise.
76173         * tests/uniwidth/test-uc_width.c: Likewise.
76174         * tests/uniwidth/test-uc_width2.c: Likewise.
76175         * modules/acl-tests (Files): Add tests/macros.h.
76176         * modules/areadlink-tests (Files): Likewise.
76177         * modules/areadlink-with-size-tests (Files): Likewise.
76178         * modules/areadlinkat-tests (Files): Likewise.
76179         * modules/areadlinkat-with-size-tests (Files): Likewise.
76180         * modules/argmatch-tests (Files): Likewise.
76181         * modules/argv-iter-tests (Files): Likewise.
76182         * modules/array-list-tests (Files): Likewise.
76183         * modules/array-mergesort-tests (Files): Likewise.
76184         * modules/array-oset-tests (Files): Likewise.
76185         * modules/avltree-list-tests (Files): Likewise.
76186         * modules/avltree-oset-tests (Files): Likewise.
76187         * modules/avltreehash-list-tests (Files): Likewise.
76188         * modules/base64-tests (Files): Likewise.
76189         * modules/binary-io-tests (Files): Likewise.
76190         * modules/bitrotate-tests (Files): Likewise.
76191         * modules/btowc-tests (Files): Likewise.
76192         * modules/byteswap-tests (Files): Likewise.
76193         * modules/c-ctype-tests (Files): Likewise.
76194         * modules/c-stack-tests (Files): Likewise.
76195         * modules/c-strcase-tests (Files): Likewise.
76196         * modules/c-strcasestr-tests (Files): Likewise.
76197         * modules/c-strstr-tests (Files): Likewise.
76198         * modules/canonicalize-lgpl-tests (Files): Likewise.
76199         * modules/canonicalize-tests (Files): Likewise.
76200         * modules/carray-list-tests (Files): Likewise.
76201         * modules/ceilf-tests (Files): Likewise.
76202         * modules/ceill-tests (Files): Likewise.
76203         * modules/chown-tests (Files): Likewise.
76204         * modules/cloexec-tests (Files): Likewise.
76205         * modules/copy-file-tests (Files): Likewise.
76206         * modules/count-one-bits-tests (Files): Likewise.
76207         * modules/dprintf-posix-tests (Files): Likewise.
76208         * modules/dup2-tests (Files): Likewise.
76209         * modules/dup3-tests (Files): Likewise.
76210         * modules/duplocale-tests (Files): Likewise.
76211         * modules/fbufmode-tests (Files): Likewise.
76212         * modules/fchdir-tests (Files): Likewise.
76213         * modules/fcntl-safer-tests (Files): Likewise.
76214         * modules/fcntl-tests (Files): Likewise.
76215         * modules/fdopendir-tests (Files): Likewise.
76216         * modules/fdutimensat-tests (Files): Likewise.
76217         * modules/fflush-tests (Files): Likewise.
76218         * modules/filevercmp-tests (Files): Likewise.
76219         * modules/flock-tests (Files): Likewise.
76220         * modules/floorf-tests (Files): Likewise.
76221         * modules/floorl-tests (Files): Likewise.
76222         * modules/fnmatch-tests (Files): Likewise.
76223         * modules/fopen-safer-tests (Files): Likewise.
76224         * modules/fopen-tests (Files): Likewise.
76225         * modules/fpending-tests (Files): Likewise.
76226         * modules/fprintf-posix-tests (Files): Likewise.
76227         * modules/fpurge-tests (Files): Likewise.
76228         * modules/freadable-tests (Files): Likewise.
76229         * modules/freadahead-tests (Files): Likewise.
76230         * modules/freading-tests (Files): Likewise.
76231         * modules/freadptr-tests (Files): Likewise.
76232         * modules/freadseek-tests (Files): Likewise.
76233         * modules/freopen-tests (Files): Likewise.
76234         * modules/frexp-nolibm-tests (Files): Likewise.
76235         * modules/frexp-tests (Files): Likewise.
76236         * modules/frexpl-nolibm-tests (Files): Likewise.
76237         * modules/frexpl-tests (Files): Likewise.
76238         * modules/fseek-tests (Files): Likewise.
76239         * modules/fseeko-tests (Files): Likewise.
76240         * modules/fstrcmp-tests (Files): Likewise.
76241         * modules/fsync-tests (Files): Likewise.
76242         * modules/ftell-tests (Files): Likewise.
76243         * modules/ftello-tests (Files): Likewise.
76244         * modules/func-tests (Files): Likewise.
76245         * modules/futimens-tests (Files): Likewise.
76246         * modules/fwritable-tests (Files): Likewise.
76247         * modules/fwriting-tests (Files): Likewise.
76248         * modules/getcwd-tests (Files): Likewise.
76249         * modules/getdate-tests (Files): Likewise.
76250         * modules/getdelim-tests (Files): Likewise.
76251         * modules/getdtablesize-tests (Files): Likewise.
76252         * modules/getgroups-tests (Files): Likewise.
76253         * modules/getline-tests (Files): Likewise.
76254         * modules/getndelim2-tests (Files): Likewise.
76255         * modules/glob-tests (Files): Likewise.
76256         * modules/hash-tests (Files): Likewise.
76257         * modules/i-ring-tests (Files): Likewise.
76258         * modules/iconv-tests (Files): Likewise.
76259         * modules/iconv_open-utf-tests (Files): Likewise.
76260         * modules/idpriv-drop-tests (Files): Likewise.
76261         * modules/idpriv-droptemp-tests (Files): Likewise.
76262         * modules/inet_ntop-tests (Files): Likewise.
76263         * modules/inet_pton-tests (Files): Likewise.
76264         * modules/isblank-tests (Files): Likewise.
76265         * modules/isfinite-tests (Files): Likewise.
76266         * modules/isinf-tests (Files): Likewise.
76267         * modules/isnan-tests (Files): Likewise.
76268         * modules/isnand-nolibm-tests (Files): Likewise.
76269         * modules/isnand-tests (Files): Likewise.
76270         * modules/isnanf-nolibm-tests (Files): Likewise.
76271         * modules/isnanf-tests (Files): Likewise.
76272         * modules/isnanl-nolibm-tests (Files): Likewise.
76273         * modules/isnanl-tests (Files): Likewise.
76274         * modules/lchown-tests (Files): Likewise.
76275         * modules/ldexpl-tests (Files): Likewise.
76276         * modules/link-tests (Files): Likewise.
76277         * modules/linkat-tests (Files): Likewise.
76278         * modules/linked-list-tests (Files): Likewise.
76279         * modules/linkedhash-list-tests (Files): Likewise.
76280         * modules/localename-tests (Files): Likewise.
76281         * modules/lseek-tests (Files): Likewise.
76282         * modules/lstat-tests (Files): Likewise.
76283         * modules/mbmemcasecmp-tests (Files): Likewise.
76284         * modules/mbmemcasecoll-tests (Files): Likewise.
76285         * modules/mbrtowc-tests (Files): Likewise.
76286         * modules/mbscasecmp-tests (Files): Likewise.
76287         * modules/mbscasestr-tests (Files): Likewise.
76288         * modules/mbschr-tests (Files): Likewise.
76289         * modules/mbscspn-tests (Files): Likewise.
76290         * modules/mbsinit-tests (Files): Likewise.
76291         * modules/mbsncasecmp-tests (Files): Likewise.
76292         * modules/mbsnrtowcs-tests (Files): Likewise.
76293         * modules/mbspbrk-tests (Files): Likewise.
76294         * modules/mbspcasecmp-tests (Files): Likewise.
76295         * modules/mbsrchr-tests (Files): Likewise.
76296         * modules/mbsrtowcs-tests (Files): Likewise.
76297         * modules/mbsspn-tests (Files): Likewise.
76298         * modules/mbsstr-tests (Files): Likewise.
76299         * modules/memchr-tests (Files): Likewise.
76300         * modules/memchr2-tests (Files): Likewise.
76301         * modules/memcmp-tests (Files): Likewise.
76302         * modules/memmem-tests (Files): Likewise.
76303         * modules/memrchr-tests (Files): Likewise.
76304         * modules/mkdir-tests (Files): Likewise.
76305         * modules/mkfifo-tests (Files): Likewise.
76306         * modules/mkfifoat-tests (Files): Likewise.
76307         * modules/mknod-tests (Files): Likewise.
76308         * modules/nanosleep-tests (Files): Likewise.
76309         * modules/nl_langinfo-tests (Files): Likewise.
76310         * modules/obstack-printf-tests (Files): Likewise.
76311         * modules/open-tests (Files): Likewise.
76312         * modules/openat-tests (Files): Likewise.
76313         * modules/pipe-filter-gi-tests (Files): Likewise.
76314         * modules/pipe-filter-ii-tests (Files): Likewise.
76315         * modules/pipe2-tests (Files): Likewise.
76316         * modules/popen-safer-tests (Files): Likewise.
76317         * modules/popen-tests (Files): Likewise.
76318         * modules/posixtm-tests (Files): Likewise.
76319         * modules/pread-tests (Files): Likewise.
76320         * modules/printf-frexp-tests (Files): Likewise.
76321         * modules/printf-frexpl-tests (Files): Likewise.
76322         * modules/printf-posix-tests (Files): Likewise.
76323         * modules/priv-set-tests (Files): Likewise.
76324         * modules/quotearg-tests (Files): Likewise.
76325         * modules/random_r-tests (Files): Likewise.
76326         * modules/rawmemchr-tests (Files): Likewise.
76327         * modules/rbtree-list-tests (Files): Likewise.
76328         * modules/rbtree-oset-tests (Files): Likewise.
76329         * modules/rbtreehash-list-tests (Files): Likewise.
76330         * modules/readlink-tests (Files): Likewise.
76331         * modules/remove-tests (Files): Likewise.
76332         * modules/rename-tests (Files): Likewise.
76333         * modules/renameat-tests (Files): Likewise.
76334         * modules/rmdir-tests (Files): Likewise.
76335         * modules/round-tests (Files): Likewise.
76336         * modules/roundf-tests (Files): Likewise.
76337         * modules/roundl-tests (Files): Likewise.
76338         * modules/safe-alloc-tests (Files): Likewise.
76339         * modules/setenv-tests (Files): Likewise.
76340         * modules/sigaction-tests (Files): Likewise.
76341         * modules/signbit-tests (Files): Likewise.
76342         * modules/sleep-tests (Files): Likewise.
76343         * modules/snprintf-posix-tests (Files): Likewise.
76344         * modules/snprintf-tests (Files): Likewise.
76345         * modules/sprintf-posix-tests (Files): Likewise.
76346         * modules/stat-tests (Files): Likewise.
76347         * modules/stat-time-tests (Files): Likewise.
76348         * modules/strcasestr-tests (Files): Likewise.
76349         * modules/strchrnul-tests (Files): Likewise.
76350         * modules/strerror-tests (Files): Likewise.
76351         * modules/striconv-tests (Files): Likewise.
76352         * modules/striconveh-tests (Files): Likewise.
76353         * modules/striconveha-tests (Files): Likewise.
76354         * modules/strsignal-tests (Files): Likewise.
76355         * modules/strstr-tests (Files): Likewise.
76356         * modules/strtod-tests (Files): Likewise.
76357         * modules/strverscmp-tests (Files): Likewise.
76358         * modules/symlink-tests (Files): Likewise.
76359         * modules/symlinkat-tests (Files): Likewise.
76360         * modules/trunc-tests (Files): Likewise.
76361         * modules/truncf-tests (Files): Likewise.
76362         * modules/truncl-tests (Files): Likewise.
76363         * modules/uname-tests (Files): Likewise.
76364         * modules/unicase/cased-tests (Files): Likewise.
76365         * modules/unicase/ignorable-tests (Files): Likewise.
76366         * modules/unicase/locale-language-tests (Files): Likewise.
76367         * modules/unicase/tolower-tests (Files): Likewise.
76368         * modules/unicase/totitle-tests (Files): Likewise.
76369         * modules/unicase/toupper-tests (Files): Likewise.
76370         * modules/unicase/u8-casecmp-tests (Files): Likewise.
76371         * modules/unicase/u8-casecoll-tests (Files): Likewise.
76372         * modules/unicase/u8-casefold-tests (Files): Likewise.
76373         * modules/unicase/u8-is-cased-tests (Files): Likewise.
76374         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
76375         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
76376         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
76377         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
76378         * modules/unicase/u8-tolower-tests (Files): Likewise.
76379         * modules/unicase/u8-totitle-tests (Files): Likewise.
76380         * modules/unicase/u8-toupper-tests (Files): Likewise.
76381         * modules/unicase/u16-casecmp-tests (Files): Likewise.
76382         * modules/unicase/u16-casecoll-tests (Files): Likewise.
76383         * modules/unicase/u16-casefold-tests (Files): Likewise.
76384         * modules/unicase/u16-is-cased-tests (Files): Likewise.
76385         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
76386         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
76387         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
76388         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
76389         * modules/unicase/u16-tolower-tests (Files): Likewise.
76390         * modules/unicase/u16-totitle-tests (Files): Likewise.
76391         * modules/unicase/u16-toupper-tests (Files): Likewise.
76392         * modules/unicase/u32-casecmp-tests (Files): Likewise.
76393         * modules/unicase/u32-casecoll-tests (Files): Likewise.
76394         * modules/unicase/u32-casefold-tests (Files): Likewise.
76395         * modules/unicase/u32-is-cased-tests (Files): Likewise.
76396         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
76397         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
76398         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
76399         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
76400         * modules/unicase/u32-tolower-tests (Files): Likewise.
76401         * modules/unicase/u32-totitle-tests (Files): Likewise.
76402         * modules/unicase/u32-toupper-tests (Files): Likewise.
76403         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
76404         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
76405         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
76406         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
76407         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
76408         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
76409         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
76410         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
76411         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
76412         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
76413         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
76414         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
76415         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
76416         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
76417         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
76418         * modules/unictype/bidicategory-name-tests (Files): Likewise.
76419         * modules/unictype/bidicategory-of-tests (Files): Likewise.
76420         * modules/unictype/bidicategory-test-tests (Files): Likewise.
76421         * modules/unictype/block-list-tests (Files): Likewise.
76422         * modules/unictype/block-of-tests (Files): Likewise.
76423         * modules/unictype/block-test-tests (Files): Likewise.
76424         * modules/unictype/category-C-tests (Files): Likewise.
76425         * modules/unictype/category-Cc-tests (Files): Likewise.
76426         * modules/unictype/category-Cf-tests (Files): Likewise.
76427         * modules/unictype/category-Cn-tests (Files): Likewise.
76428         * modules/unictype/category-Co-tests (Files): Likewise.
76429         * modules/unictype/category-Cs-tests (Files): Likewise.
76430         * modules/unictype/category-L-tests (Files): Likewise.
76431         * modules/unictype/category-Ll-tests (Files): Likewise.
76432         * modules/unictype/category-Lm-tests (Files): Likewise.
76433         * modules/unictype/category-Lo-tests (Files): Likewise.
76434         * modules/unictype/category-Lt-tests (Files): Likewise.
76435         * modules/unictype/category-Lu-tests (Files): Likewise.
76436         * modules/unictype/category-M-tests (Files): Likewise.
76437         * modules/unictype/category-Mc-tests (Files): Likewise.
76438         * modules/unictype/category-Me-tests (Files): Likewise.
76439         * modules/unictype/category-Mn-tests (Files): Likewise.
76440         * modules/unictype/category-N-tests (Files): Likewise.
76441         * modules/unictype/category-Nd-tests (Files): Likewise.
76442         * modules/unictype/category-Nl-tests (Files): Likewise.
76443         * modules/unictype/category-No-tests (Files): Likewise.
76444         * modules/unictype/category-P-tests (Files): Likewise.
76445         * modules/unictype/category-Pc-tests (Files): Likewise.
76446         * modules/unictype/category-Pd-tests (Files): Likewise.
76447         * modules/unictype/category-Pe-tests (Files): Likewise.
76448         * modules/unictype/category-Pf-tests (Files): Likewise.
76449         * modules/unictype/category-Pi-tests (Files): Likewise.
76450         * modules/unictype/category-Po-tests (Files): Likewise.
76451         * modules/unictype/category-Ps-tests (Files): Likewise.
76452         * modules/unictype/category-S-tests (Files): Likewise.
76453         * modules/unictype/category-Sc-tests (Files): Likewise.
76454         * modules/unictype/category-Sk-tests (Files): Likewise.
76455         * modules/unictype/category-Sm-tests (Files): Likewise.
76456         * modules/unictype/category-So-tests (Files): Likewise.
76457         * modules/unictype/category-Z-tests (Files): Likewise.
76458         * modules/unictype/category-Zl-tests (Files): Likewise.
76459         * modules/unictype/category-Zp-tests (Files): Likewise.
76460         * modules/unictype/category-Zs-tests (Files): Likewise.
76461         * modules/unictype/category-and-not-tests (Files): Likewise.
76462         * modules/unictype/category-and-tests (Files): Likewise.
76463         * modules/unictype/category-byname-tests (Files): Likewise.
76464         * modules/unictype/category-name-tests (Files): Likewise.
76465         * modules/unictype/category-none-tests (Files): Likewise.
76466         * modules/unictype/category-of-tests (Files): Likewise.
76467         * modules/unictype/category-or-tests (Files): Likewise.
76468         * modules/unictype/category-test-withtable-tests (Files): Likewise.
76469         * modules/unictype/combining-class-tests (Files): Likewise.
76470         * modules/unictype/ctype-alnum-tests (Files): Likewise.
76471         * modules/unictype/ctype-alpha-tests (Files): Likewise.
76472         * modules/unictype/ctype-blank-tests (Files): Likewise.
76473         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
76474         * modules/unictype/ctype-digit-tests (Files): Likewise.
76475         * modules/unictype/ctype-graph-tests (Files): Likewise.
76476         * modules/unictype/ctype-lower-tests (Files): Likewise.
76477         * modules/unictype/ctype-print-tests (Files): Likewise.
76478         * modules/unictype/ctype-punct-tests (Files): Likewise.
76479         * modules/unictype/ctype-space-tests (Files): Likewise.
76480         * modules/unictype/ctype-upper-tests (Files): Likewise.
76481         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
76482         * modules/unictype/decimal-digit-tests (Files): Likewise.
76483         * modules/unictype/digit-tests (Files): Likewise.
76484         * modules/unictype/mirror-tests (Files): Likewise.
76485         * modules/unictype/numeric-tests (Files): Likewise.
76486         * modules/unictype/property-alphabetic-tests (Files): Likewise.
76487         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
76488         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
76489         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
76490         Likewise.
76491         * modules/unictype/property-bidi-block-separator-tests (Files):
76492         Likewise.
76493         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
76494         Likewise.
76495         * modules/unictype/property-bidi-common-separator-tests (Files):
76496         Likewise.
76497         * modules/unictype/property-bidi-control-tests (Files): Likewise.
76498         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
76499         Likewise.
76500         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
76501         Likewise.
76502         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
76503         Likewise.
76504         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
76505         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
76506         Likewise.
76507         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
76508         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
76509         Likewise.
76510         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
76511         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
76512         * modules/unictype/property-bidi-segment-separator-tests (Files):
76513         Likewise.
76514         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
76515         * modules/unictype/property-byname-tests (Files): Likewise.
76516         * modules/unictype/property-combining-tests (Files): Likewise.
76517         * modules/unictype/property-composite-tests (Files): Likewise.
76518         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
76519         * modules/unictype/property-dash-tests (Files): Likewise.
76520         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
76521         * modules/unictype/property-default-ignorable-code-point-tests (Files):
76522         Likewise.
76523         * modules/unictype/property-deprecated-tests (Files): Likewise.
76524         * modules/unictype/property-diacritic-tests (Files): Likewise.
76525         * modules/unictype/property-extender-tests (Files): Likewise.
76526         * modules/unictype/property-format-control-tests (Files): Likewise.
76527         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
76528         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
76529         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
76530         * modules/unictype/property-hex-digit-tests (Files): Likewise.
76531         * modules/unictype/property-hyphen-tests (Files): Likewise.
76532         * modules/unictype/property-id-continue-tests (Files): Likewise.
76533         * modules/unictype/property-id-start-tests (Files): Likewise.
76534         * modules/unictype/property-ideographic-tests (Files): Likewise.
76535         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
76536         * modules/unictype/property-ids-trinary-operator-tests (Files):
76537         Likewise.
76538         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
76539         * modules/unictype/property-iso-control-tests (Files): Likewise.
76540         * modules/unictype/property-join-control-tests (Files): Likewise.
76541         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
76542         * modules/unictype/property-line-separator-tests (Files): Likewise.
76543         * modules/unictype/property-logical-order-exception-tests (Files):
76544         Likewise.
76545         * modules/unictype/property-lowercase-tests (Files): Likewise.
76546         * modules/unictype/property-math-tests (Files): Likewise.
76547         * modules/unictype/property-non-break-tests (Files): Likewise.
76548         * modules/unictype/property-not-a-character-tests (Files): Likewise.
76549         * modules/unictype/property-numeric-tests (Files): Likewise.
76550         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
76551         * modules/unictype/property-other-default-ignorable-code-point-tests
76552         (Files): Likewise.
76553         * modules/unictype/property-other-grapheme-extend-tests (Files):
76554         Likewise.
76555         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
76556         * modules/unictype/property-other-id-start-tests (Files): Likewise.
76557         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
76558         * modules/unictype/property-other-math-tests (Files): Likewise.
76559         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
76560         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
76561         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
76562         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
76563         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
76564         * modules/unictype/property-private-use-tests (Files): Likewise.
76565         * modules/unictype/property-punctuation-tests (Files): Likewise.
76566         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
76567         * modules/unictype/property-radical-tests (Files): Likewise.
76568         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
76569         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
76570         * modules/unictype/property-space-tests (Files): Likewise.
76571         * modules/unictype/property-terminal-punctuation-tests (Files):
76572         Likewise.
76573         * modules/unictype/property-test-tests (Files): Likewise.
76574         * modules/unictype/property-titlecase-tests (Files): Likewise.
76575         * modules/unictype/property-unassigned-code-value-tests (Files):
76576         Likewise.
76577         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
76578         * modules/unictype/property-uppercase-tests (Files): Likewise.
76579         * modules/unictype/property-variation-selector-tests (Files): Likewise.
76580         * modules/unictype/property-white-space-tests (Files): Likewise.
76581         * modules/unictype/property-xid-continue-tests (Files): Likewise.
76582         * modules/unictype/property-xid-start-tests (Files): Likewise.
76583         * modules/unictype/property-zero-width-tests (Files): Likewise.
76584         * modules/unictype/scripts-tests (Files): Likewise.
76585         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
76586         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
76587         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
76588         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
76589         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
76590         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
76591         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
76592         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
76593         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
76594         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
76595         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
76596         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
76597         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
76598         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
76599         * modules/uninorm/composition-tests (Files): Likewise.
76600         * modules/uninorm/decomposing-form-tests (Files): Likewise.
76601         * modules/uninorm/decomposition-tests (Files): Likewise.
76602         * modules/uninorm/filter-tests (Files): Likewise.
76603         * modules/uninorm/nfc-tests (Files): Likewise.
76604         * modules/uninorm/nfd-tests (Files): Likewise.
76605         * modules/uninorm/nfkc-tests (Files): Likewise.
76606         * modules/uninorm/nfkd-tests (Files): Likewise.
76607         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
76608         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
76609         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
76610         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
76611         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
76612         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
76613         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
76614         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
76615         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
76616         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
76617         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
76618         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
76619         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
76620         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
76621         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
76622         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
76623         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
76624         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
76625         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
76626         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
76627         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
76628         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
76629         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
76630         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
76631         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
76632         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
76633         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
76634         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
76635         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
76636         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
76637         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
76638         * modules/uniwidth/u8-width-tests (Files): Likewise.
76639         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
76640         * modules/uniwidth/u16-width-tests (Files): Likewise.
76641         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
76642         * modules/uniwidth/u32-width-tests (Files): Likewise.
76643         * modules/uniwidth/width-tests (Files): Likewise.
76644         * modules/unlink-tests (Files): Likewise.
76645         * modules/unsetenv-tests (Files): Likewise.
76646         * modules/usleep-tests (Files): Likewise.
76647         * modules/utimens-tests (Files): Likewise.
76648         * modules/utimensat-tests (Files): Likewise.
76649         * modules/vasnprintf-posix-tests (Files): Likewise.
76650         * modules/vasnprintf-tests (Files): Likewise.
76651         * modules/vasprintf-posix-tests (Files): Likewise.
76652         * modules/vasprintf-tests (Files): Likewise.
76653         * modules/vdprintf-posix-tests (Files): Likewise.
76654         * modules/vfprintf-posix-tests (Files): Likewise.
76655         * modules/vprintf-posix-tests (Files): Likewise.
76656         * modules/vsnprintf-posix-tests (Files): Likewise.
76657         * modules/vsnprintf-tests (Files): Likewise.
76658         * modules/vsprintf-posix-tests (Files): Likewise.
76659         * modules/wcrtomb-tests (Files): Likewise.
76660         * modules/wcsnrtombs-tests (Files): Likewise.
76661         * modules/wcsrtombs-tests (Files): Likewise.
76662         * modules/wctype-tests (Files): Likewise.
76663         * modules/wcwidth-tests (Files): Likewise.
76664         * modules/xmemdup0-tests (Files): Likewise.
76665         * modules/xprintf-posix-tests (Files): Likewise.
76666         * modules/xvasprintf-tests (Files): Likewise.
76668 2009-12-24  Eric Blake  <ebb9@byu.net>
76670         test-nanosleep: fix typo
76671         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
76672         patch.
76673         Reported by Bruno Haible.
76675 2009-12-24  Bruno Haible  <bruno@clisp.org>
76677         Reduce namespace pollution on glibc systems.
76678         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
76679         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
76680         systems.
76681         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
76682         <getopt.h> on glibc systems.
76683         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
76684         systems.
76685         * lib/fcntl.c: Include <unistd.h> here instead.
76687 2009-12-24  Bruno Haible  <bruno@clisp.org>
76689         * lib/stdlib.in.h (includes): Fix typo in today's commit.
76691 2009-12-24  Eric Blake  <ebb9@byu.net>
76693         tests: add signature checks
76694         * tests/signature.h (SIGNATURE_CHECK): New file.
76695         * modules/atexit-tests (Files): Use it.
76696         * modules/btowc-tests (Files): Likewise.
76697         * modules/canonicalize-lgpl-tests (Files): Likewise.
76698         * modules/ceilf-tests (Files): Likewise.
76699         * modules/ceill-tests (Files): Likewise.
76700         * modules/chown-tests (Files): Likewise.
76701         * modules/dprintf-posix-tests (Files): Likewise.
76702         * modules/dup2-tests (Files): Likewise.
76703         * modules/dup3-tests (Files): Likewise.
76704         * modules/duplocale-tests (Files): Likewise.
76705         * modules/fchdir-tests (Files): Likewise.
76706         * modules/fcntl-tests (Files): Likewise.
76707         * modules/fdopendir-tests (Files): Likewise.
76708         * modules/fflush-tests (Files): Likewise.
76709         * modules/flock-tests (Files): Likewise.
76710         * modules/floorf-tests (Files): Likewise.
76711         * modules/floorl-tests (Files): Likewise.
76712         * modules/fnmatch-tests (Files): Likewise.
76713         * modules/fopen-tests (Files): Likewise.
76714         * modules/fprintf-posix-tests (Files): Likewise.
76715         * modules/freopen-tests (Files): Likewise.
76716         * modules/frexp-nolibm-tests (Files): Likewise.
76717         * modules/frexp-tests (Files): Likewise.
76718         * modules/frexpl-nolibm-tests (Files): Likewise.
76719         * modules/frexpl-tests (Files): Likewise.
76720         * modules/fseek-tests (Files): Likewise.
76721         * modules/fseeko-tests (Files): Likewise.
76722         * modules/fsync-tests (Files): Likewise.
76723         * modules/ftell-tests (Files): Likewise.
76724         * modules/ftello-tests (Files): Likewise.
76725         * modules/futimens-tests (Files): Likewise.
76726         * modules/getaddrinfo-tests (Files): Likewise.
76727         * modules/getcwd-tests (Files): Likewise.
76728         * modules/getdelim-tests (Files): Likewise.
76729         * modules/getdtablesize-tests (Files): Likewise.
76730         * modules/getgroups-tests (Files): Likewise.
76731         * modules/gethostname-tests (Files): Likewise.
76732         * modules/getline-tests (Files): Likewise.
76733         * modules/getopt-posix-tests (Files): Likewise.
76734         * modules/gettimeofday-tests (Files): Likewise.
76735         * modules/glob-tests (Files): Likewise.
76736         * modules/iconv-tests (Files): Likewise.
76737         * modules/inet_ntop-tests (Files): Likewise.
76738         * modules/inet_pton-tests (Files): Likewise.
76739         * modules/isblank-tests (Files): Likewise.
76740         * modules/lchown-tests (Files): Likewise.
76741         * modules/ldexpl-tests (Files): Likewise.
76742         * modules/link-tests (Files): Likewise.
76743         * modules/linkat-tests (Files): Likewise.
76744         * modules/lseek-tests (Files): Likewise.
76745         * modules/lstat-tests (Files): Likewise.
76746         * modules/mbrtowc-tests (Files): Likewise.
76747         * modules/mbsinit-tests (Files): Likewise.
76748         * modules/mbsnrtowcs-tests (Files): Likewise.
76749         * modules/mbsrtowcs-tests (Files): Likewise.
76750         * modules/memchr-tests (Files): Likewise.
76751         * modules/memcmp-tests (Files): Likewise.
76752         * modules/memmem-tests (Files): Likewise.
76753         * modules/memrchr-tests (Files): Likewise.
76754         * modules/mkdir-tests (Files): Likewise.
76755         * modules/mkfifo-tests (Files): Likewise.
76756         * modules/mkfifoat-tests (Files): Likewise.
76757         * modules/mknod-tests (Files): Likewise.
76758         * modules/nanosleep-tests (Files): Likewise.
76759         * modules/nl_langinfo-tests (Files): Likewise.
76760         * modules/obstack-printf-tests (Files): Likewise.
76761         * modules/open-tests (Files): Likewise.
76762         * modules/openat-tests (Files): Likewise.
76763         * modules/perror-tests (Files): Likewise.
76764         * modules/pipe2-tests (Files): Likewise.
76765         * modules/poll-tests (Files): Likewise.
76766         * modules/popen-tests (Files): Likewise.
76767         * modules/posix_spawn-tests (Files): Likewise.
76768         * modules/posix_spawnp-tests (Files): Likewise.
76769         * modules/pread-tests (Files): Likewise.
76770         * modules/printf-posix-tests (Files): Likewise.
76771         * modules/pty-tests (Files): Likewise.
76772         * modules/random_r-tests (Files): Likewise.
76773         * modules/rawmemchr-tests (Files): Likewise.
76774         * modules/readlink-tests (Files): Likewise.
76775         * modules/remove-tests (Files): Likewise.
76776         * modules/rename-tests (Files): Likewise.
76777         * modules/renameat-tests (Files): Likewise.
76778         * modules/rmdir-tests (Files): Likewise.
76779         * modules/round-tests (Files): Likewise.
76780         * modules/roundf-tests (Files): Likewise.
76781         * modules/roundl-tests (Files): Likewise.
76782         * modules/select-tests (Files): Likewise.
76783         * modules/setenv-tests (Files): Likewise.
76784         * modules/sigaction-tests (Files): Likewise.
76785         * modules/sleep-tests (Files): Likewise.
76786         * modules/snprintf-posix-tests (Files): Likewise.
76787         * modules/snprintf-tests (Files): Likewise.
76788         * modules/sprintf-posix-tests (Files): Likewise.
76789         * modules/stat-tests (Files): Likewise.
76790         * modules/strcasestr-tests (Files): Likewise.
76791         * modules/strchrnul-tests (Files): Likewise.
76792         * modules/strerror-tests (Files): Likewise.
76793         * modules/strsignal-tests (Files): Likewise.
76794         * modules/strstr-tests (Files): Likewise.
76795         * modules/strtod-tests (Files): Likewise.
76796         * modules/strverscmp-tests (Files): Likewise.
76797         * modules/symlink-tests (Files): Likewise.
76798         * modules/symlinkat-tests (Files): Likewise.
76799         * modules/times-tests (Files): Likewise.
76800         * modules/trunc-tests (Files): Likewise.
76801         * modules/truncf-tests (Files): Likewise.
76802         * modules/truncl-tests (Files): Likewise.
76803         * modules/tsearch-tests (Files): Likewise.
76804         * modules/uname-tests (Files): Likewise.
76805         * modules/unlink-tests (Files): Likewise.
76806         * modules/unsetenv-tests (Files): Likewise.
76807         * modules/usleep-tests (Files): Likewise.
76808         * modules/utimensat-tests (Files): Likewise.
76809         * modules/vasprintf-tests (Files): Likewise.
76810         * modules/vdprintf-posix-tests (Files): Likewise.
76811         * modules/vfprintf-posix-tests (Files): Likewise.
76812         * modules/vprintf-posix-tests (Files): Likewise.
76813         * modules/vsnprintf-posix-tests (Files): Likewise.
76814         * modules/vsnprintf-tests (Files): Likewise.
76815         * modules/vsprintf-posix-tests (Files): Likewise.
76816         * modules/wcrtomb-tests (Files): Likewise.
76817         * modules/wcsnrtombs-tests (Files): Likewise.
76818         * modules/wcsrtombs-tests (Files): Likewise.
76819         * modules/wcwidth-tests (Files): Likewise.
76820         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
76821         * tests/test-isinf.c (isinf): Likewise.
76822         * tests/test-isnan.c (isnan): Likewise.
76823         * tests/test-signbit.c (signbit): Likewise.
76824         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
76825         declaration, either as macro or with correct signature.
76826         (select): Ensure function under test is declared with correct
76827         signature in correct header.
76828         * tests/test-atexit.c (atexit): Likewise.
76829         * tests/test-btowc.c (btowc): Likewise.
76830         * tests/test-canonicalize-lgpl.c (realpath)
76831         (canonicalize_file_name): Likewise.
76832         * tests/test-ceilf1.c (ceilf): Likewise.
76833         * tests/test-ceill.c (ceill): Likewise.
76834         * tests/test-chown.c (chown): Likewise.
76835         * tests/test-dprintf-posix.c (dprintf): Likewise.
76836         * tests/test-dup2.c (dup2): Likewise.
76837         * tests/test-dup3.c (dup3): Likewise.
76838         * tests/test-duplocale.c (duplocale): Likewise.
76839         * tests/test-fchdir.c (fchdir): Likewise.
76840         * tests/test-fchownat.c (fchownat): Likewise.
76841         * tests/test-fcntl.c (fcntl): Likewise.
76842         * tests/test-fdopendir.c (fdopendir): Likewise.
76843         * tests/test-fflush.c (fflush): Likewise.
76844         * tests/test-flock.c (flock): Likewise.
76845         * tests/test-floorf1.c (floorf): Likewise.
76846         * tests/test-floorl.c (floorl): Likewise.
76847         * tests/test-fnmatch.c (fnmatch): Likewise.
76848         * tests/test-fopen.c (fopen): Likewise.
76849         * tests/test-fprintf-posix.c (fprintf): Likewise.
76850         * tests/test-freopen.c (freopen): Likewise.
76851         * tests/test-frexp.c (frexp): Likewise.
76852         * tests/test-frexpl.c (frexpl): Likewise.
76853         * tests/test-fseek.c (fseek): Likewise.
76854         * tests/test-fseeko.c (fseeko): Likewise.
76855         * tests/test-fstatat.c (fstatat): Likewise.
76856         * tests/test-fsync.c (fsync): Likewise.
76857         * tests/test-ftell.c (ftell): Likewise.
76858         * tests/test-ftello.c (ftello): Likewise.
76859         * tests/test-futimens.c (futimens): Likewise.
76860         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
76861         (gai_strerror): Likewise.
76862         * tests/test-getcwd.c (getcwd): Likewise.
76863         * tests/test-getdelim.c (getdelim): Likewise.
76864         * tests/test-getdtablesize.c (getdtablesize): Likewise.
76865         * tests/test-getgroups.c (getgroups): Likewise.
76866         * tests/test-gethostname.c (gethostname): Likewise.
76867         * tests/test-getline.c (getline): Likewise.
76868         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
76869         Likewise.
76870         * tests/test-gettimeofday.c (gettimeofday): Likewise.
76871         * tests/test-glob.c (glob, globfree): Likewise.
76872         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
76873         * tests/test-inet_ntop.c (inet_ntop): Likewise.
76874         * tests/test-inet_pton.c (inet_pton): Likewise.
76875         * tests/test-isblank.c (isblank): Likewise.
76876         * tests/test-lchown.c (lchown): Likewise.
76877         * tests/test-ldexpl.c (ldexpl): Likewise.
76878         * tests/test-link.c (link): Likewise.
76879         * tests/test-linkat.c (linkat): Likewise.
76880         * tests/test-lseek.c (lseek): Likewise.
76881         * tests/test-lstat.c (lstat): Likewise.
76882         * tests/test-mbrtowc.c (mbrtowc): Likewise.
76883         * tests/test-mbsinit.c (mbsinit): Likewise.
76884         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
76885         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
76886         * tests/test-memchr.c (memchr): Likewise.
76887         * tests/test-memcmp.c (memcmp): Likewise.
76888         * tests/test-memmem.c (memmem): Likewise.
76889         * tests/test-memrchr.c (memrchr): Likewise.
76890         * tests/test-mkdir.c (mkdir): Likewise.
76891         * tests/test-mkdirat.c (mkdirat): Likewise.
76892         * tests/test-mkfifo.c (mkfifo): Likewise.
76893         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
76894         * tests/test-mknod.c (mknod): Likewise.
76895         * tests/test-nanosleep.c (nanosleep): Likewise.
76896         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
76897         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
76898         Likewise.
76899         * tests/test-open.c (open): Likewise.
76900         * tests/test-openat.c (openat): Likewise.
76901         * tests/test-perror.c (perror): Likewise.
76902         * tests/test-pipe2.c (pipe2): Likewise.
76903         * tests/test-poll.c (poll): Likewise.
76904         * tests/test-popen.c (popen, pclose): Likewise.
76905         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
76906         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
76907         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
76908         (posix_spawn_file_actions_destroy)
76909         (posix_spawn_file_actions_addclose)
76910         (posix_spawn_file_actions_addopen)
76911         (posix_spawn_file_actions_adddup2): Likewise.
76912         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
76913         * tests/test-pread.c (pread): Likewise.
76914         * tests/test-printf-posix.c (printf): Likewise.
76915         * tests/test-pty.c (openpty, forkpty): Likewise.
76916         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
76917         (random_r): Likewise.
76918         * tests/test-rawmemchr.c (rawmemchr): Likewise.
76919         * tests/test-readlink.c (readlink): Likewise.
76920         * tests/test-remove.c (remove): Likewise.
76921         * tests/test-rename.c (rename): Likewise.
76922         * tests/test-renameat.c (renameat): Likewise.
76923         * tests/test-rmdir.c (rmdir): Likewise.
76924         * tests/test-round1.c (round): Likewise.
76925         * tests/test-roundf1.c (roundf): Likewise.
76926         * tests/test-roundl.c (roundl): Likewise.
76927         * tests/test-setenv.c (setenv): Likewise.
76928         * tests/test-sigaction.c (sigaction): Likewise.
76929         * tests/test-sleep.c (sleep): Likewise.
76930         * tests/test-snprintf.c (snprintf): Likewise.
76931         * tests/test-sprintf-posix.c (sprintf): Likewise.
76932         * tests/test-stat.c (stat): Likewise.
76933         * tests/test-stpncpy.c (stpncpy): Likewise.
76934         * tests/test-strcasestr.c (strcasestr): Likewise.
76935         * tests/test-strchrnul.c (strchrnul): Likewise.
76936         * tests/test-strerror.c (strerror): Likewise.
76937         * tests/test-strsignal.c (strsignal): Likewise.
76938         * tests/test-strstr.c (strstr): Likewise.
76939         * tests/test-strtod.c (strtod): Likewise.
76940         * tests/test-strverscmp.c (strverscmp): Likewise.
76941         * tests/test-symlink.c (symlink): Likewise.
76942         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
76943         * tests/test-times.c (times): Likewise.
76944         * tests/test-trunc1.c (trunc): Likewise.
76945         * tests/test-truncf1.c (truncf): Likewise.
76946         * tests/test-truncl.c (truncl): Likewise.
76947         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
76948         Likewise.
76949         * tests/test-uname.c (uname): Likewise.
76950         * tests/test-unlink.c (unlink): Likewise.
76951         * tests/test-unlinkat.c (unlinkat): Likewise.
76952         * tests/test-unsetenv.c (unsetenv): Likewise.
76953         * tests/test-usleep.c (usleep): Likewise.
76954         * tests/test-utimensat.c (utimensat): Likewise.
76955         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
76956         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
76957         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
76958         * tests/test-vprintf-posix.c (vprintf): Likewise.
76959         * tests/test-vsnprintf.c (vsnprintf): Likewise.
76960         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
76961         * tests/test-wcrtomb.c (wcrtomb): Likewise.
76962         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
76963         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
76964         * tests/test-wcwidth.c (wcwidth): Likewise.
76966         build: pull in conditional headers during GNULIB_POSIXCHECK
76967         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
76968         definitions from any conditionally-included headers.
76969         * lib/stdlib.in.h (includes): Likewise.
76970         * lib/unistd.in.h (includes): Likewise.
76972 2009-12-24  Bruno Haible  <bruno@clisp.org>
76974         * tests/test-argv-iter.c: Include header file being tested immediately
76975         after config.h.
76976         * tests/test-base64.c: Likewise.
76977         * tests/test-flock.c: Likewise.
76978         * tests/test-fsync.c: Likewise.
76979         * tests/test-getdate.c: Likewise.
76980         * tests/test-getndelim2.c: Likewise.
76981         * tests/test-isfinite.c: Likewise.
76982         * tests/test-isinf.c: Likewise.
76983         * tests/test-strerror.c: Likewise.
76984         * tests/test-strsignal.c: Likewise.
76986 2009-12-23  Eric Blake  <ebb9@byu.net>
76988         unistd: work around cygwin bug
76989         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
76990         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
76991         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
76993 2009-12-23  Bruno Haible  <bruno@clisp.org>
76995         localename: More tests.
76996         * tests/test-localename.c (SIZEOF): New macro.
76997         (categories): New variable.
76998         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
76999         test_locale_name_default): Add test w.r.t. thread locale.
77000         (test_locale_name_thread): New function.
77001         (main): Invoke it.
77003         localename: Make aware of thread locale.
77004         * lib/localename.h (gl_locale_name_thread): New declaration.
77005         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
77006         behaviour with respect to thread locale.
77007         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
77008         <langinfo.h>, glthread/lock.h.
77009         (SIZE_BITS): New macro.
77010         (string_hash): New function.
77011         (struct hash_node): New type.
77012         (HASH_TABLE_SIZE): New macro.
77013         (struniq_hash_table, struniq_lock): New variables.
77014         (struniq): New function.
77015         (gl_locale_name_thread): New function.
77016         (gl_locale_name): Invoke it.
77017         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
77018         * modules/localename (Depends-on): Add lock.
77019         Reported by Mike Gran <spk121@yahoo.com>.
77021 2009-12-23  Eric Blake  <ebb9@byu.net>
77023         va-args: new module
77024         * modules/va-args: New file.
77025         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
77026         * MODULES.html.sh (Core language properties): Mention it.
77028         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
77029         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
77030         named alias for __attribute__((__unused__)).
77031         * lib/chown.c: Update client.
77032         * lib/fchmodat.c: Likewise.
77033         * lib/fts.c: Likewise.
77034         * lib/getdate.y: Likewise.
77035         * lib/getgroups.c: Likewise.
77036         * lib/getopt.c: Likewise.
77037         * lib/getugroups.c: Likewise.
77038         * lib/mkdir.c: Likewise.
77039         * lib/mkfifo.c: Likewise.
77040         * lib/mkfifoat.c: Likewise.
77041         * lib/mknod.c: Likewise.
77042         * lib/mknodat.c: Likewise.
77043         * lib/readlink.c: Likewise.
77044         * lib/se-context.in.h: Likewise.
77045         * lib/se-selinux.in.h: Likewise.
77046         * lib/sockets.c: Likewise.
77047         * lib/symlink.c: Likewise.
77048         * lib/symlinkat.c: Likewise.
77049         * lib/unicodeio.c: Likewise.
77050         * lib/unistr.h: Likewise.
77051         * tests/test-areadlink.c: Likewise.
77052         * tests/test-areadlinkat.c: Likewise.
77053         * tests/test-filenamecat.c: Likewise.
77054         * tests/test-fseeko.c: Likewise.
77055         * tests/test-ftello.c: Likewise.
77056         * tests/test-getdate.c: Likewise.
77057         * tests/test-getgroups.c: Likewise.
77058         * tests/test-gethostname.c: Likewise.
77059         * tests/test-quotearg.c: Likewise.
77060         * tests/test-version-etc.c: Likewise.
77061         * tests/test-xalloc-die.c: Likewise.
77062         * tests/test-xfprintf-posix.c: Likewise.
77063         * tests/test-xprintf-posix.c: Likewise.
77064         * tests/test-xvasprintf.c: Likewise.
77066         tests: avoid compiler warnings
77067         * tests/test-fcntl.c (main): Delete unused parameters.
77068         * tests/test-freopen-safer.c (main): Likewise.
77069         * tests/test-xalloc-die.c (main): Mark unused parameters.
77070         * tests/test-fseeko.c (main): Likewise.
77071         * tests/test-ftello.c (main): Likewise.
77072         * tests/test-nanosleep.c (main): Avoid declaration warning.
77073         * tests/test-sleep.c (main): Likewise.
77074         * tests/test-unsetenv.c (main): Silence warning about string
77075         literal.
77076         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
77078 2009-12-23  Bruno Haible  <bruno@clisp.org>
77080         * tests/test-localename.c (test_locale_name): New function, extracted
77081         from main. Also test mixed situations.
77082         (test_locale_name_posix, test_locale_name_environ,
77083         test_locale_name_default): New functions.
77084         (main): Invoke them all.
77085         * modules/localename-tests (configure.ac): Test for newlocale.
77087 2009-12-23  Bruno Haible  <bruno@clisp.org>
77089         unistd: Ensure getcwd gets declared before being overridden.
77090         * lib/unistd.in.h: Conditionally include <io.h>.
77092 2009-12-22  Bruno Haible  <bruno@clisp.org>
77094         wchar: Diagnose broken combination of glibc and gcc versions and flags.
77095         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
77096         (gl_WCHAR_H): Invoke it.
77097         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
77098         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
77099         Reported by Karl Berry <karl@freefriends.org>.
77101 2009-12-22  Eric Blake  <ebb9@byu.net>
77103         math, unistd: avoid redundant includes
77104         * lib/math.in.h (isnan): No need to re-include <math.h>.
77105         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
77107         getsubopt: work around cygwin bug
77108         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
77109         avoid conflicting with system getsubopt.
77110         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
77111         bug.
77113         getopt: synchronize from glibc
77114         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
77115         parameter order.  Adjust all callers.
77116         (_getopt_internal_r, main): Adjust quoting in error messages.
77117         Drop considerations for outdated POSIX 1003.2 error message.
77118         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
77119         callers.
77120         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
77122         test-getopt: test stderr behavior
77123         * modules/getopt-posix-tests (Depends-on): Add dup2.
77124         * tests/test-getopt.c (ASSERT): Avoid stderr.
77125         (main): Move stderr to a temporary file.
77126         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
77127         Instead, add parameter to inform caller if output occurred.
77128         (test_getopt): Adjust all existing tests to expect silence, and
77129         add new tests of leading ":".
77130         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
77131         glibc shortcomings with leading "-:" or "+:" in optstring.
77132         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77133         Likewise.
77134         * doc/posix-functions/getopt.texi (getopt): Likewise.
77136         test-getopt: enhance test
77137         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
77138         supports optind=0.
77139         * tests/test-getopt.c (OPTIND_MIN): Move...
77140         * tests/test-getopt.h (OPTIND_MIN): ...here.
77141         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
77142         Require that optind=0 works, since modern BSD supports it in
77143         addition to optreset, and since coreutils expects it.
77144         (test_getopt_long_only): New test.
77145         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
77146         glibc shortcomings with 'W;', and enforcement of optind=0.
77147         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77148         Likewise.
77150 2009-12-21  Bruno Haible  <bruno@clisp.org>
77152         localename: Improvements for MacOS X and Cygwin.
77153         * lib/localename.h (gl_locale_name_environ): New declaration.
77154         * lib/localename.c (gl_locale_name_environ): New function, extracted from
77155         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
77156         (gl_locale_name_posix): Invoke it.
77157         (gl_locale_name_default): Add comments. Use Windows native API also on
77158         Cygwin.
77160 2009-12-21  Bruno Haible  <bruno@clisp.org>
77162         Update list of Win32 locale ids.
77163         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
77164         (LANG_SAMI): Renamed from LANG_SAAMI.
77165         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
77166         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
77167         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
77168         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
77169         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
77170         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
77171         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
77172         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
77173         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
77174         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
77175         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
77176         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
77177         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
77178         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
77179         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
77180         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
77181         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
77182         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
77183         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
77184         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
77185         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
77186         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
77187         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
77188         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
77189         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
77190         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
77191         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
77192         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
77193         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
77194         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
77195         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
77196         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
77197         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
77198         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
77199         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
77200         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
77201         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
77202         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
77203         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
77204         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
77205         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
77206         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
77207         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
77208         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
77209         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
77210         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
77211         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
77212         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
77213         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
77214         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
77215         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
77216         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
77217         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
77218         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
77219         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
77220         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
77221         Add more languages and countries for Sami, Sorbian. Add more countries
77222         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
77223         for Pashto. Change country for Syriac, Tswana.
77225 2009-12-21  Eric Blake  <ebb9@byu.net>
77227         test-utimens: avoid spurious failure
77228         * tests/test-chown.h (nap): Factor...
77229         * tests/nap.h: ...into new file.
77230         * tests/test-lchown.h (nap): Avoid duplication.
77231         * tests/test-utimens-common.h (nap): Use shared implementation,
77232         necessary on file systems with 1-second resolution.
77233         * modules/chown-tests (Files): Include new file.
77234         * modules/fdutimensat-tests (Files): Likewise.
77235         * modules/futimens-tests (Files): Likewise.
77236         * modules/lchown-tests (Files): Likewise.
77237         * modules/openat-tests (Files): Likewise.
77238         * modules/utimens-tests (Files): Likewise.
77239         * modules/utimensat-tests (Files): Likewise.
77241 2009-12-19  Eric Blake  <ebb9@byu.net>
77243         futimens, utimensat: work around Linux bug
77244         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
77245         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
77246         * lib/utimensat.c (rpl_utimensat): Work around it.
77247         * lib/futimens.c (rpl_futimens): Adjust comment.
77249         utimens: work around Linux ctime bug
77250         * lib/utimens.c (detect_ctime_bug): New helper function.
77251         (update_timespec): Differentiate between workaround needed for
77252         this bug vs. what is needed for systems that lack utimensat.
77253         (fdutimens, lutimens): Work around bug.
77255         utimens: check for ctime update
77256         * tests/test-utimens-common.h (check_ctime): Define.
77257         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
77258         * tests/test-futimens.h (test_futimens): Likewise.
77259         * tests/test-lutimens.h (test_lutimens): Likewise.
77260         * doc/posix-functions/futimens.texi (futimens): Document the bug.
77261         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
77263 2009-12-19  Bruno Haible  <bruno@clisp.org>
77265         dprintf-posix: Check against memory leak fixed on 2009-12-15.
77266         * tests/test-dprintf-posix2.sh: New file.
77267         * tests/test-dprintf-posix2.c: New file.
77268         * modules/dprintf-posix-tests (Files): Add them.
77269         (configure.ac): Check for getrlimit and setrlimit.
77270         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
77272 2009-12-19  Bruno Haible  <bruno@clisp.org>
77274         fprintf-posix: Check against memory leak fixed on 2009-12-15.
77275         * tests/test-fprintf-posix3.sh: New file.
77276         * tests/test-fprintf-posix3.c: New file.
77277         * modules/fprintf-posix-tests (Files): Add them.
77278         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
77280 2009-12-19  Eric Blake  <ebb9@byu.net>
77282         dirfd: fix prototype
77283         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
77284         * lib/dirfd.c (dirfd): Likewise.
77286         canonicalize: reduce memory usage
77287         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
77288         allocation to size.
77289         Reported by Solar Designer <solar@openwall.com>.
77291 2009-12-19  Bruno Haible  <bruno@clisp.org>
77293         New module attribute 'Applicability'.
77294         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
77295         * gnulib-tool: New option --extract-applicability.
77296         (func_usage): Document it.
77297         (sed_extract_prog): Recognize it.
77298         (func_get_applicability): New function.
77299         (func_import): Generalize handling of 'link-warning' module.
77300         * modules/link-warning (Applicability): New section.
77301         * modules/arg-nonnull (Applicability): New section.
77302         Repoted by Simon Josefsson <simon@josefsson.org>.
77304 2009-12-19  Bruno Haible  <bruno@clisp.org>
77306         fflush: tweak
77307         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
77308         * lib/fseeko.c (rpl_fseeko): Likewise.
77310 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
77312         * lib/gl_list.h: Fix typo in comment.
77314 2009-12-16  Eric Blake  <ebb9@byu.net>
77316         fcntl: use to simplify other modules
77317         * modules/cloexec (Depends-on): Add fcntl.
77318         * modules/fchdir (Depends-on): Likewise.
77319         * modules/fd-safer-flag (Depends-on): Likewise.
77320         * modules/unistd-safer (Depends-on): Likewise.
77321         * modules/dup3 (configure.ac): Set module indicator.
77322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
77323         missing.
77324         * lib/fchdir.c (_gl_register_dup): Fix comment.
77325         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
77326         * lib/dup-safer.c (dup_safer): Likewise.
77327         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
77328         * lib/dup3.c (dup3): Likewise.
77329         * tests/test-fchdir.c (main): Enhance test.
77330         Fixes a dup_cloexec bug reported by Ondřej Vašík.
77332         fcntl: port portions of fcntl to mingw
77333         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
77334         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
77335         replacement for mingw.
77336         * modules/fcntl (Description): Update.
77337         (Depends-on): Add dup2.
77338         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
77339         * modules/fcntl-h (Makefile.am): Substitute it.
77340         * lib/fcntl.in.h (fcntl): Update declaration.
77341         (F_DUPFD, F_GETFD): New macros, when needed.
77342         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
77343         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
77344         * tests/test-fcntl.c (check_flags, main): Enhance test for items
77345         we now guarantee.
77347         fcntl: work around cygwin bug in F_DUPFD
77348         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
77349         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
77350         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
77351         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
77352         * doc/posix-functions/fcntl.texi (fcntl): Document it.
77354         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
77355         * modules/fcntl (Files): List new files.
77356         (configure.ac): Run a test.
77357         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
77358         * lib/fcntl.c (rpl_fcntl): Likewise.
77359         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
77360         (gl_FCNTL_H): Always replace fcntl.h.
77361         * modules/fcntl-h (Makefile.am): Substitute witnesses.
77362         * lib/fcntl.in.h (fcntl): Declare replacement.
77363         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
77364         needed, plus a witness.
77365         * doc/posix-functions/fcntl.texi (fcntl): Document this.
77366         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
77367         * tests/test-fcntl.c: New file.
77368         * modules/fcntl-tests: Likewise.
77370         binary-io: avoid potential compilation warning
77371         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
77372         directives.
77374         fflush: avoid compilation error on NetBSD
77375         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
77376         between off_t and fpos_t, since the latter is sometimes a struct.
77377         * lib/fseeko.c (rpl_fseeko): Likewise.
77378         Reported by Alexander Nasonov <alnsn@yandex.ru>.
77380 2009-12-15  Eric Blake  <ebb9@byu.net>
77382         fcntl-h, stdio, sys_ioctl: fix declarations
77383         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
77384         function must not take arguments.
77385         * lib/sys_ioctl.in.h (ioctl): Likewise.
77386         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
77387         (open): Add a link warning.
77389 2009-12-15  Jim Meyering  <meyering@redhat.com>
77391         areadlink, areadlink-with-size: relax license to LGPLv2+
77392         * modules/areadlink (License): Relax to LGPLv2+.
77393         * modules/areadlink-with-size (License): Likewise.
77395 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
77396             Bruno Haible  <bruno@clisp.org>
77398         *printf: Fix memory leak.
77399         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
77400         * lib/vfprintf.c (vfprintf): Likewise.
77401         * lib/dprintf.c (dprintf): Likewise.
77402         * lib/vdprintf.c (vdprintf): Likewise.
77404 2009-12-14  Eric Blake  <ebb9@byu.net>
77406         accept4: adjust module dependencies
77407         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
77409         utimens: one more try at avoiding compiler warning
77410         * lib/utimens.c (lutimens): Lower scope of result.
77412 2009-12-13  Bruno Haible  <bruno@clisp.org>
77414         Move the malloc checking from module 'list' to new module 'xlist'.
77415         * modules/xlist: New file.
77416         * lib/gl_xlist.h: New file.
77417         * lib/gl_xlist.c: New file.
77418         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
77419         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
77420         gl_list_add_last, gl_list_add_before, gl_list_add_after,
77421         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
77422         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
77423         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
77424         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
77425         gl_sortedlist_nx_add): New declarations.
77426         (struct gl_list_implementation): Rename and change methods accordingly.
77427         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
77428         (gl_list_nx_create): Renamed from gl_list_create.
77429         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77430         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77431         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77432         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77433         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77434         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77435         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77436         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77437         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
77438         gl_list_create_empty.
77439         (gl_list_nx_create): Renamed from gl_list_create.
77440         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77441         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77442         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77443         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77444         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77445         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77446         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77447         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77448         * lib/gl_array_list.c: Don't include xalloc.h.
77449         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
77450         NULL upon out-of-memory.
77451         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
77452         out-of-memory.
77453         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
77454         Change return type to 'int'.
77455         (gl_array_nx_set_at): Renamed from gl_array_set_at.
77456         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77457         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
77458         upon out-of-memory.
77459         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
77460         upon out-of-memory.
77461         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
77462         upon out-of-memory.
77463         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
77464         upon out-of-memory.
77465         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
77466         out-of-memory.
77467         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
77468         Update.
77469         (gl_array_list_implementation): Update.
77470         * lib/gl_carray_list.c: Don't include xalloc.h.
77471         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
77472         Return NULL upon out-of-memory.
77473         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
77474         out-of-memory.
77475         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
77476         Change return type to 'int'.
77477         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
77478         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77479         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
77480         upon out-of-memory.
77481         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
77482         upon out-of-memory.
77483         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
77484         out-of-memory.
77485         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
77486         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
77487         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
77488         Update.
77489         (gl_carray_list_implementation): Update.
77490         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
77491         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
77492         gl_linked_create_empty. Return NULL upon out-of-memory.
77493         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
77494         out-of-memory.
77495         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
77496         Change return type to 'int'. Return -1 upon out-of-memory.
77497         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
77498         out-of-memory.
77499         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
77500         upon out-of-memory.
77501         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
77502         upon out-of-memory.
77503         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
77504         NULL upon out-of-memory.
77505         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
77506         upon out-of-memory.
77507         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
77508         out-of-memory.
77509         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
77510         Update.
77511         * lib/gl_linked_list.c: Don't include xalloc.h.
77512         (gl_linked_list_implementation): Update.
77513         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
77514         (add_to_bucket): Change return type to 'int'.
77515         (gl_linkedhash_list_implementation): Update.
77516         * lib/gl_anytree_list1.h (free_subtree): New function.
77517         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
77518         gl_tree_create_empty. Return NULL upon out-of-memory.
77519         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
77520         Change return type to 'int'. Return -1 upon out-of-memory.
77521         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
77522         out-of-memory.
77523         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
77524         (gl_tree_remove_node): New function, moved here from
77525         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
77526         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
77527         Update.
77528         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
77529         malloc, not xmalloc. Return NULL upon out-of-memory.
77530         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77531         out-of-memory.
77532         (gl_tree_remove_node_from_tree): New function, extracted from
77533         gl_tree_remove_node.
77534         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77535         upon out-of-memory.
77536         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77537         out-of-memory.
77538         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77539         upon out-of-memory.
77540         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77541         upon out-of-memory.
77542         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77543         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
77544         not xmalloc. Return NULL upon out-of-memory.
77545         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77546         out-of-memory.
77547         (gl_tree_remove_node_from_tree): New function, extracted from
77548         gl_tree_remove_node.
77549         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77550         upon out-of-memory.
77551         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77552         out-of-memory.
77553         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77554         upon out-of-memory.
77555         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77556         upon out-of-memory.
77557         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77558         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
77559         gl_anytree_list1.h before gl_anyavltree_list2.h.
77560         (gl_avltree_list_implementation): Update.
77561         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
77562         gl_anytree_list1.h before gl_anyavltree_list2.h.
77563         (gl_rbtree_list_implementation): Update.
77564         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
77565         Change return type to 'int'. Return -1 upon out-of-memory. Use
77566         __builtin_expect.
77567         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
77568         (gl_avltreehash_list_implementation): Update.
77569         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
77570         (gl_rbtreehash_list_implementation): Update.
77571         * modules/array-list (Depends-on): Remove xalloc.
77572         * modules/carray-list (Depends-on): Likewise.
77573         * modules/linked-list (Depends-on): Likewise.
77574         * modules/linkedhash-list (Depends-on): Likewise.
77575         * modules/avltree-list (Depends-on): Likewise.
77576         * modules/rbtree-list (Depends-on): Likewise.
77577         * modules/avltreehash-list (Depends-on): Likewise.
77578         * modules/rbtreehash-list (Depends-on): Likewise.
77580         * modules/xsublist: New file.
77581         * lib/gl_xsublist.h: New file.
77582         * lib/gl_xsublist.c: New file.
77583         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
77584         (gl_sublist_nx_create): New declaration.
77585         * lib/gl_sublist.c: Don't include xalloc.h.
77586         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
77587         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
77588         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
77589         Change return type to 'int'. Return -1 upon out-of-memory.
77590         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
77591         upon out-of-memory.
77592         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
77593         NULL upon out-of-memory.
77594         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
77595         upon out-of-memory.
77596         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
77597         NULL upon out-of-memory.
77598         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
77599         NULL upon out-of-memory.
77600         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
77601         upon out-of-memory.
77602         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
77603         (gl_sublist_list_implementation): Update.
77604         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
77605         upon out-of-memory.
77606         * modules/sublist (Depends-on): Remove xalloc.
77608         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
77609         * tests/test-carray_list.c: Likewise.
77610         * tests/test-linked_list.c: Likewise.
77611         * tests/test-linkedhash_list.c: Likewise.
77612         * tests/test-avltree_list.c: Likewise.
77613         * tests/test-rbtree_list.c: Likewise.
77614         * tests/test-avltreehash_list.c: Likewise.
77615         * tests/test-rbtreehash_list.c: Likewise.
77616         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
77617         * modules/carray-list-tests (Makefile.am): Likewise.
77618         * modules/linked-list-tests (Makefile.am): Likewise.
77619         * modules/linkedhash-list-tests (Makefile.am): Likewise.
77620         * modules/avltree-list-tests (Makefile.am): Likewise.
77621         * modules/rbtree-list-tests (Makefile.am): Likewise.
77622         * modules/avltreehash-list-tests (Makefile.am): Likewise.
77623         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
77625         * NEWS: Mention the changes.
77627         * lib/clean-temp.c: Include gl_xlist.h.
77628         * modules/clean-temp (Depends-on): Add xlist.
77630         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
77631         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
77633         * tests/test-array_oset.c: Include gl_xlist.h.
77634         * modules/array-oset-tests (Depends-on): Add xlist.
77636         Reported by José E. Marchesi <jemarch@gnu.org>.
77638 2009-12-13  Bruno Haible  <bruno@clisp.org>
77640         Move the malloc checking from module 'oset' to new module 'xoset'.
77641         * modules/xoset: New file.
77642         * lib/gl_xoset.h: New file.
77643         * lib/gl_xoset.c: New file.
77644         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
77645         declarations.
77646         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
77647         (struct gl_oset_implementation): Rename and change methods accordingly.
77648         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
77649         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77650         'int'. Mark as __warn_unused_result__.
77651         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
77652         gl_oset_create_empty.
77653         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77654         'int'.
77655         * lib/gl_array_oset.c: Don't include xalloc.h.
77656         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
77657         malloc, not xmalloc.
77658         (grow): Change return type to 'int'. Don't call xalloc_die.
77659         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
77660         to 'int'.
77661         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
77662         'int'.
77663         (gl_array_oset_implementation): Update.
77664         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
77665         gl_tree_create_empty.
77666         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
77667         'int'.
77668         * lib/gl_avltree_oset.c: Don't include xalloc.h.
77669         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77670         xmalloc.
77671         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77672         not xmalloc.
77673         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77674         xmalloc.
77675         (gl_avltree_oset_implementation): Update.
77676         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
77677         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77678         xmalloc.
77679         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77680         not xmalloc.
77681         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77682         xmalloc.
77683         (gl_rbtree_oset_implementation): Update.
77684         * modules/array-oset (Depends-on): Remove xalloc.
77685         * modules/avltree-oset (Depends-on): Likewise.
77686         * modules/rbtree-oset (Depends-on): Likewise.
77687         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
77688         * tests/test-avltree_oset.c: Likewise.
77689         * tests/test-rbtree_oset.c: Likewise.
77690         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
77691         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
77692         * modules/rbtree-oset-tests (Makefile.am): Likewise.
77693         * NEWS: Mention the change.
77695 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
77697         maint.mk: allow a project to override release-prep commands
77698         * top/maint.mk (alpha, beta, stable): Move release-preparatory
77699         commands into a new rule.
77700         (release-prep): New rule.
77701         (release-prep-hook): New overridable variable.
77703 2009-12-13  Bruno Haible  <bruno@clisp.org>
77705         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
77707 2009-12-13  Jim Meyering  <meyering@redhat.com>
77709         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
77710         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
77712 2009-12-12  Bruno Haible  <bruno@clisp.org>
77714         duplocale: Tweak.
77715         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
77717 2009-12-12  Karl Berry  <karl@gnu.org>
77719         * config/srclist.txt (strtoll.c): tab changes, no more sync.
77721 2009-12-12  Bruno Haible  <bruno@clisp.org>
77723         * m4/po.m4: Undo incorrect untabification.
77725 2009-12-12  Bruno Haible  <bruno@clisp.org>
77727         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
77728         * modules/c-strtod (Depends-on): Add locale.
77729         * modules/c-strtold (Depends-on): Likewise.
77731 2009-12-12  Bruno Haible  <bruno@clisp.org>
77733         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
77735 2009-12-11  Eric Blake  <ebb9@byu.net>
77737         setenv: relax requirement in light of POSIX ruling
77738         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
77739         not NULL.
77740         * tests/test-setenv.c (main): Relax test.
77741         * tests/test-unsetenv.c (main): Likewise.
77742         * doc/posix-functions/setenv.texi (setenv): Document this.
77743         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77745 2009-12-11  Bruno Haible  <bruno@clisp.org>
77747         New module 'fd-safer-flag'.
77748         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
77749         * lib/dup-safer.c (dup_safer_flag): Remove function.
77750         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
77751         * lib/fd-safer.c (fd_safer_flag): Remove function.
77752         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
77753         * modules/cloexec (configure.ac): Drop indicator macro.
77754         * modules/fd-safer-flag: New file.
77755         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
77756         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
77757         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
77759 2009-12-11  Bruno Haible  <bruno@clisp.org>
77761         Tests for module 'nl_langinfo'.
77762         * modules/nl_langinfo-tests: New file.
77763         * tests/test-nl_langinfo.sh: New file.
77764         * tests/test-nl_langinfo.c: New file.
77766         New module 'nl_langinfo'.
77767         * lib/nl_langinfo.c: New file.
77768         * m4/nl_langinfo.m4: New file.
77769         * modules/nl_langinfo: New file.
77770         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
77772 2009-12-11  Bruno Haible  <bruno@clisp.org>
77774         Tests for module 'langinfo'.
77775         * modules/langinfo-tests: New file.
77776         * tests/test-langinfo.c: New file.
77778         New module 'langinfo'.
77779         * lib/langinfo.in.h: New file.
77780         * m4/langinfo_h.m4: New file.
77781         * modules/langinfo: New file.
77782         * doc/posix-headers/langinfo.texi: Mention the new module.
77784 2009-12-11  Bruno Haible  <bruno@clisp.org>
77786         * lib/config.charset: Untabify.
77788 2009-12-11  Bruno Haible  <bruno@clisp.org>
77790         * modules/unistd-safer (configure.ac): Drop indicator macro.
77792 2009-12-11  Bruno Haible  <bruno@clisp.org>
77794         Move pipe2-safer code to its own file.
77795         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
77796         * lib/pipe-safer.c (pipe2_safer): Remove function.
77797         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
77798         (Makefile.am): Add it to lib_SOURCES.
77800 2009-12-10  Bruno Haible  <bruno@clisp.org>
77802         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
77804 2009-12-10  Bruno Haible  <bruno@clisp.org>
77806         Declare which arguments expect non-NULL values, for GCC and clang.
77807         * build-aux/arg-nonnull.h: New file.
77808         * modules/arg-nonnull: New file.
77809         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
77810         (inet_ntop, inet_pton): Use it.
77811         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
77812         (closedir, dirfd, opendir, scandir, alphasort): Use it.
77813         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
77814         (open, openat): Use it.
77815         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
77816         (fnmatch): Use it.
77817         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
77818         (getopt, getopt_long, getopt_long_only): Use it.
77819         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
77820         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
77821         Use it.
77822         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
77823         (iconv_open): Use it.
77824         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
77825         (strtoimax, strtoumax): Use it.
77826         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
77827         (duplocale): Use it.
77828         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
77829         (frexp, frexpl): Use it.
77830         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
77831         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
77832         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
77833         (tsearch, tfind, tdelete, twalk): Use it.
77834         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
77835         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
77836         sigpending): Use it.
77837         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
77838         (posix_spawn, posix_spawnp, posix_spawnattr_init,
77839         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
77840         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
77841         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
77842         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
77843         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
77844         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
77845         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
77846         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
77847         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
77848         Use it.
77849         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
77850         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
77851         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
77852         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
77853         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
77854         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
77855         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
77856         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
77857         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
77858         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
77859         strtoull, unsetenv): Use it.
77860         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
77861         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
77862         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
77863         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
77864         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
77865         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
77866         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
77867         (strcasecmp, strncasecmp): Use it.
77868         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
77869         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
77870         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
77871         rpl_setsockopt): Use it.
77872         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
77873         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
77874         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
77875         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
77876         (gettimeofday): Use it.
77877         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
77878         (times): Use it.
77879         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
77880         (uname): Use it.
77881         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
77882         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
77883         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
77884         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
77885         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
77886         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
77887         unlinkat, write): Use it.
77888         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
77889         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
77890         * lib/argv-iter.h: Include arg-nonnull.h.
77891         (_ATTRIBUTE_NONNULL_): Remove macro.
77892         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
77893         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
77894         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
77895         optimization.
77896         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
77897         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
77898         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
77899         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
77900         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
77901         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
77902         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
77903         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
77904         * modules/arpa_inet (Depends-on): Add arg-nonnull.
77905         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
77906         * modules/dirent (Depends-on): Add arg-nonnull.
77907         (Makefile.am): Insert arg-nonnull.h into dirent.h.
77908         * modules/fcntl-h (Depends-on): Add arg-nonnull.
77909         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
77910         * modules/fnmatch (Depends-on): Add arg-nonnull.
77911         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
77912         * modules/getopt-posix (Depends-on): Add arg-nonnull.
77913         (Makefile.am): Insert arg-nonnull.h into getopt.h.
77914         * modules/glob (Depends-on): Add arg-nonnull.
77915         (Makefile.am): Insert arg-nonnull.h into glob.h.
77916         * modules/iconv_open (Depends-on): Add arg-nonnull.
77917         (Makefile.am): Insert arg-nonnull.h into iconv.h.
77918         * modules/inttypes (Depends-on): Add arg-nonnull.
77919         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
77920         * modules/locale (Depends-on): Add arg-nonnull.
77921         (Makefile.am): Insert arg-nonnull.h into locale.h.
77922         * modules/math (Depends-on): Add arg-nonnull.
77923         (Makefile.am): Insert arg-nonnull.h into math.h.
77924         * modules/netdb (Depends-on): Add arg-nonnull.
77925         (Makefile.am): Insert arg-nonnull.h into netdb.h.
77926         * modules/search (Depends-on): Add arg-nonnull.
77927         (Makefile.am): Insert arg-nonnull.h into search.h.
77928         * modules/signal (Depends-on): Add arg-nonnull.
77929         (Makefile.am): Insert arg-nonnull.h into signal.h.
77930         * modules/spawn (Depends-on): Add arg-nonnull.
77931         (Makefile.am): Insert arg-nonnull.h into spawn.h.
77932         * modules/stdio (Depends-on): Add arg-nonnull.
77933         (Makefile.am): Insert arg-nonnull.h into stdio.h.
77934         * modules/stdlib (Depends-on): Add arg-nonnull.
77935         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
77936         * modules/string (Depends-on): Add arg-nonnull.
77937         (Makefile.am): Insert arg-nonnull.h into string.h.
77938         * modules/strings (Depends-on): Add arg-nonnull.
77939         (Makefile.am): Insert arg-nonnull.h into strings.h.
77940         * modules/sys_socket (Depends-on): Add arg-nonnull.
77941         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
77942         * modules/sys_stat (Depends-on): Add arg-nonnull.
77943         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
77944         * modules/sys_time (Depends-on): Add arg-nonnull.
77945         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
77946         * modules/sys_times (Depends-on): Add arg-nonnull.
77947         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
77948         * modules/sys_utsname (Depends-on): Add arg-nonnull.
77949         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
77950         * modules/time (Depends-on): Add arg-nonnull.
77951         (Makefile.am): Insert arg-nonnull.h into time.h.
77952         * modules/unistd (Depends-on): Add arg-nonnull.
77953         (Makefile.am): Insert arg-nonnull.h into unistd.h.
77954         * modules/wchar (Depends-on): Add arg-nonnull.
77955         (Makefile.am): Insert arg-nonnull.h into wchar.h.
77956         * modules/argv-iter (Depends-on): Add arg-nonnull.
77957         * tests/test-canonicalize.c (null_ptr): New function.
77958         (main): Use it.
77959         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
77960         (main): Use it.
77961         * tests/test-memmem.c (null_ptr): New function.
77962         (main): Use it.
77963         Reported by Jim Meyering.
77965 2009-12-10  Bruno Haible  <bruno@clisp.org>
77967         Use spaces for indentation, not tabs.
77968         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
77969         * m4/*.m4: Untabify.
77970         * build-aux/*.h: Untabify.
77971         * tests/**/*.[hc]: Untabify.
77972         * README: New section "Indent with spaces, not TABs", based on
77973         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
77974         * NEWS: Mention the change.
77976 2009-12-10  Bruno Haible  <bruno@clisp.org>
77978         pty test: Fix link error.
77979         * modules/pty-tests (Makefile.am): Add the default LDADD value to
77980         test_pty_LDADD.
77982 2009-12-07  Simon Josefsson  <simon@josefsson.org>
77984         * modules/pty: New file.
77985         * modules/pty-tests: New file.
77986         * m4/pty.m4: New file.
77987         * tests/test-pty.c: New file.
77988         * doc/glibc-headers/pty.texi: Modified.
77989         * doc/glibc-functions/forkpty.texi: Modified.
77990         * doc/glibc-functions/openpty.texi: Modified.
77992 2009-12-10  Bruno Haible  <bruno@clisp.org>
77994         Avoid syntax error in C++ mode.
77995         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
77997 2009-12-10  Bruno Haible  <bruno@clisp.org>
77999         Use sed with option -e.
78000         * gnulib-tool (func_version, func_emit_copyright_notice,
78001         func_emit_initmacro_end, func_import, func_create_testdir): Pass
78002         option -e to sed.
78003         * modules/link-warning (Makefile.am): Likewise.
78005 2009-12-10  Jim Meyering  <meyering@redhat.com>
78007         mgetgroups: do not write bytes beyond end of malloc'd buffer
78008         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
78009         username, we call getgroups with a one-element-shorter buffer,
78010         but still told it the length was original, max_n_groups.
78012 2009-12-09  Eric Blake  <ebb9@byu.net>
78014         cloexec: relax license
78015         * modules/cloexec (Maintainer): Add myself.
78016         (License): Use LGPL, not GPL.
78018         link-warning: optimize generation
78019         * modules/link-warning (Makefile.am): Reduce process usage.
78021 2009-12-09  Bruno Haible  <bruno@clisp.org>
78023         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
78024         workaround was added on 2009-11-17.
78026 2009-12-09  Jim Meyering  <meyering@redhat.com>
78027             Bruno Haible  <bruno@clisp.org>
78029         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
78030         * modules/link-warning (Makefile.am): Make the comment-removing sed
78031         command more robust in the face of bootstrap-prepended comment lines.
78033 2009-12-09  Bruno Haible  <bruno@clisp.org>
78035         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
78036         most one group.
78038 2009-12-09  Simon Josefsson  <simon@josefsson.org>
78039             Bruno Haible  <bruno@clisp.org>
78041         * build-aux/link-warning.h: Add copyright notice.
78042         * modules/link-warning (Makefile.am): Generate link-warning.h from
78043         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
78044         * NEWS: Mention change in link-warning module.
78045         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
78046         * modules/dirent (Makefile.am): Add dependency to dirent.h.
78047         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
78048         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
78049         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
78050         * modules/math (Makefile.am): Add dependency to math.h.
78051         * modules/search (Makefile.am): Add dependency to search.h.
78052         * modules/signal (Makefile.am): Add dependency to signal.h.
78053         * modules/spawn (Makefile.am): Add dependency to spawn.h.
78054         * modules/stdio (Makefile.am): Add dependency to stdio.h.
78055         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
78056         * modules/string (Makefile.am): Add dependency to string.h.
78057         * modules/strings (Makefile.am): Add dependency to strings.h.
78058         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
78059         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
78060         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
78061         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
78062         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
78063         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
78064         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
78065         * modules/unistd (Makefile.am): Add dependency to unistd.h.
78066         * modules/wchar (Makefile.am): Add dependency to wchar.h.
78068 2009-12-09  Bruno Haible  <bruno@clisp.org>
78070         fchdir: Optimize away rpl_fstat when possible.
78071         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
78072         REPLACE_OPEN_DIRECTORY.
78073         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
78075 2009-12-09  Bruno Haible  <bruno@clisp.org>
78077         * lib/fchdir.c: Update comment.
78079 2009-12-09  Bruno Haible  <bruno@clisp.org>
78081         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
78083 2009-12-08  Eric Blake  <ebb9@byu.net>
78085         fchdir: avoid memory leak on re-registration.
78086         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
78088 2009-12-08  Jim Meyering  <meyering@redhat.com>
78090         init.sh: avoid Solaris 10 /bin/sh portability problem
78091         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
78092         sourced script:
78093           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
78094           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
78095           bar
78096         tests/init.sh relied on that, accepting a --set-path=DIR argument,
78097         and two tests used that idiom.
78098         * tests/init.sh: Update suggested usage comments.
78099         (path_prepend_): New function, to be used in place
78100         of the --src-path=DIR option.
78101         (setup_): Move PATH-prepending code into path_prepend_.
78102         * tests/test-pread.sh: Adapt to new usage.
78103         * tests/test-xalloc-die.sh: Likewise.
78105 2009-12-08  Simon Josefsson  <simon@josefsson.org>
78107         * doc/gnulib.texi (Glibc pty.h): Add.
78108         * doc/glibc-functions/forkpty.texi: Add.
78109         * doc/glibc-functions/openpty.texi: Add.
78110         Suggested by Bruno Haible.
78112 2009-12-08  Eric Blake  <ebb9@byu.net>
78114         fchdir: fix logic bugs
78115         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
78116         * tests/test-fchdir.c (main): Enhance test.
78117         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
78118         is in use.
78120         dup2: fix logic bugs
78121         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
78122         REPLACE_DUP2 to decide when rpl_dup2 is needed.
78123         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
78124         exists.
78125         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
78127 2009-12-07  Eric Blake  <ebb9@byu.net>
78129         unlink: fix m4 detection
78130         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
78132         unistd-safer: add unit test
78133         * modules/unistd-safer-tests: New file.
78134         * tests/test-dup-safer.c: Likewise.
78135         * tests/test-cloexec.c (setmode): Avoid compiler warning.
78136         * tests/test-dup2.c (setmode): Likewise.
78137         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
78139         cloexec: preserve text vs. binary across dup_cloexec
78140         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
78141         mode.
78142         * modules/dup2-tests (Depends-on): Add binary-io.
78143         * modules/cloexec-tests (Depends-on): Likewise.
78144         * tests/test-dup2.c (setmode, is_mode): New helpers.
78145         (main): Add tests that translation mode is preserved.
78146         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
78147         Reported by Bruno Haible.
78149         mgetgroups: reduce duplicate listings
78150         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
78151         resulting array.
78152         * tests/test-chown.h (test_chown): Simplify client.
78153         * tests/test-lchown.h (test_lchown): Likewise.
78155 2009-12-06  Bruno Haible  <bruno@clisp.org>
78157         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
78158         value.
78160 2009-12-06  Bruno Haible  <bruno@clisp.org>
78162         * lib/progname.c: Include stdio.h, stdlib.h.
78163         (set_program_name): Reject a NULL argument.
78165 2009-12-05  Eric Blake  <ebb9@byu.net>
78167         pipe2-safer: new module
78168         * modules/pipe2-safer: New file.
78169         * lib/unistd-safer.h (pipe2_safer): New prototype.
78170         * lib/unistd--.h (pipe2): New wrapper.
78171         * lib/pipe-safer.c (pipe2_safer): New function.
78172         * modules/pipe (Depends-on): Add pipe2-safer.
78173         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
78175         stdlib-safer: preserve cloexec flag for mkostemp[s]
78176         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
78177         fd_safer_flag.
78179         unistd-safer: allow preservation of cloexec status via flag
78180         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
78181         prototypes.
78182         * lib/dup-safer.c (dup_safer_flag): New function.
78183         * lib/fd-safer.c (fd_safer_flag): Likewise.
78184         * modules/cloexec (configure.ac): Set witness.
78186         test-dup2: enhance test
78187         * modules/dup2-tests (Depends-on): Add cloexec.
78188         * tests/test-dup2.c (main): Enhance test.
78190         cloexec: add dup_cloexec
78191         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
78192         header and comments.
78193         * lib/cloexec.c (set_cloexec_flag): Add comments.
78194         (dup_cloexec): New function, with mingw implementation borrowed
78195         from...
78196         * lib/w32spawn.h (dup_noinherit): ...here.
78197         * modules/execute (Depends-on): Add cloexec.
78198         * modules/pipe (Depends-on): Likewise.
78199         * modules/cloexec (Depends-on): Add dup2.
78200         * modules/cloexec-tests (Files): New file.
78201         * tests/test-cloexec.c: Likewise.
78203         test-xalloc-die: fix test for mingw
78204         * modules/xalloc-die-tests (Files): Add tests/init.sh.
78205         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
78206         directory and .exe suffix off argv[0] output.
78208         test-fseeko: fix test for mingw
78209         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
78210         than undefining fseek, so test will pass on mingw.
78212 2009-12-05  Bruno Haible  <bruno@clisp.org>
78214         * lib/progname.h (set_program_name): Clarify specification.
78215         * lib/progname.c (set_program_name): Likewise.
78216         Reported by Jim Meyering.
78218 2009-12-05  Jim Meyering  <meyering@redhat.com>
78220         maint.mk: backslash-escape parens in default regexp
78221         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
78222         backslash-escape the literal parentheses.
78224         maint.mk: news-date-check: use grep -E
78225         * top/maint.mk (today): Define a Make variable, not a...
78226         (news-date-check): ...shell variable.
78227         (news-date-regexp): Use the Make variable.
78228         Use grep's -E option.  Change the failing diagnostic to mention
78229         the variable, $(news-date-regexp).
78231 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
78233         maintainer-makefile: allow customization of NEWS entry format
78234         * top/maint.mk (news-date-regexp): New overridable variable.
78235         (news-date-check): Use it.
78237 2009-12-04  Eric Blake  <ebb9@byu.net>
78239         mgetgroups: add xgetgroups, and avoid ENOSYS failures
78240         * lib/mgetgroups.h (xgetgroups): New prototype.
78241         * lib/mgetgroups.c (xgetgroups): New wrapper.
78242         (mgetgroups): Handle ENOSYS.
78243         * modules/mgetgroups (Depends-on): Add realloc.
78244         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
78246         mgetgroups: avoid argument promotion issues with -1
78247         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
78248         for invalid gid_t.
78249         * tests/test-chown.h (getegid, test_chown): Likewise.
78250         * tests/test-lchown.h (getegid, test_lchown): Likewise.
78252 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
78254         exclude: Fix header file problems.
78255         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
78257 2009-12-01  Jim Meyering  <meyering@redhat.com>
78259         fts: fts_open: do not let an empty string cause immediate failure
78260         This is required in support of GNU rm, for which the command
78261         "rm A '' B" must process and remove both A and B, in spite of
78262         the empty string argument.
78263         * lib/fts.c (fts_open): Do not let the presence of an empty string
78264         cause fts_open to fail immediately.  Most fts-using tools must be
78265         able to process all arguments, in order, and can be expected to
78266         diagnose such arguments themselves.
78268 2009-11-30  Eric Blake  <ebb9@byu.net>
78270         utimens: fix compilation error
78271         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
78272         Declare variable at right scope.
78274 2009-11-29  Jim Meyering  <meyering@redhat.com>
78276         bootstrap: handle perl-5.11's changed --version output
78277         * build-aux/bootstrap (get_version): Handle perl separately,
78278         since perl-5.11's --version output is different.
78280 2009-11-28  Jim Meyering  <meyering@redhat.com>
78282         userspec: depend on the inttostr module, too
78283         * modules/userspec (Depends-on): Add inttostr.
78285         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
78286         * lib/userspec.c (parse_with_separator): Do not accept a user ID
78287         number of MAXUID when it evaluates to (uid_t) -1.
78288         Likewise for group ID.  Reported by Matt McCutchen in
78289         <http://savannah.gnu.org/bugs/?28113>
78291         userspec: reformat to use spaces, not TABs
78292         * lib/userspec.c: Expand TABs to spaces.
78293         Add Emacs' "indent-tabs-mode: nil" hint.
78295 2009-11-27  Eric Blake  <ebb9@byu.net>
78297         getopt-gnu: flush out another BSD bug
78298         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
78299         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
78300         flush out BSD bug.
78301         * tests/test-getopt.h (test_getopt): End lists with NULL.
78302         * tests/test-getopt_long.h (test_getopt_long): Likewise.
78303         (test_getopt_long_posix): Enhance test.
78304         * modules/getopt-posix-tests (Depends-on): Add stdbool.
78305         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
78306         getopt-gnu.
78307         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
78308         Likewise.
78310 2009-11-27  Simon Josefsson  <simon@josefsson.org>
78312         * modules/idpriv-droptemp-tests (Notice): Fix text.
78314 2009-11-27  Jim Meyering  <meyering@redhat.com>
78316         test-xalloc-die: avoid spurious failure due to libtool argv difference
78317         In a libtool-enabled project, this test would fail due to a difference
78318         in the emitted program name, e.g.,
78319         -test-xalloc-die: memory exhausted
78320         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
78321         Use program to avoid that.
78322         * modules/xalloc-die-tests (Depends-on): Add progname.
78323         * tests/test-xalloc-die.c: Include progname.h".
78324         (program_name): Remove decl.
78325         (main): Call set_program_name.
78326         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
78328 2009-11-26  Richard Jones  <rjones@redhat.com>
78330         w32sock: leave win32 error in place.
78331         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
78333 2009-11-26  Eric Blake  <ebb9@byu.net>
78335         init.sh: suggest to use skip_ and fail_ functions in comments
78336         * tests/init.sh: Add a sentence.
78338 2009-11-25  Bruno Haible  <bruno@clisp.org>
78340         init.sh: add documentation in comments
78341         * tests/init.sh: Add some developer and user documentation.
78343 2009-11-26  Jim Meyering  <meyering@redhat.com>
78345         init.sh: accommodate even those who specify bogus srcdir manually
78346         * tests/init.sh: Normally, srcdir is guaranteed by automake and
78347         configure-time tests to be sanitized, so that there is no need to
78348         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
78349         (with no double quotes) suffices.  However, since tests may be
78350         invoked manually, and since you may explicitly set srcdir to the
78351         name of a directory containing spaces, do quote its uses here.
78352         * tests/test-pread.sh: Likewise.
78353         Suggested by Bruno Haible.
78355         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
78356         * tests/test-pread.sh: Write no data into the pipe, because
78357         test-pread actually reads none.  This avoids a diagnostic,
78358         "bash: echo: write error: Broken pipe", that arises in the unusual
78359         event something is ignoring SIGPIPE, and might be interpreted
78360         as some sort of failure.  Reported by Bruno Haible.
78362 2009-11-25  Jim Meyering  <meyering@redhat.com>
78364         test-pread: cover failure with ESPIPE and EINVAL
78365         * tests/test-pread.c (main): Test for failure, too.
78366         * tests/test-pread.sh: Invoke with stdin on a pipe.
78367         Suggested by Eric Blake.
78369         pread: improvement and fix
78370         * modules/pread (Depends-on): Depend on lseek, for portability to
78371         e.g., mingw.  Suggested by Eric Blake.
78372         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
78374         unistd.in.h: correct declaration of pread
78375         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
78376         Reported by Richard W.M. Jones.
78378         test-pread.sh: distribute the test script
78379         * modules/pread-tests (Files): Include test-pread.sh.
78381         test-pread.sh: clean up
78382         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
78383         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
78384         That is unnecessary, since it's always ".".
78385         Suggestion from Eric Blake.
78387         test-pread.sh: make executable
78388         * tests/test-pread.sh: Set executable bit.
78389         Reported by Eric Blake.
78391         correct typo in test-pread.sh
78392         * tests/test-pread.sh: Add #! line.
78394         test pread
78395         * tests/test-pread.c: New file.
78396         * tests/test-pread.sh: Likewise.
78397         * modules/pread-tests: Likewise.
78399         pread: new module
78400         * modules/pread: New file.
78401         * lib/unistd.in.h (pread): Define/declare.
78402         * lib/pread.c (pread): New file.
78403         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
78404         * modules/unistd (Makefile.am): Substitute witnesses.
78405         * doc/posix-functions/pread.texi (pread): Update.
78406         * MODULES.html.sh: Add pread.
78408 2009-11-25  Jim Meyering  <meyering@redhat.com>
78410         tests/init.sh: new file to be used via most *.sh tests
78411         * tests/init.sh: New file.
78413 2009-11-25  Eric Blake  <ebb9@byu.net>
78415         utimens: work around older Linux failure with symlinks
78416         * lib/utimens.c (lutimensat_works_really): New variable.
78417         (fdutimens, lutimens): Use it to manage kernels that support
78418         nanosecond times on files, but not on symlinks.
78419         Reported by Ondřej Vašík.
78421         utimes: fix configure grammar
78422         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
78424 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
78426         regex: Fix fastmap for multibyte character ranges.
78427         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
78428         characters when a multibyte character range is included.
78430 2009-11-22  Andy Wingo  <wingo@pobox.com>
78432         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
78433         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
78435 2009-11-24  Bruno Haible  <bruno@clisp.org>
78437         doc: Most *_l functions exist in MacOS X 10.5.
78438         * doc/posix-functions/duplocale.texi: Update platforms list.
78439         * doc/posix-functions/freelocale.texi: Likewise.
78440         * doc/posix-functions/newlocale.texi: Likewise.
78441         * doc/posix-functions/uselocale.texi: Likewise.
78442         * doc/posix-functions/isalnum_l.texi: Likewise.
78443         * doc/posix-functions/isalpha_l.texi: Likewise.
78444         * doc/posix-functions/isblank_l.texi: Likewise.
78445         * doc/posix-functions/iscntrl_l.texi: Likewise.
78446         * doc/posix-functions/isdigit_l.texi: Likewise.
78447         * doc/posix-functions/isgraph_l.texi: Likewise.
78448         * doc/posix-functions/islower_l.texi: Likewise.
78449         * doc/posix-functions/isprint_l.texi: Likewise.
78450         * doc/posix-functions/ispunct_l.texi: Likewise.
78451         * doc/posix-functions/isspace_l.texi: Likewise.
78452         * doc/posix-functions/isupper_l.texi: Likewise.
78453         * doc/posix-functions/iswalnum_l.texi: Likewise.
78454         * doc/posix-functions/iswalpha_l.texi: Likewise.
78455         * doc/posix-functions/iswblank_l.texi: Likewise.
78456         * doc/posix-functions/iswcntrl_l.texi: Likewise.
78457         * doc/posix-functions/iswctype_l.texi: Likewise.
78458         * doc/posix-functions/iswdigit_l.texi: Likewise.
78459         * doc/posix-functions/iswgraph_l.texi: Likewise.
78460         * doc/posix-functions/iswlower_l.texi: Likewise.
78461         * doc/posix-functions/iswprint_l.texi: Likewise.
78462         * doc/posix-functions/iswpunct_l.texi: Likewise.
78463         * doc/posix-functions/iswspace_l.texi: Likewise.
78464         * doc/posix-functions/iswupper_l.texi: Likewise.
78465         * doc/posix-functions/iswxdigit_l.texi: Likewise.
78466         * doc/posix-functions/isxdigit_l.texi: Likewise.
78467         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
78468         * doc/posix-functions/strcasecmp_l.texi: Likewise.
78469         * doc/posix-functions/strcoll_l.texi: Likewise.
78470         * doc/posix-functions/strfmon_l.texi: Likewise.
78471         * doc/posix-functions/strftime_l.texi: Likewise.
78472         * doc/posix-functions/strncasecmp_l.texi: Likewise.
78473         * doc/posix-functions/strxfrm_l.texi: Likewise.
78474         * doc/posix-functions/tolower_l.texi: Likewise.
78475         * doc/posix-functions/toupper_l.texi: Likewise.
78476         * doc/posix-functions/towctrans_l.texi: Likewise.
78477         * doc/posix-functions/towlower_l.texi: Likewise.
78478         * doc/posix-functions/towupper_l.texi: Likewise.
78479         * doc/posix-functions/wcscoll_l.texi: Likewise.
78480         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
78481         * doc/posix-functions/wctrans_l.texi: Likewise.
78482         * doc/posix-functions/wctype_l.texi: Likewise.
78483         * doc/glibc-functions/strptime_l.texi: Likewise.
78484         * doc/glibc-functions/strtod_l.texi: Likewise.
78485         * doc/glibc-functions/strtof_l.texi: Likewise.
78486         * doc/glibc-functions/strtol_l.texi: Likewise.
78487         * doc/glibc-functions/strtold_l.texi: Likewise.
78488         * doc/glibc-functions/strtoll_l.texi: Likewise.
78489         * doc/glibc-functions/strtoul_l.texi: Likewise.
78490         * doc/glibc-functions/strtoull_l.texi: Likewise.
78491         * doc/glibc-functions/wcsftime_l.texi: Likewise.
78492         * doc/glibc-functions/wcstod_l.texi: Likewise.
78493         * doc/glibc-functions/wcstof_l.texi: Likewise.
78494         * doc/glibc-functions/wcstol_l.texi: Likewise.
78495         * doc/glibc-functions/wcstold_l.texi: Likewise.
78496         * doc/glibc-functions/wcstoll_l.texi: Likewise.
78497         * doc/glibc-functions/wcstoul_l.texi: Likewise.
78498         * doc/glibc-functions/wcstoull_l.texi: Likewise.
78500 2009-11-24  Bruno Haible  <bruno@clisp.org>
78502         duplocale: Fix logic bug.
78503         * lib/duplocale.c: Don't include <langinfo.h>.
78504         (_NL_LOCALE_NAME): Remove macro.
78505         (rpl_duplocale): Use setlocale instead of nl_langinfo.
78506         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
78508 2009-11-23  Jim Meyering  <meyering@redhat.com>
78510         test-update-copyright: don't hard-code /usr/bin/perl
78511         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
78512         perl to print the current year.  Gilles Espinasse reported that
78513         the replaced use of perl was hard-coded as /usr/bin/perl.
78515 2009-11-23  Bruno Haible  <bruno@clisp.org>
78517         duplocale: Add support for glibc 2.3.x.
78518         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
78520 2009-11-22  Bruno Haible  <bruno@clisp.org>
78522         vasnprintf: Tiny optimization.
78523         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
78524         MacOS X.
78526 2009-11-22  Bruno Haible  <bruno@clisp.org>
78528         Tests for module 'duplocale'.
78529         * modules/duplocale-tests: New file.
78530         * tests/test-duplocale.c: New file.
78532         New module 'duplocale'.
78533         * m4/duplocale.m4: New file.
78534         * lib/locale.in.h (duplocale): New declaration.
78535         * lib/duplocale.c: New file.
78536         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
78537         gl_LOCALE_H_DEFAULTS): New macros.
78538         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
78539         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
78540         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
78541         REPLACE_DUPLOCALE.
78542         * modules/duplocale: New file.
78543         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
78545 2009-11-22  Bruno Haible  <bruno@clisp.org>
78547         * modules/locale-tests (configure.ac): Test for newlocale function.
78548         * tests/test-locale.c: When the system has extended locale functions,
78549         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
78551         locale: Make locale_t available when possible.
78552         * lib/locale.in.h: Include <xlocale.h> when it exists.
78553         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
78554         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
78555         * modules/locale (Depends-on): Add extensions.
78556         (Makefile.am): Also substitute HAVE_XLOCALE_H.
78557         * doc/posix-headers/locale.texi: Document the problem with locale_t.
78559 2009-11-22  Bruno Haible  <bruno@clisp.org>
78561         Add comments.
78562         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
78563         invocation.
78564         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
78565         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
78566         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
78568 2009-11-22  Bruno Haible  <bruno@clisp.org>
78570         error: account for the possibility of freopen (stdout).
78571         * lib/error.c: Include <unistd.h>.
78572         (flush_stdout): New function, extracted from error and error_at_line.
78573         Determine stdout's fd dynamically.
78574         (error, error_at_line): Invoke flush_stdout.
78575         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
78576         * modules/error (Depends-on): Add unistd.
78578 2009-11-22  Bruno Haible  <bruno@clisp.org>
78580         diffseq: Add comment.
78581         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
78583 2009-11-22  Jim Meyering  <meyering@redhat.com>
78585         c-stack: avoid defining an unused static function
78586         * lib/c-stack.c (find_stack_direction): Do not define this function
78587         when it will not be used.
78589         diffseq: avoid spurious gcc warnings
78590         * lib/diffseq.h (IF_LINT2): Define.
78591         (compareseq): Use it to initialize two members of "part".
78592         This avoids two used-uninitialized warnings.
78594 2009-11-21  Jim Meyering  <meyering@redhat.com>
78596         c-stack: avoid "ignoring return value of `write'" warning
78597         * lib/c-stack.c: Include "ignore-value.h".
78598         (die): Explicitly ignore each write return value.
78599         * modules/c-stack (Depends-on): Add ignore-value.
78601 2009-11-21  Bruno Haible  <bruno@clisp.org>
78603         diffseq: reduce scope of variable 'best'.
78604         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
78605         variable, earlier used for two different purposes.
78607 2009-11-21  Jim Meyering  <meyering@redhat.com>
78609         diffseq: remove useless assignment to "best"
78610         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
78611         assignment.  At that point "best" is already guaranteed to be zero.
78613 2009-11-20  Eric Blake  <ebb9@byu.net>
78615         build: mention ftp redirector in release announcements
78616         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
78617         values that used to come from cfg.mk; mention FTP redirect URL.
78618         * build-aux/announce-gen: Mention the mirror list.
78619         Suggested by Karl Berry.
78621         nanosleep: improve port to mingw
78622         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
78623         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
78624         LIB_NANOSLEEP, but only when needed.
78625         * modules/select (Link): Document LIBSOCKET.
78626         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
78627         enough.
78629         nanosleep: work around cygwin bug
78630         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
78631         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
78632         bug.
78633         (getnow): Delete, not needed.
78634         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
78635         LIB_CLOCK_GETTIME.
78636         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
78637         clock-time, gettime.
78638         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
78639         bug.
78640         * modules/nanosleep-tests: New test.
78641         * tests/test-nanosleep.c: New file.
78643         sleep: work around cygwin bug
78644         * lib/sleep.c (rpl_sleep): Work around the bug.
78645         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
78646         (gl_PREREQ_SLEEP): Delete unused macro.
78647         * modules/sleep (Depends-on): Add verify.
78648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78649         * modules/unistd (Makefile.am): Substitute witness.
78650         * lib/unistd.in.h (sleep): Update prototype.
78651         * doc/posix-functions/sleep.texi (sleep): Document the bug.
78652         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
78653         * modules/sleep-tests (Depends-on): Check for alarm.
78655 2009-11-20  Jim Meyering  <meyering@redhat.com>
78657         maint.mk: improve sc_prohibit_magic_number_exit
78658         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
78659         so it does not match uses like System.exit(1).
78660         Add comments showing how to correct all offenders.
78662 2009-11-19  Eric Blake  <ebb9@byu.net>
78664         xalloc-die-tests: add missing library
78665         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
78667         test-xvasprintf: silence compiler warnings
78668         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
78669         empty string from gcc.
78671 2009-11-19  Jim Meyering  <meyering@redhat.com>
78673         xfreopen: new module, from coreutils
78674         * modules/xfreopen: New module.
78675         * lib/xfreopen.c: New file.
78676         * lib/xfreopen.h: New file.
78677         * MODULES.html.sh (File stream based Input/Output"): Add it.
78679 2009-11-19  Eric Blake  <ebb9@byu.net>
78681         manywarnings: depend on warnings
78682         * modules/manywarnings (Depends-on): Add warnings.
78684         build: avoid compiler warnings
78685         * lib/select.c (rpl_select): Delete unused variable.
78686         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
78688 2009-11-18  Eric Blake  <ebb9@byu.net>
78690         tests: avoid false negative with --with-packager
78691         * tests/test-version-etc.sh: Discard packager information.
78692         * tests/test-argp-version-etc-1.sh: Likewise.
78693         Reported by Mike Frysinger.
78695         utimens: fix regression on Solaris
78696         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
78697         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
78698         can only change fd timestamps via futimesat.  Instead, use an
78699         additional witness macro to avoid BSD bug.
78700         Reported by Jim Meyering.
78702 2009-11-17  Eric Blake  <ebb9@byu.net>
78704         usleep: use it to simplify tests
78705         * modules/stat-time-tests (Depends-on): Add usleep.
78706         (configure.ac): Drop usleep check.
78707         * modules/chown-tests (Depends-on, configure.ac): Likewise.
78708         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
78709         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
78710         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
78711         * modules/openat-tests (Depends-on, configure.ac): Likewise.
78712         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
78713         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
78714         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
78715         Likewise.
78716         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
78717         * tests/test-lchown.h (nap): Likewise.
78718         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
78719         * tests/test-stat-time.c (nap): Likewise.
78720         * tests/test-utimens-common.h (nap): Update comments.
78722         usleep: new module
78723         * modules/usleep: New file.
78724         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
78725         * lib/usleep.c (usleep): Likewise.
78726         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
78727         * modules/unistd (Makefile.am): Substitute witnesses.
78728         * lib/unistd.in.h (usleep): Add declaration.
78729         * doc/pastposix-functions/usleep.texi (usleep): Document this.
78730         * MODULES.html.sh (Date and time): Likewise.
78731         * modules/usleep-tests (Depends-on): New test.
78732         * tests/test-usleep.c: New file.
78734         chown: work around OpenBSD bug
78735         * lib/chown.c (rpl_chown): Work around the bug.
78736         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
78737         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
78738         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
78739         * modules/chown (Depends-on): Add stdbool.
78740         * modules/lchown (Depends-on): Likewise.
78741         * doc/posix-functions/chown.texi (chown): Document the bug.
78742         * doc/posix-functions/lchown.texi (lchown): Likewise.
78743         * tests/test-lchown.h (test_chown): Relax test.
78745         mkstemp: avoid conflict with C++ keyword template
78746         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
78747         * lib/mkostemp.c (mkostemp): Likewise.
78748         * lib/mkostemps.c (mkostemps): Likewise.
78749         * lib/mkstemp.c (mkstemp): Likewise.
78750         * lib/mkstemps.c (mkstemps): Likewise.
78752         xalloc-die-tests: optimize
78753         * tests/test-xalloc-die.sh: Reduce number of processes.
78755 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78757         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
78758         patch from ludo@gnu.org (Ludovic Courtès).
78760 2009-11-17  Jim Meyering  <meyering@redhat.com>
78762         version-etc: use proper license string
78763         * modules/version-etc (License): Use LGPL, not LGPLv3+.
78764         * modules/version-etc-fsf: Likewise.
78766 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78768         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
78769         printed to stdout.  Deal with EOL differences.
78771 2009-11-17  Eric Blake  <ebb9@byu.net>
78773         unsetenv: work around Solaris bug
78774         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
78775         * lib/unsetenv.c (rpl_unsetenv): Work around it.
78776         Reported by Jim Meyering.
78778         vasnprintf: avoid compiler warnings
78779         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
78780         variables.
78781         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
78783 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78785         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
78786         settings since xalloc-die is no longer the self test,
78787         xalloc-die.sh is.
78789 2009-11-17  Jim Meyering  <meyering@redhat.com>
78791         test-xalloc-die.sh: make the code agree with the commit log
78792         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
78793         at the end, just in case you happen to have a test-xalloc-die
78794         program in some other PATH directory.
78796         test-xalloc-die.sh: fix a portability bug
78797         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
78798         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
78799         Otherwise, argv[0] (as often seen in diagnostics) would be too
78800         system-dependent, sometimes with, and sometimes without the leading "./".
78802         version-etc-fsf: relax license to LGPLv3+
78803         * modules/version-etc-fsf (License): Relax license.
78805 2009-11-16  Eric Blake  <ebb9@byu.net>
78807         xalloc-die-tests: avoid printing null pointer
78808         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
78809         shell script.
78810         * tests/test-xalloc-die.c (program_name): Declare.
78811         * tests/test-xalloc-die.sh (tmpfiles): New file.
78813         setenv, unsetenv: work around various bugs
78814         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
78815         (setenv) [HAVE_SETENV]: Work around bugs.
78816         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
78817         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
78818         for bugs.
78819         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
78820         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
78821         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
78822         * modules/stdlib (Makefile.am): Update substitutions.
78823         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
78824         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
78825         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
78826         * modules/setenv-tests: New test.
78827         * modules/unsetenv-tests: Likewise.
78828         * tests/test-setenv.c: New file.
78829         * tests/test-unsetenv.c: Likewise.
78831 2009-11-16  Jim Meyering  <meyering@redhat.com>
78833         version-etc: relax license to LGPLv3+
78834         * modules/version-etc (License): Relax license.
78836         better AC_REQUIRE expanded-before-required-warning avoidance
78837         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
78838         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
78839         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
78840         which is no longer needed.
78842 2009-11-16  Eric Blake  <ebb9@byu.net>
78844         test-freading: clean up temporary file
78845         * tests/test-freading.c (main): Remove file on success, and use
78846         ASSERT more liberally.
78847         Reported by Jim Meyering.
78849 2009-11-16  Jim Meyering  <meyering@redhat.com>
78851         avoid new AC_REQUIRE expanded-before-required warnings
78852         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
78853         merely using it.
78854         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
78855         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
78857 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78859         * tests/test-xalloc-die.c: New file.
78860         * modules/xalloc-die-tests: New file.
78861         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
78862         XFAIL_TESTS so it can be appended by modules.
78864 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78866         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
78867         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
78869 2009-11-14  Eric Blake  <ebb9@byu.net>
78871         fnmatch: avoid compiler warning
78872         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
78873         to silence compiler warning about mismatch signedness in ?:.
78874         Reported by Robert Millan.
78876         intprops: add double-inclusion guard
78877         * lib/intprops.h: Allow idempotent includes.
78878         Suggested by Bruce Korb.
78880         openat: detect Solaris fchownat bug
78881         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
78882         penalizing glibc chownat when only lchownat is broken.
78883         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
78884         trailing slash bugs.
78885         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
78886         * modules/openat-tests (Files): Include more files.
78887         (Depends-on): Add mgetgroups, sleep, stat-time.
78888         (configure.ac): Add additional checks.
78889         (Makefile.am): Build new test.
78890         * tests/test-fchownat.c: New file.
78892         lchown: detect Solaris and FreeBSD bug
78893         * lib/lchown.c (rpl_lchown): Work around bug.
78894         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
78895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78896         * modules/unistd (Makefile.am): Populate it.
78897         * lib/unistd.in.h (lchown): Update declaration.
78898         * doc/posix-functions/lchown.texi (lchown): Document the bug.
78899         * modules/lchown-tests: New file.
78900         * tests/test-lchown.h (test_lchown): Likewise.
78901         * tests/test-lchown.c (main): Likewise.
78903         chown: detect Solaris and FreeBSD bug
78904         * lib/chown.c (rpl_chown): Work around bug.
78905         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
78906         (gl_PREREQ_CHOWN): Delete.
78907         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78908         * modules/unistd (Makefile.am): Populate it.
78909         * lib/unistd.in.h (chown): Update declaration.
78910         * lib/lchown.c (chown): Update client.
78911         * modules/lchown (Depends-on): Add lstat.
78912         * doc/posix-functions/chown.texi (chown): Document the bug.
78913         * doc/posix-functions/getgroups.texi (getgroups): Document
78914         getgroups pitfall.
78915         * modules/chown-tests: New file.
78916         * tests/test-chown.h (test_chown): Likewise.
78917         * tests/test-chown.c (main): Likewise.
78919 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
78921         gnulib-tool: correctly detect absence of m4 directories
78922         * gnulib-tool: Avoid extra newline on data passed to wc -l.
78924 2009-11-14  Jim Meyering  <meyering@redhat.com>
78926         maint.mk: Prohibit inclusion of "xalloc.h" without use.
78927         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78929 2009-11-14  John W. Eaton  <jwe@gnu.org>
78931         strftime.h: wrap function declaration in extern "C" block
78932         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
78934 2009-11-13  Eric Blake  <ebb9@byu.net>
78936         getgroups: avoid compiler warning
78937         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
78939         getgroups: work around FreeBSD bug
78940         * lib/getgroups.c (rpl_getgroups): Work around the bug.
78941         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
78942         * doc/posix-functions/getgroups.texi (getgroups): Document it.
78943         * tests/test-getgroups.c (main): Fix buffer overrun.
78945         getgroups: avoid compilation failure
78946         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
78947         * modules/getgroups (Depends-on): Add stdint.
78949 2009-11-13  Jim Meyering  <meyering@redhat.com>
78951         test-getgroups: avoid compilation failure
78952         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
78954 2009-11-13  Eric Blake  <ebb9@byu.net>
78956         mgetgroups: new module, taken from coreutils
78957         * modules/mgetgroups: New file.
78958         * lib/mgetgroups.h: Likewise.
78959         * lib/mgetgroups.c (mgetgroups): Likewise.
78960         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
78961         * MODULES.html.sh (Users and groups): Mention it.
78963         getgroups: don't expose GETGROUPS_T to user
78964         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
78965         an element at a time if GETGROUPS_T is wrong size.
78966         * lib/getugroups.h (getugroups): Change signature.
78967         * lib/unistd.in.h (getgroups): Likewise.
78968         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
78969         signature needs fixing.
78970         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
78971         AC_TYPE_GETGROUPS.
78972         * modules/group-member (Depends-on): Add getgroups.
78973         * lib/group-member.c (group_info, get_group_info): Use gid_t.
78974         (group_member): Rely on getgroups replacement.
78975         * lib/getugroups.c (getugroups): Use gid_t.
78976         * tests/test-getgroups.c (main): Likewise.
78977         * NEWS: Mention the signature change.
78978         * doc/posix-functions/getgroups.texi (getgroups): Mention the
78979         problem with signature.
78980         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
78981         GETGROUPS_T is still useful for setgroups.
78983         getgroups, getugroups: provide stubs for mingw
78984         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
78985         * lib/getugroups.c (getugroups): Likewise.
78986         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
78987         function.  Modernize replacement scheme.
78988         (gl_PREREQ_GETGROUPS): Delete.
78989         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
78990         * modules/getgroups (configure.ac): Declare witness.
78991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78992         * modules/unistd (Depends-on): Substitute witness.
78993         * lib/unistd.in.h (getgroups): Declare replacement.
78995         getgroups: avoid calling exit
78996         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
78997         drop xalloc.
78998         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
78999         dependencies.
79000         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
79001         exiting, in the rare case of malloc failure.
79003         getgroups: fix logic error
79004         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
79005         has more than 20 groups.
79006         * modules/getgroups-tests: New test.
79007         * tests/test-getgroups.c: New file.
79009 2009-11-13  Simon Josefsson  <simon@josefsson.org>
79011         * tests/test-base64.c: Improve.
79013 2009-11-13  Simon Josefsson  <simon@josefsson.org>
79015         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
79016         Blake <ebb9@byu.net>.
79018 2009-11-13  Simon Josefsson  <simon@josefsson.org>
79020         * tests/test-xvasprintf.c: Add %s%s related checks.
79022 2009-11-12  Eric Blake  <ebb9@byu.net>
79024         version-etc: match standards.texi style
79025         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
79026         and use <> only for URLs.
79028 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
79030         fts: do not fail on a submount during traversal
79031         * lib/fts.c (fts_build): Read the stat info again after opening
79032         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
79033         Original report at http://bugzilla.redhat.com/501848.
79035 2009-11-12  Jim Meyering  <meyering@redhat.com>
79037         bootstrap: sync from coreutils
79038         * build-aux/bootstrap (bootstrap_epilogue): New function.
79039         Use git_modules_config in one more place.  This make bootstrap's
79040         --gnulib-srcdir option more useful for testing.
79042         bootstrap: generalize autoheader check
79043         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
79044         AC_CONFIG_HEADERS.
79046 2009-11-11  Eric Blake  <ebb9@byu.net>
79048         mkfifoat: use new modules for Solaris and BSD bugs
79049         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
79050         * lib/mkfifoat.c (mknodat): Split...
79051         * lib/mknodat.c (mknodat): ...into new file.
79052         * modules/mkfifoat (Files): Ship new file.
79053         (Depends-on): Add mkfifo, mknod.
79054         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
79055         (Depends-on): Add symlink.
79056         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
79057         redundant with test_mkfifo.h.
79058         (do_mkfifoat, do_mknodat): New helpers.
79060         mknod: new module
79061         * modules/mknod: New file.
79062         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
79063         * lib/mknod.c (mknod): Likewise.
79064         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
79065         defaults.
79066         * modules/sys_stat (Makefile.am): Substitute them.
79067         * lib/sys_stat.in.h (mknod): Declare replacement.
79068         * MODULES.html.sh (Support for systems lacking POSIX:2008):
79069         Document it.
79070         * doc/posix-functions/mknod.texi (mknod): Likewise.
79071         * modules/mknod-tests: New test.
79072         * tests/test-mknod.c: Likewise.
79074         mkfifo: new module
79075         * modules/mkfifo: New file.
79076         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
79077         * lib/mkfifo.c (mkfifo): Likewise.
79078         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
79079         defaults.
79080         * modules/sys_stat (Makefile.am): Substitute them.
79081         * lib/sys_stat.in.h (mkfifo): Declare replacement.
79082         * MODULES.html.sh (Support for systems lacking POSIX:2008):
79083         Document it.
79084         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
79085         * modules/mkfifo-tests: New test.
79086         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
79087         from test-mkfifoat.c.
79088         * tests/test-mkfifo.c: New file.
79090         readlink: detect FreeBSD bug
79091         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
79092         slash on symlink.
79093         * doc/posix-functions/readlink.texi (readlink): Document the bug.
79094         * tests/test-readlink.h (test_readlink): Enhance test.
79096         symlink: detect FreeBSD bug
79097         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
79098         slash on symlink.
79099         * doc/posix-functions/symlink.texi (symlink): Document the bug.
79100         * tests/test-symlink.h (test_symlink): Enhance test.
79102 2009-11-10  Eric Blake  <ebb9@byu.net>
79104         link: detect FreeBSD bug
79105         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
79106         symlink.
79107         * doc/posix-functions/link.texi (link): Document the bug.
79108         * tests/test-link.h (test_link): Enhance test.
79109         * tests/test-linkat.c (main): Update caller.
79111         unlink, remove: detect FreeBSD bug
79112         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
79113         slash on symlink.
79114         * doc/posix-functions/unlink.texi (unlink): Document the bug.
79115         * doc/posix-functions/remove.texi (remove): Likewise.
79116         * tests/test-unlink.h (test_unlink): Enhance test.
79117         * tests/test-remove.c (main): Likewise.
79119 2009-11-09  Eric Blake  <ebb9@byu.net>
79121         rename: detect FreeBSD bug
79122         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
79123         slash on symlink.
79124         * modules/renameat-tests (Depends-on): Add filenamecat.
79125         * tests/test-rename.h (test_rename): Allow one more errno.
79126         * tests/test-renameat.c (main): Likewise.
79127         * doc/posix-functions/rename.texi (rename): Document the bug.
79129         open: detect FreeBSD bug
79130         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
79131         symlink.
79132         * doc/posix-functions/open.texi (open): Document the bug.
79133         * doc/posix-functions/utimes.texi (utimes): Likewise.
79134         * tests/test-open.h (test_open): Add parameters, and test symlink
79135         handling.
79136         * tests/test-open.c (main): Adjust caller.
79137         * tests/test-fcntl-safer.c (main): Likewise.
79138         * modules/open-tests (Depends-on): Add stdbool, symlink.
79139         * modules/fcntl-safer-tests (Depends-on): Likewise.
79140         * tests/test-openat.c (main): Add test-open tests.
79142         stat: detect FreeBSD bug
79143         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
79144         symlink.
79145         * doc/posix-functions/stat.texi (stat): Document the bug.
79146         * tests/test-stat.h (test_stat_func): Add argument.
79147         * tests/test-stat.c (main): Adjust caller.
79148         * tests/test-fstatat.c (main): Likewise.
79149         * modules/stat-tests (Depends-on): Add stdbool, symlink.
79150         Reported by Jim Meyering.
79152 2009-11-09  James Youngman  <jay@gnu.org>
79154         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
79155         * lib/strftime.c: Correct placement of #include "ignore-value.h".
79157 2009-11-08  Jim Meyering  <meyering@redhat.com>
79159         utimens: remove invalid futimesat call
79160         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
79161         It used the file descriptor of the target file as the DIR_FD
79162         parameter and NULL as the file name.  That caused failure with
79163         errno == EFAULT on FreeBSD-8.0-rc2
79165 2009-11-07  Eric Blake  <ebb9@byu.net>
79167         fflush, freadseek: use fseeko, not fseek
79168         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
79169         (clear_ungetc_buffer): Avoid potential problems on large files.
79170         * lib/freadseek.c (freadseek): Likewise.
79171         * modules/freadseek (Depends-on): Add fseeko.
79172         * modules/fseek (configure.ac): Set a witness.
79173         * tests/test-fflush.c (main): Use fseeko.
79174         * tests/test-fpurge.c (fseek): Disable link warning.
79175         * tests/test-freadable.c (fseek): Likewise.
79176         * tests/test-freading.c (fseek): Likewise.
79177         * tests/test-fseeko.c (fseek): Likewise.
79178         * tests/test-ftell.c (fseek): Likewise.
79179         * tests/test-ftello.c (fseek): Likewise.
79180         * tests/test-fwritable.c (fseek): Likewise.
79181         * tests/test-fwriting.c (fseek): Likewise.
79183 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79185         * modules/memchr (Depends-on): Drop getpagesize dependency.
79187 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79189         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
79190         Reported by Ludovic Courtès.
79191         * build-aux/pmccabe2html: Improve example usage.
79192         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
79194 2009-11-06  Jim Meyering  <meyering@redhat.com>
79196         do-release-commit-and-tag: New module.
79197         Automate the release-commit and tag process.
79198         * build-aux/do-release-commit-and-tag: New script, from coreutils.
79199         * modules/do-release-commit-and-tag: New file.
79200         * MODULES.html.sh (Support for maintaining and releasing): Add it.
79202 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79204         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
79205         because test-select.c uses inet_pton.
79207 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79209         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
79210         GETADDRINFO_LIB.  Bump serial number.
79211         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
79212         Suggested by Eric Blake <ebb9@byu.net>.
79214 2009-11-05  Eric Blake  <ebb9@byu.net>
79216         strtod: detect darwin bug
79217         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
79218         Reported by Leo Davis.
79220         freopen-safer: new module
79221         * modules/freopen-safer: New module.
79222         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
79223         * lib/freopen-safer.c (freopen_safer): New file.
79224         * lib/stdio-safer.h (freopen_safer): New declaration.
79225         * lib/stdio--.h (freopen): New override.
79226         * MODULES.html.sh (File stream based Input/Output): Mention it.
79227         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
79228         freopen-safer module.
79229         * doc/posix-functions/stderr.texi (stderr): Likewise.
79230         * doc/posix-functions/stdin.texi (stdin): Likewise.
79231         * doc/posix-functions/stdout.texi (stdout): Likewise.
79232         * modules/freopen-safer-tests: New test.
79233         * tests/test-reopen-safer.c: New file.
79235 2009-11-05  Jim Meyering  <meyering@redhat.com>
79237         maint.mk: Prohibit inclusion of "close-stream.h" without use.
79238         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
79240 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79242         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
79244 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79246         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
79248 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79250         Fix link error.
79251         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
79252         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
79254 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79256         * tests/test-func.c: Also test value of __func__.
79258 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79260         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
79261         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
79263 2009-11-05  Bruno Haible  <bruno@clisp.org>
79265         Fix link error.
79266         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
79267         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
79268         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
79270 2009-11-05  Bruno Haible  <bruno@clisp.org>
79272         Tests for module 'inet_pton'.
79273         * modules/inet_pton-tests: New file.
79274         * tests/test-inet_pton.c: New file.
79276 2009-11-05  Bruno Haible  <bruno@clisp.org>
79278         Tests for module 'inet_ntop'.
79279         * modules/inet_ntop-tests: New file.
79280         * tests/test-inet_ntop.c: New file.
79282 2009-11-04  Eric Blake  <ebb9@byu.net>
79284         stdlib-safer: wrap all mkstemp variants
79285         * modules/mkostemp (configure.ac): Set witness.
79286         * modules/mkostemps (configure.ac): Likewise.
79287         * modules/mkstemps (configure.ac): Likewise.
79288         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
79289         (mkstemps_safer): Wrap more functions.
79290         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
79291         wrapping.
79292         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
79293         (mkstemps_safer): Implement the wrappers.
79295         mkstemps, mkostemps: new modules
79296         * modules/mkostemps: New module.
79297         * modules/mkstemps: Likewise.
79298         * lib/mkostemps.c (mkostemps): New file.
79299         * lib/mkstemps.c (mkstemps): Likewise.
79300         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
79301         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
79302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
79303         * modules/stdlib (Makefile.am): Substitute them.
79304         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
79305         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
79306         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
79307         * doc/gnulib.texi (Glibc stdlib.h): Include them.
79308         * MODULES.html.sh (File system functions): Mention them.
79310         tempname: resync from glibc
79311         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
79312         same values for __GT_FILE as glibc.  Abort even when assertions
79313         are disabled.
79314         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
79315         match its value otherwise.  Allow idempotent inclusion.
79316         * lib/mkdtemp.c (mkdtemp): Adjust caller.
79317         * lib/mkostemp.c (mkostemp): Likewise.
79318         * lib/mkstemp.c (mkstemp): Likewise.
79319         * lib/tmpfile.c (tmpfile): Likewise.
79320         * NEWS: Document this.
79322         utimens: fix use of futimens on older Linux
79323         * lib/utimens.c (fdutimens): Use updated, rather than original,
79324         timespec to avoid bug in older Linux kernel.
79325         Reported by Simon Josefsson.
79327 2009-11-04  Bruno Haible  <bruno@clisp.org>
79329         Make num_processors more flexible and consistent.
79330         * lib/nproc.h (enum nproc_query): New type.
79331         (num_processors): Add a 'query' argument.
79332         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
79333         (num_processors): Add a 'query' argument. Test the value of the
79334         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
79335         mingw, count the number of CPUs available for the current process.
79336         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
79337         Check for sched_getaffinity and sched_getaffinity_np.
79338         * modules/nproc (Depends-on): Add c-ctype, extensions.
79339         * NEWS: Mention the change.
79341 2009-11-03  Bruno Haible  <bruno@clisp.org>
79343         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
79345 2009-11-03  Jim Meyering  <meyering@redhat.com>
79347         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
79348         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
79349         if it is defined.
79351 2009-11-02  Eric Blake  <ebb9@byu.net>
79353         mktime, timegm: share common declaration
79354         * lib/mktime-internal.h: New file.
79355         * lib/mktime.c: Use it rather than open-coding a declaration.
79356         * lib/timegm.c: Likewise.
79357         * modules/mktime (Files): Ship it.
79358         * modules/timegm (Files): Likewise.
79359         Suggested by Bruno Haible.
79361         test-update-copyright: update test to match script changes
79362         * tests/test-update-copyright.sh: Avoid hard-coding perl
79363         location.  Don't update *.bak created by earlier runs.
79365 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79366             Simon Josefsson  <simon@josefsson.org>
79367             Bruno Haible  <bruno@clisp.org>
79369         Fix link error on Solaris 8.
79370         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
79371         also in libnsl. Define also INET_PTON_LIB.
79372         * modules/inet_pton (Link): New section.
79374 2009-11-02  Simon Josefsson  <simon@josefsson.org>
79375             Bruno Haible  <bruno@clisp.org>
79377         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
79378         * modules/inet_ntop (Link): New section.
79379         Reported by Boyan Kasarov <bkasarov@gmail.com>.
79381 2009-11-02  Eric Blake  <ebb9@byu.net>
79383         maint: avoid compiler warnings in m4 macros
79384         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
79385         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
79387 2009-11-02  Simon Josefsson  <simon@josefsson.org>
79389         * m4/pmccabe2html.m4: Remove file.
79390         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
79391         function.  Change maintainer.
79392         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
79393         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
79394         Courtès).
79396 2009-10-31  Eric Blake  <ebb9@byu.net>
79398         fseeko: fix m4 regression
79399         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
79400         regression from 2009-10-27.
79401         Reported by Ralf Wildenhues.
79403 2009-10-31  Jim Meyering  <meyering@redhat.com>
79405         inttostr: aesthetics and improved (compile-time) safety
79406         Define inttype_is_signed rather than inttype_is_unsigned,
79407         since the sole use is via "#if inttype_is_signed".
79408         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
79409         inttype_is_unsigned.
79410         * lib/offtostr.c (inttype_is_signed): Likewise.
79411         * lib/uinttostr.c (inttype_is_signed): Likewise.
79412         * lib/umaxtostr.c (inttype_is_signed): Likewise.
79413         * lib/inttostr.c (inttostr): Use verify to cross-check the
79414         inttype_is_signed value and the signedness of the actual type.
79415         * modules/inttostr (Depends-on): Add verify.
79417 2009-10-30  Eric Blake  <ebb9@byu.net>
79419         build: avoid compiler warnings
79420         * lib/fchmodat.c (lchmod): Mark unused variables.
79421         * lib/getopt.c (_getopt_initialize): Likewise.
79422         * lib/mktime.c (__mktime_internal): Provide prototype.
79423         * lib/inttostr.c (inttostr): Avoid compiler warning even with
79424         older gcc that do not understand #pragma GCC diagnostic.
79425         * lib/uinttostr.c (inttype_is_unsigned): Define.
79426         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
79428 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
79430         stat: fix compilation on AIX
79431         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
79432         only see struct stat64.
79434 2009-10-30  Eric Blake  <ebb9@byu.net>
79436         exclude: make more robust
79437         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
79438         rather than masking a coding bug.
79439         Suggested by Bruno Haible.
79441 2009-10-30  Jim Meyering  <meyering@redhat.com>
79443         perl scripts: remove #!/usr/bin/perl in favor of more portable...
79444         Rather than putting #!/usr/bin/perl on the first line,
79445         start with a variant of what's recommended by "man perlrun" that
79446         invokes the first "perl" program from your shell's search path.
79447         * build-aux/gitlog-to-changelog: Replace #!... as above.
79448         Add a "Local Variables" perl mode setting.
79449         Prompted by a patch from Ludovic Courtès.
79450         Improved by Eric Blake.
79451         * build-aux/useless-if-before-free: Likewise.
79452         * build-aux/announce-gen: Likewise.
79453         * build-aux/update-copyright: Likewise.
79455 2009-10-29  Eric Blake  <ebb9@byu.net>
79457         filenamecat-lgpl: adjust clients
79458         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
79459         filenamecat.
79460         * modules/renameat (Depends-on): Likewise.
79462         filenamecat: split into filenamecat-lgpl
79463         * modules/filenamecat-lgpl: New module.
79464         * modules/filenamecat (Files): Move library-safe files into
79465         filenamecat-lgpl.
79466         (Depends-on): Add filenamecat-lgpl.
79467         (configure.ac): Declare witness.
79468         * lib/filenamecat.h (file_name_concat): Only declare when using
79469         GPL module.
79470         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
79471         Move...
79472         * lib/filenamecat-lgpl.c: ...into new file.
79473         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
79474         (gl_FILE_NAME_CONCAT): Use it.
79475         * MODULES.html.sh (File system functions): Mention new module.
79477         argp: avoid memory leak
79478         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
79479         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
79480         base_name, since the latter malloc()s and can call exit().
79481         Leak introduced 2006-07-03.
79483         dirname-lgpl: adjust clients that don't need full dirname
79484         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
79485         * modules/filenamecat (Depends-on): Likewise.
79486         * modules/linkat (Depends-on): Likewise.
79487         * modules/mkancesdirs (Depends-on): Likewise.
79488         * modules/mkdir (Depends-on): Likewise.
79489         * modules/openat (Depends-on): Likewise.
79490         * modules/savewd (Depends-on): Likewise.
79491         * modules/rename (Depends-on): Likewise.
79492         (License): Relax license.
79493         * modules/mkdir-tests (Depends-on): Drop progname.
79494         (Makefile.am): Delete unneeded LDADD.
79495         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
79497         dirname: split into dirname-lgpl
79498         * modules/dirname-lgpl: New module.
79499         * modules/dirname (Files): Move library-safe files into
79500         dirname-lgpl.
79501         (Depends-on): Add dirname-lgpl.
79502         (configure.ac): Declare witness.
79503         * modules/double-slash-root (License): Relax license.
79504         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
79505         module.
79506         * lib/dirname.c (dir_len, mdir_name): Move...
79507         * lib/dirname-lgpl.c: ...into new file.
79508         * lib/basename.c (last_component, base_len): Move...
79509         * lib/basename-lgpl.c: ...into new file.
79510         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
79511         (gl_DIRNAME): Use it.
79512         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
79513         Mention new module.
79514         * modules/dirname-tests (Depends-on): Add progname.
79515         * tests/test-dirname.c (program_name): Delete.
79517         mkdir: make safe for libraries
79518         * modules/mkdir (Depends-on): Drop xalloc.
79519         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
79520         exit.
79522         tests: avoid some compiler warnings
79523         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
79524         literals.
79525         * tests/test-memchr.c (main): Avoid type mismatch.
79526         * tests/test-arpa_inet.c (main): Avoid unused parameters.
79527         * tests/test-base64.c (main): Likewise.
79528         * tests/test-getdelim.c (main): Likewise.
79529         * tests/test-gethostname.c (main): Likewise.
79530         * tests/test-getline.c (main): Likewise.
79531         * tests/test-netinet_in.c (main): Likewise.
79532         * tests/test-select.c (open_server_socket, main): Likewise.
79533         * tests/test-select-stdin.c (main): Likewise.
79534         * tests/test-sockets.c (main): Likewise.
79535         * tests/test-strsignal.c (main): Likewise.
79536         * tests/test-sys_select.c (main): Likewise.
79537         * tests/test-sys_socket.c (main): Likewise.
79538         * tests/test-u64.c (main): Likewise.
79539         * tests/test-xfprintf-posix.c (main): Likewise.
79540         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
79542         sockets: avoid compiler warning
79543         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
79545         maint: detect usage(1) and other suspicious exits
79546         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
79548 2009-10-29  Jim Meyering  <meyering@redhat.com>
79550         timespec: long-to-int truncation could make timespec_cmp malfunction
79551         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
79552         a multiple of 2^32 nanoseconds as no difference.
79554 2009-10-28  Jim Meyering  <meyering@redhat.com>
79556         fprintftime: wrap macro code argument in "do {...} while(0)"
79557         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
79558         cpy macro must be a statement that can be followed by a semicolon.
79559         Now that the else clause contains a comment and is hence longer
79560         than one line, I require curly braces.  That in turn requires
79561         that we wrap this code block in the standard do...while(0).
79563         fprintftime: remove stray semicolon from previous change
79564         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
79566         fprintftime: avoid a warning about ignored fwrite return value
79567         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
79568         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
79569         that is unsafe.
79570         * modules/fprintftime (Depends-on): Add ignore-value.
79572         exclude: avoid an unwarranted warning
79573         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
79575 2009-10-27  Eric Blake  <ebb9@byu.net>
79577         fseek: avoid compilation failure when fflush is replaced
79578         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
79579         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
79580         module is in use.
79581         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
79582         module is not in use; since REPLACE_FSEEK worked otherwise.
79583         (GNULIB_FTELLO): Likewise for ftell.
79584         Reported by Ian Beckwith and others.
79586 2009-10-27  Bruno Haible  <bruno@clisp.org>
79588         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
79589         Reported by Jim Meyering.
79591 2009-10-27  Jim Meyering  <jim@meyering.net>
79592             Bruno Haible  <bruno@clisp.org>
79594         Avoid warning despite dropping the return value of fwrite.
79595         * lib/unicodeio.c: Include ignore-value.h.
79596         (fwrite_success_callback): Explicitly ignore fwrite's return value.
79597         * modules/unicodeio (Depends-on): Add ignore-value.
79599 2009-10-26  Eric Blake  <ebb9@byu.net>
79601         areadlinkat: fix fallback path
79602         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
79603         pointer and zero.
79605 2009-10-22  Pádraig Brady  <P@draigBrady.com>
79607         Use a better IO block size for modern systems
79608         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
79609         * lib/md2.c: Likewise.
79610         * lib/md4.c: Likewise.
79611         * lib/md5.c: Likewise.
79612         * lib/sha1.c: Likewise.
79613         * lib/sha256.c: Likewise.
79614         * lib/sha512.c: Likewise.
79616 2009-10-22  Eric Blake  <ebb9@byu.net>
79618         tests: avoid several compiler warnings
79619         * tests/test-getcwd.c (main): Avoid buffer underflow.
79620         * tests/test-getdate.c (main): String literals are not safe with
79621         putenv, so use setenv.  Declare unused argument.
79622         * modules/getdate-tests (Depends-on): Add setenv.
79623         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
79624         problems with string literals in char *.
79625         * tests/test-hash.c (main): Avoid shadowing declaration.
79626         (insert_new): Treat string literals as char const *.
79627         * tests/test-getopt.h (test_getopt): Likewise.
79628         (getopt_loop): Alter types to minimize casting elsewhere.
79629         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
79630         (test_getopt_long_posix): Likewise.
79631         (do_getopt_long): Add wrapper to minimize casting.
79632         * tests/test-atexit.c (clear_temp_file): Use void.
79633         * tests/test-areadlink-with-size.c (main): Declare unused
79634         arguments.
79635         * tests/test-areadlink.c (main): Likewise.
79636         * tests/test-areadlinkat-with-size.c (main): Likewise.
79637         * tests/test-areadlinkat.c (main): Likewise.
79638         * tests/test-canonicalize-lgpl.c (main): Likewise.
79639         * tests/test-canonicalize.c (main): Likewise.
79640         * tests/test-dirent-safer.c (main): Likewise.
79641         * tests/test-dirname.c (main): Likewise.
79642         * tests/test-dup2.c (main): Likewise.
79643         * tests/test-fchdir.c (main): Likewise.
79644         * tests/test-fcntl-h.c (main): Likewise.
79645         * tests/test-fcntl-safer.c (main): Likewise.
79646         * tests/test-fdopendir.c (main): Likewise.
79647         * tests/test-fdutimensat.c (main): Likewise.
79648         * tests/test-fflush.c (main): Likewise.
79649         * tests/test-filenamecat.c (main): Likewise.
79650         * tests/test-filevercmp.c (main): Likewise.
79651         * tests/test-fopen-safer.c (main): Likewise.
79652         * tests/test-fopen.c (main): Likewise.
79653         * tests/test-fpending.c (main): Likewise.
79654         * tests/test-fpurge.c (main): Likewise.
79655         * tests/test-freading.c (main): Likewise.
79656         * tests/test-fstatat.c (main): Likewise.
79657         * tests/test-fsync.c (main): Likewise.
79658         * tests/test-futimens.c (main): Likewise.
79659         * tests/test-getndelim2.c (main): Likewise.
79660         * tests/test-gettimeofday.c (main): Likewise.
79661         * tests/test-getopt.c (main): Likewise.
79662         * tests/test-i-ring.c (main): Likewise.
79663         * tests/test-inttypes.c (main): Likewise.
79664         * tests/test-link.c (main): Likewise.
79665         * tests/test-lstat.c (main): Likewise.
79666         * tests/test-math.c (main): Likewise.
79667         * tests/test-md5.c (main): Likewise.
79668         * tests/test-memchr2.c (main): Likewise.
79669         * tests/test-memrchr.c (main): Likewise.
79670         * tests/test-mkdir.c (main): Likewise.
79671         * tests/test-mkdirat.c (main): Likewise.
79672         * tests/test-mkfifoat.c (main): Likewise.
79673         * tests/test-open.c (main): Likewise.
79674         * tests/test-openat-safer.c (main): Likewise.
79675         * tests/test-openat.c (main): Likewise.
79676         * tests/test-quotearg.c (main): Likewise.
79677         * tests/test-rawmemchr.c (main): Likewise.
79678         * tests/test-readlink.c (main): Likewise.
79679         * tests/test-remove.c (main): Likewise.
79680         * tests/test-rename.c (main): Likewise.
79681         * tests/test-renameat.c (main): Likewise.
79682         * tests/test-rmdir.c (main): Likewise.
79683         * tests/test-sha1.c (main): Likewise.
79684         * tests/test-signal.c (main): Likewise.
79685         * tests/test-sigaction.c (main): Likewise.
79686         * tests/test-stat.c (main): Likewise.
79687         * tests/test-stat-time.c (main): Likewise.
79688         * tests/test-stddef.c (main): Likewise.
79689         * tests/test-stdint.c (main): Likewise.
79690         * tests/test-stdio.c (main): Likewise.
79691         * tests/test-stdlib.c (main): Likewise.
79692         * tests/test-strchrnul.c (main): Likewise.
79693         * tests/test-strerror.c (main): Likewise.
79694         * tests/test-string.c (main): Likewise.
79695         * tests/test-strtod.c (main): Likewise.
79696         * tests/test-strverscmp.c (main): Likewise.
79697         * tests/test-symlink.c (main): Likewise.
79698         * tests/test-symlinkat.c (main): Likewise.
79699         * tests/test-sys_stat.c (main): Likewise.
79700         * tests/test-sys_time.c (main): Likewise.
79701         * tests/test-time.c (main): Likewise.
79702         * tests/test-unistd.c (main): Likewise.
79703         * tests/test-unlink.c (main): Likewise.
79704         * tests/test-unlinkat.c (main): Likewise.
79705         * tests/test-utimens.c (main): Likewise.
79706         * tests/test-utimensat.c (main): Likewise.
79707         * tests/test-version-etc.c (main): Likewise.
79708         * tests/test-wchar.c (main): Likewise.
79709         * tests/test-wctype.c (main): Likewise.
79710         * tests/test-xprintf-posix.c (main): Likewise.
79711         * tests/test-posixtm.c (main): Likewise.
79712         (STREQ): Delete unused macro.
79713         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
79714         shadowed variables.
79715         * tests/test-memchr.c (main): Likewise.
79717 2009-10-21  Eric Blake  <ebb9@byu.net>
79719         areadlinkat: avoid failure on older glibc
79720         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
79721         rather than mis-comparing 0 against FUNC_RESULT of char*.
79723 2009-10-21  Bruno Haible  <bruno@clisp.org>
79725         * modules/stpncpy (License): Relicense under LGPLv2+.
79726         Reported by David Lutterkort <lutter@redhat.com>.
79728 2009-10-20  Eric Blake  <ebb9@byu.net>
79730         utimensat: work around Solaris 9 bug
79731         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
79732         has trailing slash bugs.
79733         * tests/test-lutimens.h (test_lutimens): Enhance test.
79734         * tests/test-utimens.h (test_utimens): Likewise.
79735         * doc/posix-functions/utime.texi (utime): Enhance documentation.
79736         * doc/posix-functions/utimes.texi (utimes): Likewise.
79737         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79738         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
79739         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
79740         * doc/posix-functions/futimens.texi (futimens): Likewise.
79742         fdutimensat: new module
79743         * modules/fdutimensat: New file.
79744         * lib/fdutimensat.c (fdutimensat): Likewise.
79745         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
79746         * MODULES.html.sh (File system functions): Mention module.
79747         * modules/fdutimensat-tests: New test.
79748         * tests/test-fdutimensat.c: Likewise.
79750         doc: regenerate INSTALL
79751         * doc/INSTALL: Reflect recent autoconf update.
79752         * doc/INSTALL.ISO: Likewise.
79753         * doc/INSTALL.UTF-8: Likewise.
79755 2009-10-20  Pádraig Brady  <P@draigBrady.com>
79757         acl: warn if ACL support is not detected
79758         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
79760 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
79762         * lib/nproc.h: Add extern "C" block for C++.
79764 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
79765             Bruno Haible  <bruno@clisp.org>
79767         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
79768         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
79769         * doc/posix-functions/isalpha.texi: Likewise.
79770         * doc/posix-functions/isblank.texi: Likewise.
79771         * doc/posix-functions/iscntrl.texi: Likewise.
79772         * doc/posix-functions/isdigit.texi: Likewise.
79773         * doc/posix-functions/isgraph.texi: Likewise.
79774         * doc/posix-functions/islower.texi: Likewise.
79775         * doc/posix-functions/isprint.texi: Likewise.
79776         * doc/posix-functions/ispunct.texi: Likewise.
79777         * doc/posix-functions/isspace.texi: Likewise.
79778         * doc/posix-functions/isupper.texi: Likewise.
79779         * doc/posix-functions/isxdigit.texi: Likewise.
79781 2009-10-18  Bruno Haible  <bruno@clisp.org>
79783         Tests for module 'isblank'.
79784         * modules/isblank-tests: New file.
79785         * tests/test-isblank.c: New file.
79787         New module 'isblank'.
79788         * lib/isblank.c: New file.
79789         * m4/isblank.m4: New file.
79790         * modules/isblank: New file.
79791         * doc/posix-functions/isblank.texi: Mention the new module.
79793 2009-10-18  Bruno Haible  <bruno@clisp.org>
79795         New module 'ctype'.
79796         * lib/ctype.in.h: New file.
79797         * m4/ctype.m4: New file.
79798         * modules/ctype: New file.
79799         * doc/posix-headers/ctype.texi: Mention the new module.
79801 2009-10-18  Jim Meyering  <meyering@redhat.com>
79803         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
79804         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
79805         right after its initialization, rather than farther down.
79806         Keeping these in close proximity makes it easier to ensure
79807         that each such variable is initialized.  E.g.,
79809             LIB_CLOCK_GETTIME=
79810             AC_SUBST([LIB_CLOCK_GETTIME])
79812         This change also increments these serial numbers.
79813         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
79814         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79815         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79817 2009-10-18  Bruno Haible  <bruno@clisp.org>
79819         Don't let environment variables perturb build.
79820         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
79821         (gl_PREREQ_GETHRXTIME): ... not here.
79823 2009-10-18  Bruno Haible  <bruno@clisp.org>
79825         Avoid symlink attack in localcharset module.
79826         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
79827         (O_NOFOLLOW): Define fallback.
79828         (get_charset_aliases): Don't open the file if it is a symbolic link.
79829         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
79830         gl_FCNTL_H.
79831         (gl_FCNTL_H): Require it.
79832         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
79833         * modules/localcharset (Files): Add m4/fcntl_h.m4.
79834         Reported by Fergal Glynn <fglynn@veracode.com>.
79836 2009-10-18  Bruno Haible  <bruno@clisp.org>
79838         Implement nproc for mingw.
79839         * lib/nproc.c: Include <windows.h>
79840         (num_processors): On native Windows platforms, try GetSystemInfo.
79842 2009-10-18  Bruno Haible  <bruno@clisp.org>
79844         Implement nproc for IRIX.
79845         * lib/nproc.c: Include <sys/sysmp.h>.
79846         (num_processors): On IRIX systems, try sysmp.
79847         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
79849 2009-10-18  Bruno Haible  <bruno@clisp.org>
79851         Implement nproc for HP-UX.
79852         * lib/nproc.c: Include <sys/pstat.h>
79853         (num_processors): On HP-UX systems, try pstat_getdynamic.
79854         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
79855         pstat_getdynamic.
79857 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
79858             Bruno Haible  <bruno@clisp.org>
79860         Implement nproc for NetBSD, OpenBSD.
79861         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
79862         (ARRAY_SIZE): New macro.
79863         (num_processors): On BSD systems, try sysctl of HW_NCPU.
79864         * m4/nproc.m4: New file.
79865         * modules/nproc (Files): Add m4/nproc.m4.
79866         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
79867         (Makefile.am): Instead, augment lib_SOURCES.
79869 2009-10-18  Bruno Haible  <bruno@clisp.org>
79871         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
79872         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
79873         sys/param.h.
79875 2009-10-16  Eric Blake  <ebb9@byu.net>
79877         utimensat: new module
79878         * modules/utimensat: New file.
79879         * lib/utimensat.c (utimensat): Likewise.
79880         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
79881         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
79882         so we can work around Linux bugs.
79883         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79884         * modules/sys_stat (Makefile.am): Substitute them.
79885         * lib/sys_stat.in.h (utimensat): Declare it.
79886         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79887         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79888         * modules/utimensat-tests: New test.
79889         * tests/test-utimensat.c: Likewise.
79891         utimens: let lutimens work on non-symlinks
79892         * lib/utimens.c (lutimens): Fall back to utimens rather than
79893         failing with ENOSYS, when file is not a symlink.
79894         (utimens): Reduce redirection.
79895         * tests/test-lutimens.h (test_lutimens): Update test to cover
79896         non-symlinks.
79897         * tests/test-utimens.h (test_utimens): Update test to cover
79898         symlinks.
79899         * tests/test-utimens.c (main): Update caller.
79901         utimens: cache whether utimensat syscall works
79902         * lib/utimens.c (utimensat_works_really): New cache variable.
79903         (fdutimens, lutimens): Use it to avoid failing syscall.
79905         test-stat-time, test-utimens: improve portability
79906         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
79907         ext4 on alpha, and for cygwin.
79908         * tests/test-utimens-common.h: New file.
79909         (nap): Factor delays into single function.
79910         * tests/test-lutimens.h (test_lutimens): Use new header.
79911         * tests/test-futimens.h (test_futimens): Likewise.
79912         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
79913         timestamps to occur from same machine, as was done previously for
79914         test_utimens.
79915         * modules/utimens-tests (Files): Ship new file.
79916         * modules/futimens-tests (Files): Likewise.
79917         Reported in part by Jim Meyering.
79919         sys_stat: sort replacement declarations
79920         * lib/sys_stat.in.h: Sort declarations.
79921         * lib/futimens.c (futimens): Fix typo.
79923 2009-10-15  Jim Meyering  <meyering@redhat.com>
79925         don't let environment settings perturb build
79926         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
79927         could cause a configure-time and/or build-time malfunction.
79928         Typically, a configure-time function-in-library test is performed
79929         via code like this:
79931           LIB_VAR=
79932           AC_SUBST([LIB_VAR])
79933           prefix_saved_LIBS=$LIBS
79934             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
79935                        [test "$ac_cv_search_FUNC" = "none required" ||
79936                         LIB_VAR=$ac_cv_search_FUNC])
79937           LIBS=$prefix_saved_LIBS
79939         However, in each of the files affected by this change, the LIB_VAR=
79940         initialization was omitted.  Thus, when set in the environment, its
79941         value would propagate into generated Makefiles when FUNC is not found
79942         in LIB_NAME.
79943         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
79944         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79945         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79947 2009-10-14  Eric Blake  <ebb9@byu.net>
79949         fchdir: avoid infinite recursion in mingw
79950         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
79951         recursing.
79953         test-stat-time: port to mingw
79954         * tests/test-stat-time.c (force_unlink): Return a value.
79955         (test_ctime) [W32]: Fix compilation error.
79956         (nap): Don't call usleep with too large an argument.  Use
79957         force_unlink.
79958         * doc/pastposix-functions/usleep.texi (usleep): Document the
79959         portability issue.
79961 2009-10-13  Jim Meyering  <meyering@redhat.com>
79963         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
79964         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
79965         * modules/pipe-filter-ii: Likewise.
79966         * modules/sys_socket-tests: Likewise.
79967         * modules/tsearch-tests: Likewise.
79968         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
79969         (check): Depend on it.
79971 2009-10-12  Eric Blake  <ebb9@byu.net>
79973         utimens-tests: port to NFS file systems
79974         * tests/test-utimens.h (test_utimens): Refactor utimecmp
79975         comparisons to avoid spurious failures from timestamp drift
79976         between NFS machines.
79978 2009-10-12  Eric Blake  <ebb9@byu.net>
79980         stat-time-tests: minor cleanups
79981         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
79982         * tests/test-stat-time.c (nap): Separate assignment from call.
79983         Suggested by Paolo Bonzini and Bruno Haible.
79985         sys_stat: guarantee struct timespec
79986         * lib/sys_stat.in.h (includes): Always include <time.h>
79987         * modules/sys_stat (Depends-on): Add time.
79988         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
79989         mode_t permission values.
79990         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
79991         get at subsecond timestamps.
79993 2009-10-10  Eric Blake  <ebb9@byu.net>
79995         futimens: new module
79996         * modules/futimens: New file.
79997         * lib/futimens.c (futimens): Likewise.
79998         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
79999         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
80000         we can work around Linux bugs.
80001         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80002         * modules/sys_stat (Makefile.am): Substitute them.
80003         * lib/sys_stat.in.h (futimens): Declare it.
80004         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80005         * doc/posix-functions/futimens.texi (futimens): Likewise.
80006         * modules/futimens-tests: New test.
80007         * tests/test-futimens.c: Likewise.
80009         utimens: introduce fdutimens
80010         * lib/utimens.h (fdutimens): New prototype.
80011         * lib/utimens.c (gl_futimens): Move guts...
80012         (fdutimens): ...to new interface.
80013         * tests/test-utimens.c (do_fdutimens): Use it.
80015         utimens: add UTIME_NOW and UTIME_OMIT support
80016         * lib/utimens.c (validate_timespec, update_timespec): New helper
80017         functions.
80018         (gl_futimens, lutimens): Use them.
80019         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
80020         stdbool, sys_stat.
80021         (Link): Mention resulting library dependency.
80022         * modules/utimecmp (Link): Likewise.
80023         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
80024         (Makefile.am): Pick up library dependency.
80025         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
80026         definition.
80027         * tests/test-sys_stat.c: Test the definitions.
80028         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
80029         * NEWS: Document library dependency.
80031         utimecmp: support symlink timestamps
80032         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
80033         hashing when possible.  Use pathconf when available.
80034         (SYSCALL_RESOLUTION): Recognize tighter resolution.
80035         * modules/utimecmp (Depends-on): Add lstat.
80037         utimens: add lutimens interface
80038         * lib/utimens.c (lutimens): New function.
80039         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
80040         * lib/utimens.h (lutimens): Declare new interface.
80041         * tests/test-utimens.c (main): Enhance test.
80042         * tests/test-lutimens.h (test_lutimens): New file.
80043         * modules/utimens-tests (Files): Distribute it.
80044         (Depends-on): Add symlink.
80045         (configure.ac): Check for usleep.
80047         utimens: validate futimens usage
80048         * lib/utimens.c (gl_futimens): Require valid fd up front, using
80049         fewer syscalls on failure later on.  Avoid compiler warning on
80050         mingw.
80051         * modules/utimens (Depends-on): Add dup2.
80053         utimens: add test
80054         * modules/utimens-tests: New test.
80055         * tests/test-utimens.h: New file.
80056         * tests/test-futimens.h: Likewise.
80057         * tests/test-utimens.c: Likewise.
80059         doc: mention timestamp portability issues
80060         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
80061         instead.
80062         * doc/posix-functions/utime.texi (utime): Likewise.
80063         * doc/posix-functions/utimes.texi (utimes): Likewise.
80064         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
80065         instead.
80066         * doc/posix-functions/futimens.texi (futimens): Mention utimens
80067         module.
80068         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
80069         Mention weakness with symlink timestamps.
80070         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
80071         to utimensat/futimens instead.
80072         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
80074         test-dup2: enhance test
80075         * tests/test-dup2.c (main): Also check AT_FDCWD.
80077         test-stat-time: avoid more spurious failures
80078         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
80079         xfs; and avoid race if the two timestamps cross quantization edge.
80081         relocatable: prefer 'file system' over 'filesystem'
80082         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
80083         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
80084         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
80085         * doc/relocatable.texi (Enabling Relocatability): Likewise.
80086         * lib/relocatable.c (compute_curr_prefix): Likewise.
80088 2009-10-10  Jim Meyering  <meyering@redhat.com>
80090         stat-time-tests: check for the usleep function
80091         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
80093 2009-10-10  Bruno Haible  <bruno@clisp.org>
80095         * modules/xnanosleep: Put the Link section after the Include section.
80097 2009-10-09  Eric Blake  <ebb9@byu.net>
80099         dup2: work around FreeBSD 6.1 bug
80100         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
80101         * doc/posix-functions/dup2.texi (dup2): Document it.
80102         Reported by Nelson H. F. Beebe and Jim Meyering.
80104         test-stat-time: port to buggy NFS clients
80105         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
80106         (test_ctime): Also skip test if mtime and ctime are skewed.
80108         maint: prefer 'file system' over 'filesystem'
80109         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80110         * doc/posix-functions/lstat.texi (lstat): Likewise.
80111         * lib/file-has-acl.c (file_has_acl): Likewise.
80112         * lib/fwriteerror.c [TEST]: Likewise.
80113         * tests/test-areadlink.h (test_areadlink): Likewise.
80114         * tests/test-areadlinkat-with-size.c (main): Likewise.
80115         * tests/test-areadlinkat.c (main): Likewise.
80116         * tests/test-canonicalize-lgpl.c (main): Likewise.
80117         * tests/test-canonicalize.c (main): Likewise.
80118         * tests/test-fstatat.c (main): Likewise.
80119         * tests/test-linkat.c (main): Likewise.
80120         * tests/test-lstat.h (test_lstat_func): Likewise.
80121         * tests/test-mkdir.h (test_mkdir): Likewise.
80122         * tests/test-readlink.h (test_readlink): Likewise.
80123         * tests/test-remove.c (main): Likewise.
80124         * tests/test-rename.h (test_rename): Likewise.
80125         * tests/test-renameat.c (main): Likewise.
80126         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80127         * tests/test-symlink.h (test_symlink): Likewise.
80128         * tests/test-symlinkat.c (main): Likewise.
80129         * tests/test-unlink.h (test_unlink_func): Likewise.
80130         * tests/test-unlinkat.c (main): Likewise.
80132         maint: make realtime library usage explicit
80133         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
80134         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
80135         * modules/settime (Link): Likewise.
80136         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
80138         test-stat-time: speed up execution
80139         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
80140         warning on mingw.
80141         (nap): New helper function.
80142         (prepare_test): Use it to reduce sleep time.
80143         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
80144         execution.
80145         * modules/stat-time-tests (configure.ac): Check for usleep.
80147 2009-10-09  Jim Meyering  <meyering@redhat.com>
80149         selinux-h: always use getfilecon wrappers
80150         * lib/getfilecon.c: New file.
80151         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
80152         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
80153         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
80154         (fgetfilecon): Provide a stub.
80155         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
80156         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
80157         file unconditionally.
80158         When <selinux/selinux.h> is found, arrange to use wrappers.
80159         * modules/selinux-h (Files): Add getfilecon.c.
80160         (Makefile.am): Substitute include-next-related bits
80161         into the now-always-generated selinux/selinux.h file.
80162         * doc/glibc-functions/lgetfilecon.texi: New file.
80163         * doc/glibc-functions/fgetfilecon.texi: New file.
80164         * doc/glibc-functions/getfilecon.texi: New file.
80165         * doc/glibc-functions/getfilecon-desc.texi: New file.
80166         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
80167         which to pull in the new files.
80168         * MODULES.html.sh (Misc): Add selinux-h.
80170 2009-10-08  Jim Meyering  <meyering@redhat.com>
80172         unistd: fix comment typo
80173         * lib/unistd.in.h (euidaccess): Fix a comment typo.
80175 2009-10-08  Eric Blake  <ebb9@byu.net>
80177         areadlink: use SIZE_MAX consistently
80178         * modules/areadlink (Depends-on): Add stdint.
80179         * modules/areadlink-with-size (Depends-on): Likewise.
80180         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
80181         gives NULL; drop sys/types, since unistd gives size_t; and add
80182         stdint for SIZE_MAX.
80183         (SIZE_MAX): Rely on headers.
80184         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
80185         and add stdint.
80186         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
80187         (SIZE_MAX): Likewise.
80188         (INITIAL_BUF_SIZE): Turn into enum.
80189         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
80191 2009-10-08  Jim Meyering  <meyering@redhat.com>
80193         areadlinkat: avoid compilation failure
80194         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
80195         Fix typo in comment.
80197 2009-10-07  Eric Blake  <ebb9@byu.net>
80199         areadlinkat-with-size: new module
80200         * modules/areadlinkat-with-size: New module.
80201         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
80202         * lib/areadlink.h (areadlinkat): Declare it.
80203         * MODULES.html.sh (File system functions): Mention it.
80204         * modules/areadlinkat-with-size-tests: New test.
80205         * tests/test-areadlinkat-with-size.c: New file.
80207         xreadlinkat: new module
80208         * modules/xreadlinkat: New module.
80209         * lib/xreadlinkat.c (xreadlinkat): New file.
80210         * lib/xreadlink.h (xreadlinkat): Declare it.
80211         * MODULES.html.sh (File system functions): Mention it.
80213         areadlinkat: new module
80214         * lib/at-func.c (FUNC_FAIL): New define.
80215         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
80216         * modules/areadlinkat: New module.
80217         * lib/linkat.c (areadlinkat): Move...
80218         * lib/areadlinkat.c (areadlinkat): ...to new file.
80219         * lib/areadlink.h (areadlinkat): Declare it.
80220         * modules/linkat (Depends-on): Add areadlinkat.
80221         * MODULES.html.sh (File system functions): Mention it.
80222         * modules/areadlinkat-tests: New test.
80223         * tests/test-areadlinkat.c: New file.
80225         areadlink, areadlink-with-size: add tests
80226         * modules/areadlink-tests: New test.
80227         * modules/areadlink-with-size-tests: Likewise.
80228         * tests/test-areadlink.h: New file.
80229         * tests/test-areadlink.c: Likewise.
80230         * tests/test-areadlink-with-size.c: Likewise.
80232         maint: minor cleanups
80233         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
80234         _UNUSED_PARAMETER_ instead.
80235         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
80236         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
80237         * modules/linkat-tests (Files): Distribute test-link.h.
80239         openat, utimens: whitespace cleanup
80240         * lib/openat.c: Prefer space throughout, rather than mix of 8
80241         spaces vs. tabs.
80242         * lib/at-func.c: Likewise.
80243         * lib/utimens.c: Likewise.
80245         openat: avoid using wrong fd
80246         * lib/openat.c (openat_permissive): Reject user's fd if saving the
80247         working directory chooses same fd.
80248         * lib/at-func.c (AT_FUNC_NAME): Likewise.
80250         mkdir, mkdirat: fix cygwin 1.5.x bug
80251         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
80252         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
80253         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
80254         bug.
80255         (gl_PREREQ_MKDIR): Delete unused macro.
80256         * modules/mkdir (Files): Track file rename.
80257         (configure.ac): Update macro name.
80258         * modules/openat (Depends-on): Add mkdir.
80259         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
80261         mkdir, mkdirat: add tests
80262         * modules/mkdir-tests: New test.
80263         * tests/test-mkdir.h: New file.
80264         * tests/test-mkdir.c: Likewise.
80265         * tests/test-mkdirat.c: Likewise.
80266         * modules/openat-tests (Files): Add new files.
80267         (Makefile.am): Run new test.
80269 2009-10-06  Eric Blake  <ebb9@byu.net>
80271         doc: tweak *at function documentation
80272         * doc/posix-functions/faccessat.texi (faccessat): Mention
80273         known issue with replacement.
80274         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
80275         * doc/posix-functions/linkat.texi (linkat): Likewise.
80276         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80277         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80278         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80279         * doc/posix-functions/renameat.texi (renameat): Likewise.
80280         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
80282         openat: fix GNU/Hurd bug in unlinkat
80283         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
80284         broken.
80285         * doc/posix-functions/unlink.texi (unlink): Document this.
80286         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
80288         fdopendir: fix GNU/Hurd bug
80289         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
80290         allowing non-directory fds.
80291         * lib/fdopendir.c (rpl_fdopendir): Work around it.
80292         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
80293         * modules/dirent (Makefile.am): Substitute it.
80294         * lib/dirent.in.h (fdopendir): Declare replacement.
80295         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
80296         * tests/test-fdopendir.c (main): Test something other than
80297         /dev/null, since on Hurd that behaves like a directory.
80299         test-symlink: port to GNU/Hurd
80300         * tests/test-symlink.h (test_symlink): Relax expected errno.
80302         doc: tweak more cygwin information
80303         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
80304         now compatible with glibc.
80305         * doc/posix-functions/getopt.texi (getopt): Likewise.
80307         getopt-gnu: add another test
80308         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
80309         guarantee behavior relied on by m4.
80310         * tests/test-getopt.c (main): Use it.
80311         * modules/getopt-posix-tests (Depends-on): Add setenv.
80312         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
80314         getopt: fix compilation on darwin
80315         * lib/getopt.in.h (includes): Leave breadcrumbs during system
80316         include.
80317         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
80318         Reported by Ludovic Courtès.
80320 2009-10-06  Bruno Haible  <bruno@clisp.org>
80322         * modules/size_max (Description): Discourage its use.
80323         Reported by Simon Josefsson.
80325 2009-10-06  Jim Meyering  <meyering@redhat.com>
80327         linkat: avoid compilation failure
80328         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
80330 2009-10-05  Eric Blake  <ebb9@byu.net>
80332         linkat: support Linux 2.6.17
80333         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
80334         linkat on Linux, but allow cache variable override.
80335         * lib/linkat.c (rpl_linkat): Define override.
80336         * modules/linkat (Depends-on): Add symlinkat.
80337         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
80338         * modules/unistd (Makefile.am): Substitute it.
80339         * lib/unistd.in.h (linkat): Declare replacement.
80340         Reported by Pádraig Brady.
80342         quotearg: port test to systems with C.UTF-8 locale
80343         * tests/test-quotearg.c (struct result_strings): Add another
80344         member, differentiating between C.ASCII and C.UTF-8 handling.
80345         (compare_strings): Add parameter.
80346         (main): Adjust all callers.
80348         getopt: avoid clash with FreeBSD _getopt_internal
80349         * lib/getopt.in.h (_getopt_internal): Override the name.
80350         * lib/getopt_int.h (includes): Pick up any overrides.
80351         Reported by Reuben Thomas.
80353         hash: allow C89 compilation
80354         * lib/hash.c (check_tuning): Move declaration before statement.
80355         Reported by Reuben Thomas.
80357 2009-10-05  Karl Berry  <karl@gnu.org>
80359         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
80361 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
80362             Bruno Haible  <bruno@clisp.org>
80364         * lib/uname.c (uname): Use a table-driven algorithm to compute
80365         Windows NT versions.
80367 2009-10-04  Bruno Haible  <bruno@clisp.org>
80369         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
80370         program_invocation_short_name.
80371         * modules/progname (configure.ac): Test for presence of
80372         program_invocation_short_name.
80373         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
80375 2009-10-04  Bruno Haible  <bruno@clisp.org>
80377         * lib/progname.c (set_program_name): Fix comment.
80378         Reported by Jim Meyering.
80380 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
80381             Bruno Haible  <bruno@clisp.org>
80383         * lib/uname.c: Include <string.h>.
80384         (uname): Do only one call to GetVersionEx in the common case.
80386 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
80387             Bruno Haible  <bruno@clisp.org>
80389         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
80390         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
80391         (uname): Add support for Windows CE and various non-x86 CPU types.
80393 2009-10-03  Bruno Haible  <bruno@clisp.org>
80395         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
80396         invocation to tests/configure.ac.
80397         Reported by Ian Beckwith <ianb@erislabs.net>.
80399 2009-10-02  Eric Blake  <ebb9@byu.net>
80401         fchdir: avoid compiler warning
80402         * lib/fchdir.c (canonicalize_file_name)
80403         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
80405         test-open: support mingw errno values
80406         * tests/test-open.h (test_open): Relax test.
80407         * tests/test-fopen.h (test_fopen): Likewise.
80408         * tests/test-openat-safer.c (main): Likewise.
80410         open: fix opening directory on mingw
80411         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
80413         test-open: on GNU/Hurd, /dev/null is a directory
80414         * tests/test-fopen.h (main): Rename...
80415         (test_fopen): ...to this.  Use a guaranteed non-directory when
80416         confirming open behavior on trailing slash.
80417         * tests/test-openat-safer.c (main): Likewise.
80418         * tests/test-open.h (main): Likewise....
80419         (test_open): ...to this.
80420         * tests/test-fopen.c (main): Adjust caller.
80421         * tests/test-fopen-safer.c (main): Likewise.
80422         * tests/test-open.c (main): Likewise.
80423         * tests/test-fcntl-safer.c (main): Likewise.
80424         Reported by Samuel Thibault.
80426         rename, fchdir: don't ignore chdir failure
80427         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
80428         * lib/rename.c (rpl_rename) [W32]: Likewise.
80429         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
80430         an empty destination directory if source cannot be renamed,
80431         although there is still possibility for failure.
80432         * doc/posix-functions/rename.texi (rename): Document the race.
80433         Reported by Jim Meyering.
80435         maint: cleanup whitespace in recent commits
80436         * lib/rename.c (rpl_rename): Remove tabs.
80437         * tests/test-link.h (test_link): Likewise.
80438         * lib/fchdir.c (get_name): Likewise.
80439         Reported by Jim Meyering.
80441 2009-10-02  Ben Pfaff  <blp@gnu.org>
80443         relocatable-prog-wrapper: Add missing dependency on
80444         double-slash-root.
80445         * modules/relocatable-prog-wrapper: Add dependency.
80446         Reported by Ian Beckwith <ianb@erislabs.net>.
80448 2009-10-02  Eric Blake  <ebb9@byu.net>
80450         renameat: fix Solaris bugs
80451         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
80452         needed fixing.
80453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
80454         * modules/stdio (Makefile.am): Substitute it.
80455         * lib/stdio.in.h (renameat): Declare replacement.
80456         * lib/renameat.c (rpl_renameat): Implement fix.
80458         renameat: new module
80459         * modules/renameat: New file.
80460         * lib/renameat.c (renameat): Likewise.
80461         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
80462         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80463         * modules/stdio (Makefile.am): Substitute them.
80464         * lib/stdio.in.h (renameat): Declare it.
80465         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80466         * doc/posix-functions/renameat.texi (renameat): Likewise.
80467         * modules/renameat-tests: New test.
80468         * tests/test-renameat.c: Likewise.
80470         rename: fix mingw bugs
80471         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
80472         directory overwrite bugs.
80474         rename: fix another cygwin 1.5 bug
80475         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
80476         checks.
80477         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
80478         unnecessary cygwin workarounds.  Also work around bug with moving
80479         full directory onto an empty one.
80480         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
80482         rename-dest-slash: merge into rename module
80483         * modules/rename-dest-slash (Status): Mark obsolete.
80484         (Depends-on): Add rename.
80485         (Files): Let rename do it all.
80486         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
80487         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
80488         * m4/rename-dest-slash.m4: ...so this file can be deleted.
80489         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
80490         * lib/rename.c (rpl_rename): Update comments.
80492         rename: fix cygwin 1.5.x bugs
80493         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
80494         * lib/rename.c (rpl_rename): Work around them.
80495         * modules/rename (Depends-on): Add same-inode.
80497         rename: fix Solaris 10 bug
80498         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80499         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
80500         was the only bug.
80502         rename: fix Solaris 9 bug
80503         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
80504         on non-directory.  Avoid calling exit.
80505         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
80506         strdup.
80507         * modules/rename-tests (Depends-on): Drop lstat.
80508         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80509         (gl_PREREQ_RENAME): Delete unused macro.
80511         rename-dest-slash: fix NetBSD bug
80512         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
80513         links.
80514         * modules/rename-dest-slash (Depends-on): Add same-inode.
80516         rename-tests: new test, exposes several platform bugs
80517         * modules/rename-tests: New file.
80518         * tests/test-rename.h: Likewise.
80519         * tests/test-rename.c: Likewise.
80520         * doc/posix-functions/rename.texi (rename): Improve documentation,
80521         including bugs that will eventually be fixed in gnulib.
80523 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
80525         * lib/uname.c: Include <stdlib.h>
80526         (uname): Assume version info is available.
80528 2009-10-02  Jim Meyering  <meyering@redhat.com>
80530         gnu-web-doc-update: correct --help output
80531         * build-aux/gnu-web-doc-update: Make --help output relevant.
80533         gnu-web-doc-update: add standard options
80534         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
80536         gnu-web-doc-update: New module.
80537         Use this script to automatically update the on-line web documentation
80538         for your GNU project at http://www.gnu.org/software/$pkg/manual/
80539         * modules/gnu-web-doc-update: New file, from coreutils.
80540         * build-aux/gnu-web-doc-update: New script.
80542 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
80544         link: LoadLibrary is not needed.
80545         * lib/link.c: Use GetModuleHandle.
80547 2009-10-01  Eric Blake  <ebb9@byu.net>
80549         getopt: bump serial number
80550         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
80551         change.
80553         tests: tighten link, rmdir, and remove tests
80554         * tests/test-link.h (includes): No need to use <config.h> here.
80555         Clean up if directory hard link was created, otherwise test for
80556         trailing '.'.
80557         * tests/test-linkat.c (main): Simplify.
80558         * tests/test-remove.c (main): Enhance test for trailing '.'.
80559         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80561 2009-10-01  Jim Meyering  <meyering@redhat.com>
80563         maint.mk: requiring "make major" was annoying, for a "minor" release.
80564         What is intended is "stable", to contrast with alpha and beta,
80565         so require "make stable", not "make major".
80566         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
80567         (get_tool_versions): Likewise.
80568         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
80570 2009-09-30  Ben Pfaff  <blp@gnu.org>
80572         Fix broken build of replacement for Windows tmpfile().
80573         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
80574         flags argument added along with the 'mkostemp' module.
80576 2009-09-28  Bruno Haible  <bruno@clisp.org>
80578         Avoid identifier clash with POSIX function 'remove' defined as a macro.
80579         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
80580         to 'remove_elt'.
80581         (gl_list_remove): Update.
80582         * lib/gl_list.c (gl_list_remove): Update.
80583         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
80584         to 'remove_elt'.
80585         (gl_oset_remove): Update.
80586         * lib/gl_list.c (gl_oset_remove): Update.
80587         Reported by Eric Blake.
80589 2009-09-28  Eric Blake  <ebb9@byu.net>
80591         doc: mention yet more cygwin 1.7 status
80592         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
80593         cygwin.
80594         * doc/glibc-functions/execvpe.texi (execvpe): New file.
80595         * doc/gnulib.texi (Glibc unistd.h): Mention it.
80597         argp: fix test failure
80598         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
80599         that are not upper-case.  Pass correct range to tolower.
80601 2009-09-27  Jim Meyering  <meyering@redhat.com>
80603         test-yesno: work around sparc-dash here-document infelicity
80604         Without this change, the literal \177 byte in a here document
80605         would make dash 0.5.5.1-3 access uninitialized memory.
80606         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
80607         Instead, use a marker, "@", and filter through tr to create the desired
80608         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
80610 2009-09-27  Bruno Haible  <bruno@clisp.org>
80612         Disable untested support for new flavours of ACLs on AIX.
80613         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
80614         progress.
80615         * lib/set-mode-acl.c (qset_acl): Likewise.
80617 2008-12-07  Bruno Haible  <bruno@clisp.org>
80619         Add support for new flavours of ACLs on AIX. (Untested.)
80620         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
80621         (file_has_acl): Add support for newer AIX.
80622         * lib/set-mode-acl.c (qset_acl): Likewise.
80623         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
80624         Rainer Tammer <tammer@tammer.net>.
80626 2009-09-26  Eric Blake  <ebb9@byu.net>
80628         argp: fix compilation of getopt
80629         * lib/getopt.in.h (includes): Use different guard than glibc.
80630         Reported by Sergey Poznyakoff.
80632         doc: mention more cygwin 1.7 status
80633         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
80634         bug.
80635         * doc/posix-functions/execl.texi (execl): Likewise.
80636         * doc/posix-functions/execle.texi (execle): Likewise.
80637         * doc/posix-functions/execlp.texi (execlp): Likewise.
80638         * doc/posix-functions/execv.texi (execv): Likewise.
80639         * doc/posix-functions/execve.texi (execve): Likewise.
80640         * doc/posix-functions/execvp.texi (execvp): Likewise.
80641         * doc/glibc-functions/canonicalize_file_name.texi
80642         (canonicalize_file_name): Cygwin 1.7 now provides this.
80643         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
80644         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
80645         on AT_SYMLINK_NOFOLLOW.
80647 2009-09-24  Eric Blake  <ebb9@byu.net>
80649         test-linkat: make test more robust
80650         * tests/test-linkat.c (main): Avoid collision with EEXIST.
80652         getopt: fix inclusion guards for cygwin
80653         * modules/getopt-posix (Depends-on): Add include-next.
80654         (Makefile.am): Substitute more items in replacement header.
80655         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
80656         <getopt.h>.
80657         * lib/getopt.in.h (includes): Use split inclusion guard, and
80658         prefer <getopt.h> over include <unistd.h> when one is present.
80659         (option): Also override name of 'struct option'.
80661         same-inode: revert prior change; it is not yet ready
80662         * NEWS: Undo mention of this change.
80663         * lib/same-inode.h (same-inode.h): Undo tri-state change.
80664         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80665         * lib/cycle-check.c (cycle_check): Likewise.
80666         * lib/same.c (same_name): Likewise.
80667         * lib/at-func2.c (at_func2): Likewise.
80669 2009-09-23  Eric Blake  <ebb9@byu.net>
80671         linkat: new module
80672         * modules/linkat: New file.
80673         * lib/at-func2.c (at_func2): Likewise.
80674         * lib/linkat.c (linkat): Likewise.
80675         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
80676         * lib/openat-priv.h (at_func2): Add declaration.
80677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80678         * modules/unistd (Makefile.am): Substitute them.
80679         * lib/unistd.in.h (linkat): Declare it.
80680         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80681         * doc/posix-functions/linkat.texi (linkat): Likewise.
80682         * doc/posix-functions/link.texi (link): Tweak wording.
80683         * tests/test-link.c (main): Move guts...
80684         * tests/test-link.h (test_link): ...into new file.
80685         * modules/linkat-tests: New test.
80686         * tests/test-linkat.c: Likewise.
80687         * modules/link-tests (Files): Ship new file.
80688         (Depends-on): Add stdbool.
80690         dirname: add library-safe mdir_name
80691         * lib/dirname.h (mdir_name): New prototype.
80692         * lib/dirname.c (dir_name): Move guts...
80693         (mdir_name): ...to new function that avoids xalloc_die.
80695         fchdir: another mingw fix
80696         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
80697         * lib/fchdir.c (get_name): New helper method; skips canonicalize
80698         on mingw (where it has not yet been ported), and make it optional
80699         elsewhere.
80700         (_gl_register_fd): Use it.
80702         same-inode: make SAME_INODE tri-state, to port to mingw
80703         * NEWS: Mention this change.
80704         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
80705         st_ino always being 0.
80706         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80707         * lib/cycle-check.c (cycle_check): Likewise.
80708         * lib/same.c (same_name): Likewise.
80710         lstat: avoid mingw compilation error
80711         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
80712         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
80713         lstat ourselves.
80714         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
80715         was adequate.
80716         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
80717         the checks for lstat.
80718         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
80720         link: fix test failure on Solaris 9
80721         * lib/link.c (rpl_link): Don't assume link will catch bogus
80722         trailing slash on source.
80724         test-symlinkat: enhance test
80725         * tests/test-readlink.c (main): Move guts...
80726         * tests/test-readlink.h (test_readlink): ...into new file.
80727         * tests/test-symlink.c (main): Move guts...
80728         * tests/test-symlink.h (test_symlink): ...into new file.
80729         * tests/test-symlinkat.c (main): Use new files for further
80730         coverage.
80731         (do_symlink, do_readlink): New helper functions.
80732         * modules/symlink-tests (Files): Ship new file.
80733         (Depends-on): Add stdbool.
80734         * modules/readlink-tests (Files): Ship new file.
80735         (Depends-on): Add stdbool.
80736         * modules/symlinkat-tests (Files): Use new files.
80738 2009-09-23  Eric Blake  <ebb9@byu.net>
80740         readlink: document portability issue with symlink length
80741         * doc/posix-functions/lstat.texi (lstat): Mention that some file
80742         systems have bogus st_size on symlinks, and mention the
80743         areadlink-with-size module.
80744         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80745         * doc/posix-functions/readlink.texi (readlink): Mention the
80746         areadlink module, and ERANGE failure.
80747         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80748         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
80750         readlink: fix Solaris 9 bug with trailing slash
80751         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
80752         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
80753         * doc/posix-functions/readlink.texi (readlink): Document this.
80754         * modules/readlink-tests: New test.
80755         * tests/test-readlink.c: Likewise.
80757         readlink: fix cygwin 1.5.x bug with return type
80758         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
80759         * lib/unistd.in.h (readlink): Use ssize_t.
80760         * lib/readlink.c (readlink): Likewise.
80761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80762         * modules/unistd (Makefile.am): Substitute it.
80763         * lib/unistd.in.h (readlink): Declare replacement.
80764         * doc/posix-functions/readlink.texi (readlink): Document this.
80766         symlink: use throughout gnulib
80767         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
80768         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
80769         symlink is not used.
80770         * modules/symlinkat (Depends-on): Add symlink.
80771         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80772         * modules/canonicalize-tests (Depends-on): Likewise.
80773         * modules/lstat-tests (Depends-on): Likewise.
80774         * modules/openat-tests (Depends-on): Likewise.
80775         * modules/remove-tests (Depends-on): Likewise.
80776         * modules/rmdir-tests (Depends-on): Likewise.
80777         * modules/unlink-tests (Depends-on): Likewise.
80778         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
80779         * tests/test-canonicalize.c (symlink): Likewise.
80780         * tests/test-fstatat.c (symlink): Likewise.
80781         * tests/test-lstat.c (symlink): Likewise.
80782         * tests/test-remove.c (symlink): Likewise.
80783         * tests/test-rmdir.c (symlink): Likewise.
80784         * tests/test-unlink.c (symlink): Likewise.
80785         * tests/test-unlinkat.c (symlink): Likewise.
80787         symlink: new module, for Solaris 9 bug
80788         * modules/symlink: New file.
80789         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
80790         * lib/symlink.c: Likewise.
80791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
80792         * modules/unistd (Makefile.am): Substitute them.
80793         * lib/unistd.in.h (symlink): Declare replacement.
80794         * MODULES.html.sh (File system functions): Mention it.
80795         * doc/posix-functions/symlink.texi (symlink): Likewise.
80796         * modules/symlink-tests: New test.
80797         * tests/test-symlink.c: Likewise.
80799 2009-09-23  Bruno Haible  <bruno@clisp.org>
80801         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
80802         when needed.
80803         Test case: gnulib-tool --import --with-tests atexit inttypes.
80804         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
80806 2009-09-23  Bruno Haible  <bruno@clisp.org>
80808         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
80809         subcommand, not in a subshell.
80811 2009-09-22  Eric Blake  <ebb9@byu.net>
80813         unistd: sort replacement declarations
80814         * lib/unistd.in.h: Sort declarations.
80816         open, openat: minor optimization
80817         * lib/open.c (open): If open succeeded, len is non-zero.
80818         * lib/openat.c (rpl_openat): Likewise.
80820         link-follow: ensure correct result
80821         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
80822         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
80823         distinguish between possible failures.
80825 2009-09-21  Eric Blake  <ebb9@byu.net>
80827         fts: avoid compiler warning
80828         * lib/fts.c (dirent_inode_sort_may_be_useful)
80829         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
80831 2009-09-19  Bruno Haible  <bruno@clisp.org>
80833         * lib/progreloc.c (canonicalize_file_name): New declaration.
80835 2009-09-19  Eric Blake  <ebb9@byu.net>
80837         link: fix quoting
80838         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
80840         openat: fix openat bugs on Solaris 9
80841         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
80842         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
80843         * modules/openat (Depends-on): Add open.
80844         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
80845         * modules/fcntl-h (Makefile.am): Substitute it.
80846         * lib/fcntl.in.h (openat): Declare replacement.
80847         * doc/posix-functions/openat.texi (openat): Document this.
80849         openat: move fstatat and unlinkat into correct files
80850         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
80851         compiled.
80852         * lib/openat.c (fstatat, unlinkat): Move...
80853         * lib/fstatat.c (fstatat): ...into correct files.
80854         * lib/unlinkat.c (unlinkat): Likewise.
80856         openat: fix unlinkat bugs on Solaris 9
80857         * lib/unlinkat.c (unlinkat): New file.
80858         * modules/openat (Depends-on): Add unlink.
80859         (Files): Distribute it.
80860         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
80861         trailing slash behavior is broken.
80862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80863         * modules/unistd (Makefile.am): Substitute it.
80864         * lib/unistd.in.h (unlinkat): Declare replacement.
80865         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
80867         openat: fix fstatat bugs on Solaris 9
80868         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
80869         stat.
80870         * doc/posix-functions/fstatat.texi (fstatat): Document this.
80872         test-unlinkat: enhance test, to expose Solaris 9 bug
80873         * tests/test-unlink.c (main): Factor guts...
80874         * tests/test-unlink.h (test_rmdir_func): ...into new file.
80875         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
80876         * tests/test-rmdir.c (main): Adjust caller.
80877         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
80878         (unlinker): New helper function.
80879         (rmdirat): Enhance check.
80880         * modules/rmdir-tests (Depends-on): Add stdbool.
80881         * modules/unlink-tests (Depends-on): Likewise.
80882         (Files): Add test-unlink.h.
80883         * modules/openat-tests (Files): Likewise.
80884         (Depends-on): Add unlinkdir.
80886         test-fstatat: new test, to expose Solaris 9 bugs
80887         * tests/test-stat.c (main): Factor guts...
80888         * tests/test-stat.h (test_stat_func): ...into new file.
80889         * tests/test-lstat.c (main): Factor guts...
80890         * tests/test-lstat.h (test_lstat_func): ...into new file.
80891         * tests/test-fstatat.c: New file.
80892         * modules/stat-tests (Files): Add test-stat.h.
80893         * modules/lstat-tests (Files): Add test-lstat.h.
80894         (Depends-on): Add stdbool.
80895         * modules/openat-tests (Depends-on): Add pathmax.
80896         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
80897         (Makefile.am): Run new test.
80899         remove: new module, for mingw and Solaris 9 bugs
80900         * modules/remove: New file.
80901         * lib/remove.c: Likewise.
80902         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
80903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80904         * modules/stdio (Makefile.am): Use them.
80905         * lib/stdio.in.h (remove): Declare replacement.
80906         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80907         * doc/posix-functions/remove.texi (remove): Likewise.
80908         * modules/remove-tests: New test.
80909         * tests/test-remove.c: Likewise.
80911         unlink: new module, for Solaris 9 bug
80912         * modules/unlink: New file.
80913         * lib/unlink.c: Likewise.
80914         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
80915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80916         * modules/unistd (Makefile.am): Use them.
80917         * lib/unistd.in.h (stat): Declare replacement.
80918         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80919         * doc/posix-functions/unlink.texi (unlink): Likewise.
80920         * modules/unlink-tests: New test.
80921         * tests/test-unlink.c: Likewise.
80923         lstat: fix Solaris 9 bug
80924         * lib/lstat.c (lstat): Also check for trailing slash on
80925         non-symlink, non-directories.  Use stat module to simplify logic.
80926         * doc/posix-functions/lstat.texi (lstat): Document it.
80927         * modules/lstat-tests (Depends-on): Add errno, same-inode.
80928         (configure.ac): Check for symlink.
80929         * tests/test-lstat.c (main): Add more tests.
80931         stat: add as dependency to other modules
80932         * modules/chown (Depends-on): Add stat.
80933         * modules/euidaccess (Depends-on): Likewise.
80934         * modules/fchdir (Depends-on): Likewise.
80935         * modules/isdir (Depends-on): Likewise.
80936         * modules/link (Depends-on): Likewise.
80937         * modules/lstat (Depends-on): Likewise.
80938         * modules/mkdir-p (Depends-on): Likewise.
80939         * modules/modechange (Depends-on): Likewise.
80940         * modules/open (Depends-on): Likewise.
80941         * modules/readlink (Depends-on): Likewise.
80942         * modules/same (Depends-on): Likewise.
80944         stat: fix Solaris 9 bug
80945         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
80946         slash.
80947         * lib/stat.c (rpl_stat): Work around it.
80948         * doc/posix-functions/stat.texi (stat): Update documentation.
80950         stat: new module, for mingw bug
80951         * modules/stat: New file.
80952         * lib/stat.c: Likewise.
80953         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
80954         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80955         * modules/sys_stat (Makefile.am): Use them.
80956         * lib/sys_stat.in.h (stat): Declare replacement.
80957         * lib/openat.c (fstatat): Deal with lstat and stat being function
80958         macros.
80959         * modules/openat (Depends-on): Add inline.
80960         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80961         * doc/posix-functions/stat.texi (stat): Likewise.
80962         * modules/stat-tests: New test.
80963         * tests/test-stat.c: Likewise.
80965 2009-09-19  Jim Meyering  <meyering@redhat.com>
80967         syntax-check: detect unnecessary inclusion of canonicalize.h
80968         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
80970 2009-09-19  Eric Blake  <ebb9@byu.net>
80972         canonicalize-lgpl: adjust clients to use correct header
80973         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80974         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
80975         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
80976         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
80977         * lib/progreloc.c (includes): Likewise.
80979 2009-09-19  Jim Meyering  <meyering@redhat.com>
80981         test-posixtm.c: correct a comment
80982         * tests/test-posixtm.c: Correct first-line comment.
80983         Spotted by Eric Blake.
80985 2009-09-16  Jim Meyering  <meyering@redhat.com>
80987         posixtm-tests: make T const-correct; add a test case
80988         * tests/test-posixtm.c (T): Declare const.
80989         Add a test for -(2^31+1).
80990         Remove useless can-succeed-only-in-2002 test.
80992         posixtm-tests: adjust the sole failing test
80993         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
80994         expected output matches what mktime now produces.  Cross-checked via
80995         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
80997         posixtm: move #ifdef'd tests into a new module
80998         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
80999         * tests/test-posixtm.c: ... this new file.
81000         * modules/posixtm-tests: New module.
81002 2009-09-19  Eric Blake  <ebb9@byu.net>
81004         openat: simplify use of at-func.c
81005         * lib/at-func.c (includes): Include prerequisites here, to
81006         simplify requirements on client files.
81007         * lib/openat-priv.h: Add double-inclusion guard.
81008         * lib/faccessat.c (includes): Simplify.
81009         * lib/fchmodat.c (includes): Likewise.
81010         * lib/fchownat.c (includes): Likewise.
81011         * lib/mkdirat.c (includes): Likewise.
81012         * lib/mkfifoat.c (includes): Likewise.
81013         * lib/symlinkat.c (includes): Likewise.
81015         openat: allow return of fd 0
81016         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
81017         * modules/save-cwd (Depends-on): Replace fcntl-safer with
81018         unistd-safer.
81019         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
81020         <fcntl.h>; this module does not leak fds.
81021         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
81022         must be allowed to return 0, leaving openat_safer to add the
81023         safety.
81024         (openat_permissive): Avoid writing to just-opened fd 2 if
81025         restoring the current directory fails.
81026         * lib/openat-die.c (openat_restore_fail): Add comment.
81027         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
81028         (save_cwd): Guarantee safe fd, but without use of open_safer.
81029         * tests/test-openat.c: New test.
81030         * modules/openat-tests (Files, Makefile.am): Distribute and build
81031         new file.
81033         relocatable-prog-wrapper: fix build
81034         * modules/relocatable-prog-wrapper (Files): Update name of
81035         canonicalize m4 file, broken on 2009-09-17.
81036         Reported by emad hajjar <aleppos@hotmail.com>.
81038 2009-09-19  Bruno Haible  <bruno@clisp.org>
81040         * lib/safe-alloc.h: Use the standard header with GPL copyright.
81041         * lib/safe-alloc.c: Likewise.
81042         Reported by Ian Beckwith <ianb@erislabs.net>.
81044 2009-09-18  Bruno Haible  <bruno@clisp.org>
81046         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
81047         Reported by <erobles@sensacd.com.mx>.
81049 2009-09-17  Eric Blake  <ebb9@byu.net>
81051         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
81052         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
81053         slashes when checking if last component is missing.
81054         * tests/test-canonicalize.c (main): Test this.
81056         canonicalize, canonicalize-lgpl: honor // if distinct from /
81057         * modules/canonicalize (Files): Add double-slash-root.m4.
81058         * modules/canonicalize-lgpl (Files): Likewise.
81059         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
81060         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
81061         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
81062         fallback definition.
81063         (canonicalize_filename_mode): Use it to protect //.
81064         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
81065         (__realpath): Likewise.
81066         * tests/test-canonicalize.c (main): Test this.
81067         * tests/test-canonicalize-lgpl.c (main): Likewise.
81068         * modules/canonicalize-tests (Depends-on): Add same-inode.
81069         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
81071         canonicalize-lgpl: fix glibc bug with trailing slash
81072         * m4/canonicalize-lgpl.m4: Move contents...
81073         * m4/canonicalize.m4: ...here.
81074         (gl_CANONICALIZE_LGPL): Factor realpath check...
81075         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
81076         glibc 2.3.5 bug, fixed 2005-04-27.
81077         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
81078         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
81079         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
81080         * modules/canonicalize-lgpl (Files): Manage file rename.
81081         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
81082         * modules/stdlib (Makefile.am): Substitute witness.
81083         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
81084         is needed.
81085         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
81086         replacement is required.
81087         * lib/canonicalize.c (canonicalize_file_name): Likewise.
81088         * doc/glibc-functions/canonicalize_file_name.texi
81089         (canonicalize_file_name): Document this.
81090         * doc/posix-functions/realpath.texi (realpath): Likewise.
81092         canonicalize-lgpl: reject non-directory with trailing slash
81093         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
81094         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
81095         catches failures in glibc 2.3.5.
81096         * tests/test-canonicalize.c (main): Likewise.
81098         canonicalize-lgpl: use native realpath if it works
81099         * lib/canonicalize-lgpl.c (realpath): Guard with
81100         FUNC_REALPATH_WORKS.
81101         * lib/stdlib.in.h (realpath): Make declaration optional based on
81102         HAVE_REALPATH.
81103         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
81104         native realpath works.
81105         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
81106         * modules/stdlib (Makefile.am): Substitute witness.
81108         canonicalize, canonicalize-lgpl: use <stdlib.h>
81109         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
81110         (Include): Mention <stdlib.h>.
81111         (configure.ac): Mention functions we provide.
81112         * modules/canonicalize (configure.ac): Likewise.
81113         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
81114         realpath if canonicalize_file_name is missing.
81115         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
81116         * modules/stdlib (Makefile.am): Substitute witnesses.
81117         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
81118         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
81119         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
81120         * NEWS: Document this.
81121         * doc/glibc-functions/canonicalize_file_name.texi
81122         (canonicalize_file_name): Likewise.
81123         * doc/posix-functions/realpath.texi (realpath): Likewise.
81124         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
81126         test-canonicalize: consolidate into single C program
81127         * tests/test-canonicalize.sh: Delete; move setup into...
81128         * tests/test-canonicalize.c (main): ...the program, making it
81129         easier to run in debugger.  Add some tests.
81130         * modules/canonicalize-tests (Files): Remove unused file.
81131         (Depends-on): Add progname.
81132         (configure.ac, Makefile.am): Simplify.
81134         test-canonicalize-lgpl: consolidate into single C program
81135         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
81136         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
81137         easier to run in debugger.  Add some tests.
81138         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
81139         (configure.ac, Makefile.am): Simplify.
81141         canonicalize: avoid resolvepath
81142         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
81143         unnecessary checks.
81144         * lib/canonicalize.c (includes): Simplify.
81145         (canonicalize_file_name): Drop resolvepath implementation.
81146         * modules/canonicalize (Depends-on): Drop filenamecat.
81148         canonicalize: don't lose errno
81149         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
81150         over calls to free.
81152         canonicalize: simplify errno handling
81153         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
81154         assignment.
81156         canonicalize, canonicalize-lgpl: update module dependencies
81157         * modules/canonicalize (Depends-on): Add extensions, lstat,
81158         pathmax, stdlib.
81159         (Files): Drop pathmax.h.
81160         (configure.ac): Adjust macro name.
81161         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
81162         lstat, stdlib, sys_stat.
81163         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
81164         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
81165         extensions.
81166         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
81167         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
81168         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
81169         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
81170         declaration, if available.
81171         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
81172         we can rely on the readlink module.
81173         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
81174         (includes): Use <unistd.h> unconditionally.
81176 2009-09-17  Eric Blake  <ebb9@byu.net>
81178         maint: make Include sections of modules consistent
81179         * modules/alloca: Use only header name; no need to list #include.
81180         * modules/alloca-opt: Likewise.
81181         * modules/arpa_inet: Likewise.
81182         * modules/canon-host: Likewise.
81183         * modules/configmake: Likewise.
81184         * modules/dirent: Likewise.
81185         * modules/eealloc: Likewise.
81186         * modules/environ: Likewise.
81187         * modules/fchdir: Likewise.
81188         * modules/fcntl: Likewise.
81189         * modules/fcntl-h: Likewise.
81190         * modules/gethrxtime: Likewise.
81191         * modules/gettime: Likewise.
81192         * modules/ignore-value: Likewise.
81193         * modules/inet_ntop: Likewise.
81194         * modules/inet_pton: Likewise.
81195         * modules/inttypes: Likewise.
81196         * modules/isnand-nolibm: Likewise.
81197         * modules/isnanf-nolibm: Likewise.
81198         * modules/mbchar: Likewise.
81199         * modules/mbfile: Likewise.
81200         * modules/mbiter: Likewise.
81201         * modules/mbuiter: Likewise.
81202         * modules/netdb: Likewise.
81203         * modules/netinet_in: Likewise.
81204         * modules/nproc: Likewise.
81205         * modules/pagealign_alloc: Likewise.
81206         * modules/poll: Likewise.
81207         * modules/printf-frexp: Likewise.
81208         * modules/pthread: Likewise.
81209         * modules/putenv: Likewise.
81210         * modules/random_r: Likewise.
81211         * modules/relocatable-prog: Likewise.
81212         * modules/search: Likewise.
81213         * modules/select: Likewise.
81214         * modules/selinux-h: Likewise.
81215         * modules/settime: Likewise.
81216         * modules/signal: Likewise.
81217         * modules/size_max: Likewise.
81218         * modules/socklen: Likewise.
81219         * modules/ssize_t: Likewise.
81220         * modules/stdarg: Likewise.
81221         * modules/stdbool: Likewise.
81222         * modules/stddef: Likewise.
81223         * modules/stdint: Likewise.
81224         * modules/stdio: Likewise.
81225         * modules/stdlib: Likewise.
81226         * modules/string: Likewise.
81227         * modules/strings: Likewise.
81228         * modules/sys_file: Likewise.
81229         * modules/sys_ioctl: Likewise.
81230         * modules/sys_select: Likewise.
81231         * modules/sys_socket: Likewise.
81232         * modules/sys_stat: Likewise.
81233         * modules/sys_time: Likewise.
81234         * modules/sys_times: Likewise.
81235         * modules/sys_utsname: Likewise.
81236         * modules/sys_wait: Likewise.
81237         * modules/sysexits: Likewise.
81238         * modules/time: Likewise.
81239         * modules/times: Likewise.
81240         * modules/tmpfile: Likewise.
81241         * modules/trim: Likewise.
81242         * modules/unistd: Likewise.
81243         * modules/wchar: Likewise.
81244         * modules/wctype: Likewise.
81246 2009-09-17  Bruno Haible  <bruno@clisp.org>
81248         Make getdate.y compile on QNX and NetBSD 5 / i386.
81249         * m4/getdate.m4 (gl_GETDATE): Conditionally define
81250         TIME_T_FITS_IN_LONG_INT.
81251         * lib/getdate.y (long_time_t): New type.
81252         (relative_time): Change type of 'seconds' field to long_time_t.
81253         (get_date): Update types of local variables. Check against overflow
81254         during conversion from long_time_t to time_t.
81255         Reported by Matt Kraai <kraai@ftbfs.org>
81256         and Hasso Tepper <hasso@netbsd.org>.
81258 2009-09-17  Bruno Haible  <bruno@clisp.org>
81260         * modules/COPYING: Update copyright years.
81261         * modules/README: Likeiwse.
81262         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
81263         Reported by Ian Beckwith <ianb@erislabs.net>.
81265 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
81267         * users.txt: Update references for gnuit package.
81269 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
81271         * m4/getdelim.m4: Fix typo in copyright line.
81273 2009-09-17  Bruno Haible  <bruno@clisp.org>
81275         * lib/atoll.c: Use the standard header with GPL copyright.
81276         * lib/argz.in.h: Likewise.
81277         * lib/glob.c: Likewise.
81278         * lib/glob-libc.h: Likewise.
81279         * lib/random_r.c: Likewise.
81280         * lib/siglist.h: Likewise.
81281         * lib/strsignal.c: Likewise.
81282         Reported by Ian Beckwith <ianb@erislabs.net>.
81284 2009-09-17  Eric Blake  <ebb9@byu.net>
81286         rmdir: ensure correct dependency order
81287         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
81289 2009-09-17  Bruno Haible  <bruno@clisp.org>
81291         Disable assertion that fails on NetBSD 5 / i386.
81292         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
81293         Reported by Sam Steingold <sds@gnu.org>
81294         and Hasso Tepper <hasso@netbsd.org>.
81296 2009-09-16  Eric Blake  <ebb9@byu.net>
81298         unlinkdir: port to mingw
81299         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
81300         on which no one can unlink a directory.
81302         stdlib: sort witness names
81303         * modules/stdlib (Makefile.am): Sort replacements.
81304         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
81305         * lib/stdlib.in.h: Likewise.
81307         parse-duration-tests: avoid link failure
81308         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
81309         LIBINTL.
81310         Reported by Tom G. Christensen.
81312         openat-tests: ensure unlinkat behaves like rmdir
81313         * tests/test-rmdir.c (main): Factor guts...
81314         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
81315         * modules/rmdir-tests (Files): Ship new file.
81316         * modules/openat-tests: New test.
81317         * tests/test-unlinkat.c: Likewise.
81319         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
81320         * modules/rmdir-errno (Status, Notice): Now obsolete.
81322         rmdir: work around cygwin 1.5.x and mingw bugs
81323         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
81324         * lib/rmdir.c (rmdir): Work around it.
81325         * modules/rmdir (Status, Notice): No longer obsolete.
81326         (Files): Add dos.m4.
81327         (Depends-on): Add unistd.
81328         (configure.ac): Set witnesses.
81329         (License): Relax to LGPLv2+.
81330         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
81331         * modules/unistd (Makefile.am): Substitute witnesses.
81332         * lib/unistd.in.h (rmdir): Declare replacement.
81333         * doc/posix-functions/rmdir.texi (rmdir): Document this.
81334         * modules/rmdir-tests: New tests.
81335         * tests/test-rmdir.c: Likewise.
81337 2009-09-15  Eric Blake  <ebb9@byu.net>
81339         fchdir: improve use of replacement functions
81340         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
81341         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
81342         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
81343         REPLACE_CLOSEDIR.
81344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
81345         * modules/sys_stat (Makefile.am): Substitute correct witness.
81346         * modules/dirent (Makefile.am): Likewise.
81347         * modules/unistd (Makefile.am): Likewise.
81348         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
81349         * lib/unistd.in.h (dup): Likewise.
81350         * lib/sys_stat.in.h (fstat): Likewise.
81352         maint: ignore gnulib-tool temp files
81353         * .gitignore: Ignore files created during gnulib-tool --test.
81355 2009-09-13  Jim Meyering  <meyering@redhat.com>
81357         posixtm: don't reject a time that specify "60" as the number of seconds
81358         * lib/posixtm.c (posixtime): The code to reject invalid dates
81359         would also reject a time specified with the .60 suffix.
81360         But POSIX allows that, in order to accommodate leap seconds.
81361         So don't reject it.
81362         (main): Adjust tests accordingly.
81363         * modules/posixtm (Depends-on): Add stpcpy.
81365 2009-09-11  Jim Meyering  <meyering@redhat.com>
81367         announce-gen: include [$release_type] in emitted Subject:
81368         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
81369         e.g., [stable] in the emitted Subject: line.
81371 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81373         Remove obsolete macros from several modules.
81374         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
81375         obsolete Autoconf macros with their modern counterparts.
81376         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
81377         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
81378         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
81379         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
81380         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
81381         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
81382         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
81383         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
81384         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
81385         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
81386         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
81387         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
81388         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
81389         * m4/sockets.m4 (gl_SOCKETS): Likewise.
81390         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
81391         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
81392         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
81393         * m4/time_r.m4 (gl_TIME_R): Likewise.
81394         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
81395         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
81396         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
81398         Fix copyright header in build-aux scripts.
81399         * build-aux/git-version-gen: Fix copyright header to match GPLv3
81400         recommendation.
81401         * build-aux/ncftpput-ftp: Likewise.
81402         * build-aux/update-copyright: Likewise.
81404 2009-09-09  Eric Blake  <ebb9@byu.net>
81406         test-link: allow Linux choice of errno
81407         * tests/test-link.c (main): Relax test for alternate error.
81409         strndup: fix improper m4 caching
81410         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
81411         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
81412         (gl_PREREQ_STRNDUP): Delete.
81413         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
81414         * modules/string (Makefile.am): Substitute it.
81415         * lib/string.in.h (strndup): Modernize prototype.
81417         getcwd: port to mingw
81418         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
81419         different from the POSIX assumptions made throughout the getcwd
81420         module; fortunately, the mingw getcwd does not need replacement.
81421         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
81422         * modules/getcwd-tests: New test.
81423         * tests/test-getcwd.c: Likewise.
81425         link: fix platform bugs
81426         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
81427         * lib/link.c (link): Work around them.  Fix related mingw bug.
81428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
81429         * modules/unistd (Makefile.am): Substitute it.
81430         * lib/unistd.in.h (link): Declare replacement.
81431         * doc/posix-functions/link.texi (link): Document this.
81432         * modules/link (Depends-on): Add strdup-posix, sys_stat.
81434         test-link: consolidate into single C program, test more cases
81435         * tests/test-link.sh: Delete.
81436         * tests/test-link.c: Test more error conditions.  Exposes bugs on
81437         at least Cygwin and Solaris.
81438         * modules/link-tests (Files): Remove unused file.
81439         (Depends-on): Add errno, sys_stat.
81440         (Makefile.am): Simplify.
81442 2009-09-08  Bruno Haible  <bruno@clisp.org>
81444         Work around towlower, towupper bug on mingw.
81445         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
81446         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
81447         * doc/posix-functions/towlower.texi: Mention the mingw bug.
81448         * doc/posix-functions/towupper.texi: Likewise.
81449         Reported by Eric Blake.
81451 2009-09-08  Jim Meyering  <meyering@redhat.com>
81453         build: don't try to run autoheader if we don't use it
81454         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
81455         is not used in configure.ac.
81457 2009-09-08  Eric Blake  <ebb9@byu.net>
81459         euidaccess: fix compilation error
81460         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
81462         rawmemchr: relax license
81463         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
81464         okay.
81465         Reported by Jim Meyering.
81467         mkfifoat: new module
81468         * modules/mkfifoat: New file.
81469         * lib/mkfifoat.c: Likewise.
81470         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
81471         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
81472         * modules/sys_stat (Makefile.am): Use them.
81473         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
81474         * MODULES.html.sh (File system functions): Mention module.
81475         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
81476         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
81477         * modules/mkfifoat-tests: New test.
81478         * tests/test-mkfifoat.c: Likewise.
81480         strchrnul: relax license
81481         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
81482         okay.
81483         Reported by Jim Meyering.
81485 2009-09-08  Eric Blake  <ebb9@byu.net>
81487         fstatat: fix compilation on Solaris
81488         * lib/fstatat.c (includes): Add fcntl.h.
81489         Reported by Pádraig Brady.
81491 2009-09-07  Eric Blake  <ebb9@byu.net>
81493         rename: modernize replacement
81494         * modules/rename (Depends-on): Add stdio.
81495         (configure.ac): Declare witness.
81496         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
81497         stdio take care of replacement.
81498         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
81499         * modules/stdio (Makefile.am): Substitute them.
81500         * lib/stdio.in.h (rename): Declare replacement.
81501         * lib/rename.c (includes): Allow cross-compilation to non-windows
81502         machines.
81503         * doc/posix-functions/rename.texi (rename): Improve
81504         documentation.
81506         stdio: sort witness names
81507         * modules/stdio (Makefile.am): Sort replacements.
81508         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
81509         * lib/stdio.in.h: Likewise.
81511         getcwd: minor cleanups
81512         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
81513         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
81515         openat: provide more convenience names
81516         * modules/faccessat (configure.ac): Add C witness.
81517         * lib/unistd.in.h (readlinkat): Fix typo.
81518         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
81519         convenience wrappers.
81520         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
81521         wrappers in syntax checks.
81523 2009-09-06  Eric Blake  <ebb9@byu.net>
81525         doc: fix comments in recent patches
81526         * lib/faccessat.c: Mention correct function.
81527         * lib/fchmodat.c: Likewise.
81528         * lib/fchownat.c: Likewise.
81529         * lib/symlinkat.c: Likewise.
81530         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
81531         constants.
81533         faccessat, symlinkat: continue cleanup of previous patch
81534         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
81535         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81536         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
81537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
81538         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
81539         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
81540         set.
81542 2009-09-06  Bruno Haible  <bruno@clisp.org>
81544         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
81545         (fstatat): Declare if GNULIB_FSTATAT is set.
81546         (mkdirat): Declare if GNULIB_MKDIRAT is set.
81547         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
81548         (unlinkat): Declare if GNULIB_UNLINKAT is set.
81549         * modules/fcntl-h (Files): Remove m4/openat.m4.
81550         * modules/sys_stat (Files): Remove m4/openat.m4.
81551         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
81552         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
81553         * modules/unistd (Files): Remove m4/openat.m4.
81554         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
81555         GNULIB_OPENAT.
81556         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
81557         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
81558         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
81559         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
81560         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
81561         gl_OPENAT_DEFAULTS.
81562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
81563         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
81564         Don't require gl_OPENAT_DEFAULTS.
81565         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
81566         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
81567         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
81568         (gl_OPENAT_DEFAULTS): Remove macro.
81570 2009-09-06  Bruno Haible  <bruno@clisp.org>
81572         * modules/openat (configure.ac): Remove unneeded witness.
81574 2009-09-06  Bruno Haible  <bruno@clisp.org>
81576         Set errno to ENOSYS when a function is entirely unsupported.
81577         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
81578         EOPNOTSUPP.
81579         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81580         * modules/chown (Depends-on): Remove errno.
81582 2009-09-06  Bruno Haible  <bruno@clisp.org>
81584         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
81586 2009-09-06  Bruno Haible  <bruno@clisp.org>
81588         * lib/sys_stat.in.h: Fix preprocessor command indentation.
81590 2009-09-06  Ben Pfaff  <blp@gnu.org>
81591             Bruno Haible  <bruno@clisp.org>
81593         Work around a glibc bug in strtok_r.
81594         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
81595         Undefine if UNDEFINE_STRTOK_R is set.
81596         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
81597         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81598         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
81599         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
81600         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
81601         UNDEFINE_STRTOK_R.
81602         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
81604 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
81606         exclude: minor fix
81607         * lib/exclude.c: Include wctype.h
81609 2009-09-06  Akim Demaille  <demaille@gostai.com>
81611         bootstrap: improve error message
81612         * build-aux/bootstrap (find_tool): Upon failure, report the list
81613         of candidates.
81614         Honor the initial value of the envvar.
81616 2009-09-05  Eric Blake  <ebb9@byu.net>
81618         symlinkat: new module
81619         * modules/symlinkat: New file.
81620         * lib/symlinkat.c: Likewise.
81621         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
81622         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
81623         * modules/unistd (Makefile.am): Use them.
81624         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
81625         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
81626         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
81627         * MODULES.html.sh (File system functions): Mention module.
81628         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
81629         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
81630         * modules/symlinkat-tests: New test.
81631         * tests/test-symlinkat.c: Likewise.
81633         test-openat-safer: add more checks
81634         * tests/test-openat-safer.c (main): Check more code paths.
81636 2009-09-05  Jim Meyering  <meyering@redhat.com>
81638         syntax-check: detect unnecessary inclusion of openat.h
81639         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
81641 2009-09-05  Bruno Haible  <bruno@clisp.org>
81643         Support towlower, towupper.
81644         * doc/posix-functions/towlower.texi: Mention module wctype.
81645         * doc/posix-functions/towupper.texi: Likewise.
81646         * lib/wctype.in.h (towlower, towupper): New functions.
81647         * tests/test-wctype.c: Include stdio.h, stdlib.h.
81648         (ASSERT): New macro.
81649         (e): New variable.
81650         (main): Test also towlower, towupper. Test WEOF argument.
81651         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
81653 2009-09-05  Bruno Haible  <bruno@clisp.org>
81655         Fix conversion behaviour when the input is invalid.
81656         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
81657         mark occurring in first pass of indirect conversion.
81658         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
81659         input.
81660         Found by clang's static analyzer.
81662 2009-09-05  Bruno Haible  <bruno@clisp.org>
81664         * tests/test-striconveh.c (main): Test indirect conversion on platforms
81665         where direct conversion is possible.
81667 2009-09-04  Eric Blake  <ebb9@byu.net>
81669         openat: fail with ENOENT on empty name
81670         * lib/openat-proc.c (openat_proc_name): Special-case the empty
81671         buffer.
81673         link-follow: fix logic bug in prior patch
81674         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
81675         reversed sense of yes and no in prior patch.  Avoid confusing
81676         compilation failure with desired semantics.
81678         link-follow: accommodate mingw and cross-compilation
81679         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
81680         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
81681         cross-compilation results to -1, to make linkat easier to
81682         implement when cross-compiling.  Trivially support mingw.
81683         * modules/link-follow (configure.ac): Call new name.
81684         * NEWS: Mention this.
81686 2009-09-03  Eric Blake  <ebb9@byu.net>
81688         faccessat: compile replacement
81689         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
81690         needed.
81692         fts: fix compilation error
81693         * lib/fts.c (includes): Re-add "openat.h", for
81694         openat_needs_fchdir.
81696         faccessat: new module
81697         * modules/faccessat: New file.
81698         * lib/faccessat.c: Likewise.
81699         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
81701         * modules/unistd (Makefile.am): Use it.
81702         * lib/unistd.in.h (faccessat): Declare it.
81703         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
81704         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
81705         * MODULES.html.sh (File system functions): Mention it.
81706         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
81707         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
81709         euidaccess: prefer POSIX over non-standard implementation
81710         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
81711         * lib/euidaccess.c (euidaccess): Use it if available.
81713         openat: make template easier to use
81714         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
81715         AT_FUNC_F2 to be undefined.
81716         (VALIDATE_FLAG): New macro; use it to reject bad flags.
81717         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
81718         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
81719         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
81720         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
81721         Likewise.
81722         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
81723         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
81724         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
81725         Likewise.
81727         openat: declare in POSIX headers
81728         * NEWS: Mention this.
81729         * modules/openat (configure.ac): Declare witnesses.
81730         (Depends-on): Add fcntl-h, sys_stat, unistd.
81731         (Include): Mention correct headers.
81732         * modules/fcntl-h (Depends-on): Add link-warning.
81733         (Files): Add openat.m4.
81734         (Makefile.am): Substitute witnesses.
81735         * modules/sys_stat (Files, Makefile.am): Likewise.
81736         * modules/unistd (Files, Makefile.am): Likewise.
81737         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
81738         (gl_OPENAT_DEFAULTS): New macro.
81739         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
81740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
81741         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
81742         (SYS_STAT_H): Remove unused variable.
81743         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
81744         * lib/fcntl--.h (includes): Remove unneeded header.
81745         * lib/openat-safer.c (includes): Likewise.
81746         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
81747         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
81748         appropriate headers.
81749         (__OPENAT_PREFIX): Delete.
81750         * lib/fcntl.in.h (openat): Provide declaration.
81751         (AT_FDCWD): Fix Solaris bug.
81752         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
81753         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
81754         * lib/fchmodat.c (includes):  Adjust to find declaration.
81755         * lib/fchownat.c (includes): Likewise.
81756         * lib/mkdirat.c (includes): Likewise.
81757         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
81758         still visible.
81760 2009-09-02  Eric Blake  <ebb9@byu.net>
81762         errno: use consistently
81763         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
81764         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
81765         * lib/canonicalize.c (ELOOP): Likewise.
81766         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
81767         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
81768         * lib/lchown.c (EOPNOTSUPP): Likewise.
81769         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
81770         * lib/savewd.c (ESTALE): Likewise.
81771         * lib/settime.c (ENOSYS): Likewise.
81772         * lib/utimens.c (ENOSYS): Likewise.
81773         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
81774         * lib/chdir-safer.c (ELOOP): Likewise.
81775         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
81776         * modules/c-stack (Depends-on): Add errno.
81777         * modules/canonicalize (Depends-on): Likewise.
81778         * modules/chdir-safer (Depends-on): Likewise.
81779         * modules/fdopendir (Depends-on): Likewise.
81780         * modules/inet_ntop (Depends-on): Likewise.
81781         * modules/inet_pton (Depends-on): Likewise.
81782         * modules/lchown (Depends-on): Likewise.
81783         * modules/openat (Depends-on): Likewise.
81784         * modules/savewd (Depends-on): Likewise.
81785         * modules/settime (Depends-on): Likewise.
81786         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
81788         fts: avoid leaking fds
81789         * modules/fts (Depends-on): Add cloexec.
81790         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
81791         flag.
81793         fts: make directory fds more robust
81794         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
81795         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
81797         backupfile, chdir-long, fts, savedir: make safer
81798         * lib/backupfile.c (includes): Use "dirent--.h", since
81799         numbered_backup can write to stderr during readdir.
81800         * lib/savedir.c (includes): Likewise.
81801         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
81802         emulation can write to stderr on failure.
81803         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
81804         * lib/getcwd.c: Document why opendir_safer is unused.
81805         * lib/glob.c: Likewise.
81806         * lib/scandir.c: Likewise.
81807         * lib/openat-proc.c: Likewise, for open_safer.
81808         * modules/backupfile (Depends-on): Add dirent-safer.
81809         * modules/savedir (Depends-on): Likewise.
81810         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
81811         * modules/chdir-long (Depends-on): Add openat-safer.
81813         openat-safer: new module
81814         * modules/openat-safer: New file.
81815         * lib/openat-safer.c: Likewise.
81816         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
81817         * lib/fcntl-safer.h (openat_safer): Declare.
81818         * lib/fcntl--.h (openat): Override.
81819         * MODULES.html.sh (File descriptor based I/O): Mention it.
81820         * lib/openat.h: Add double-inclusion guards.
81821         * lib/openat.c (includes): Only include "fcntl-safer.h", not
81822         "fcntl--.h", so we can implement openat.
81823         * modules/openat-safer-tests: New test.
81824         * tests/test-openat-safer.c: New file.
81826         dirent-safer: new module
81827         * modules/dirent-safer: New file.
81828         * lib/dirent--.h: Likewise.
81829         * lib/dirent-safer.h: Likewise.
81830         * lib/opendir-safer.c: Likewise.
81831         * m4/dirent-safer.m4: Likewise.
81832         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
81833         * modules/dirent-safer-tests: New test.
81834         * tests/test-dirent-safer.c: New file.
81835         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
81837         fdopendir: optimize on mingw
81838         * lib/unistd.in.h (_gl_directory_name): New prototype.
81839         * lib/fchdir.c (_gl_directory_name): Implement it.
81840         (fchdir): Use it to simplify implementation.
81841         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
81842         fchdir, when available, to avoid calling [f]chdir().
81844         fdopendir: split into its own module
81845         * lib/openat.c (fdopendir): Move...
81846         * lib/fdopendir.c: ...into new file.
81847         * modules/fdopendir: New module.
81848         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
81849         * modules/openat (Depends-on): Add fdopendir.
81850         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
81851         fdopendir here.
81852         * modules/savedir (Depends-on): Only need fdopendir, not full
81853         openat.
81854         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
81855         * lib/openat.h (fdopendir): Drop prototype.
81856         * lib/dirent.in.h (fdopendir): Provide prototype.
81857         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
81858         * modules/dirent (Makefile.am): Substitute them.
81859         * MODULES.html.sh (File system functions): Mention it.
81860         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
81861         * modules/fdopendir-tests: New file.
81862         * tests/test-fdopendir.c: Likewise.
81864         fchdir: use more consistent macro convention
81865         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
81866         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
81867         REPLACE_FCHDIR, rather than relying on config.h macros.
81868         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
81869         inside a single make-time REPLACE_FCHDIR block, rather than using
81870         the config.h FCHDIR_REPLACEMENT.
81871         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
81872         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
81873         Manage fstat replacement.
81874         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
81875         REPLACE_FCHDIR.
81876         * modules/sys_stat (Files): Add m4/unistd_h.m4.
81877         (Makefile.am): Substitute REPLACE_FCHDIR.
81878         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
81879         FCHDIR_REPLACEMENT.
81880         * lib/dup-safer.c (dup_safer): Likewise.
81881         * lib/dup2.c (rpl_dup2): Likewise.
81882         * lib/dup3.c (rpl_dup3): Likewise.
81883         * lib/open.c (rpl_open): Likewise.
81885         fchdir: simplify error handling, and support dup3
81886         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
81887         stdbool, malloc-posix, realloc-posix.
81888         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
81889         (ensure_dirs_slot): Return false on allocation failure.
81890         (rpl_dup2): Delete.
81891         (_gl_register_dup): New function.
81892         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
81893         (_gl_register_fd): Close fd on allocation failure.
81894         * lib/fcntl.in.h (_gl_register_fd): Update signature.
81895         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
81896         prototype.
81897         (rpl_dup2_fchdir): Delete prototype.
81898         * lib/open.c (open): Update caller.
81899         * lib/dup2.c (dup2): Track fchdir metadata.
81900         * lib/dup3.c (dup3): Likewise.
81901         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
81902         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
81904 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81906         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
81907         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
81908         don't pass arguments to AC_OUTPUT.
81910 2009-09-02  Bruno Haible  <bruno@clisp.org>
81912         * modules/mkdtemp (License): Relicense under LGPLv2+.
81913         Reported by Paolo Bonzini.
81915 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81917         Replace uses of obsolete autoconf macros in Jim's modules.
81918         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
81919         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
81920         can evoke a warning from autoconf when run with -Wobsolete
81921         enabled.  They were declared obsolete for good reasons (see
81922         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
81923         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
81924         should not continue using the deprecated macros.
81925         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
81926         obsolete Autoconf macros with modern counterparts.
81927         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81928         * m4/dos.m4 (gl_AC_DOS): Likewise.
81929         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
81930         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
81931         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
81932         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
81933         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
81934         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
81935         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
81936         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
81937         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
81938         Likewise.
81939         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
81940         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81941         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
81942         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
81943         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
81944         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81946 2009-09-01  Eric Blake  <ebb9@byu.net>
81948         fchdir: fix off-by-one bug in previous patch
81949         * lib/fchdir.c (rpl_fstat): Use correct bounds.
81950         (_gl_unregister_fd): Delete useless if.
81952 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
81954         maint.mk: sort the list of syntax-check rules
81955         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
81956         easier to get a sense of progress when the rules are run sequentially
81957         and take a long time.
81959 2009-09-01  Simon Josefsson  <simon@josefsson.org>
81961         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
81962         * modules/netinet_in: Likewise.
81963         * modules/sys_file: Likewise.
81964         * modules/sys_ioctl: Likewise.
81965         * modules/sys_select: Likewise.
81966         * modules/sys_socket: Likewise.
81967         * modules/sys_stat: Likewise.
81968         * modules/sys_time: Likewise.
81969         * modules/sys_times: Likewise.
81970         * modules/sys_utsname: Likewise.
81971         * modules/sys_wait: Likewise.
81973 2009-09-01  Jim Meyering  <meyering@redhat.com>
81975         fts: help ensure that return values are not ignored
81976         * lib/fts_.h (__GNUC_PREREQ): Define.
81977         (__attribute_warn_unused_result__): Define.
81978         (fts_children, fts_close, fts_open, fts_read): Declare with
81979         __attribute_warn_unused_result__.
81981         fts: fts_close now fails also when closing a dir file descriptor fails
81982         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
81983         and propagate to caller, along with errno.
81985         announce-gen: correct formatting in --help output
81986         * build-aux/announce-gen (usage): Move the one-line description in
81987         --help output "up", to where it belongs, just after Usage:.
81989 2009-08-31  Eric Blake  <ebb9@byu.net>
81991         fchdir: port to mingw
81992         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
81993         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
81994         opened, then use a substitute.
81995         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
81996         replacement.
81997         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
81998         (_gl_register_fd): No need to check stat if open already filters
81999         all directories.
82000         (fchdir): Fix error condition to match POSIX.
82001         * modules/fchdir (Depends-on): Add sys_stat.
82002         * doc/posix-functions/open.texi (open): Document the limitation.
82003         * modules/fchdir-tests: New file.
82004         * tests/test-fchdir.c: Likewise.
82006         canonicalize: allow cross-testing from cygwin to mingw
82007         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
82008         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
82009         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
82010         Likewise.
82011         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
82012         target does not support symlinks.
82013         * tests/test-canonicalize-lgpl.sh: Likewise.
82015         chown: avoid compilation warning on mingw
82016         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
82017         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
82018         mingw.
82019         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
82020         * modules/chown (Depends-on): Add errno.
82022 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
82024         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
82025         command.
82027 2009-08-31  Jim Meyering  <meyering@redhat.com>
82029         canonicalize: remove useless initialization
82030         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
82031         initialization of local, "end".
82033 2009-08-30  Bruno Haible  <bruno@clisp.org>
82035         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
82036         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
82037         ENOSYS.
82039 2009-08-30  Bruno Haible  <bruno@clisp.org>
82041         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
82042         /usr/xpg4/bin/tr when it exists.
82043         * tests/test-pipe-filter-gi1.sh: Likewise.
82045 2009-08-30  Bruno Haible  <bruno@clisp.org>
82047         Work around deficient /usr/bin/id program on Solaris.
82048         * tests/test-file-has-acl.sh (ID): New variable.
82049         * tests/test-set-mode-acl.sh (ID): Likewise.
82050         * tests/test-copy-acl.sh (ID): Likewise.
82051         * tests/test-copy-file.sh (ID): Likewise.
82053 2009-08-30  Bruno Haible  <bruno@clisp.org>
82055         New module 'xstriconveh'.
82056         * lib/xstriconveh.h: New file.
82057         * lib/xstriconveh.c: New file.
82058         * modules/xstriconveh: New file.
82060 2009-08-30  Bruno Haible  <bruno@clisp.org>
82062         Make it easier to use mem_cd_iconveh.
82063         * lib/striconveh.h (iconveh_t): New type.
82064         (iconveh_open, iconveh_close): New declarations.
82065         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
82066         with a single 'const iconveh_t *' argument.
82067         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
82068         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
82069         with a single 'const iconveh_t *' argument.
82070         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
82071         * tests/test-striconveh.c (main): Update.
82072         * NEWS: Mention the change.
82074 2009-08-30  Bruno Haible  <bruno@clisp.org>
82076         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
82077         problem.
82079 2009-08-30  Bruno Haible  <bruno@clisp.org>
82081         Work around iconv_open problem on Solaris.
82082         * lib/iconv_open-solaris.gperf: New file.
82083         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
82084         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
82085         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
82086         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
82087         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
82088         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
82090 2009-08-29  Jim Meyering  <meyering@redhat.com>
82092         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
82093         * top/maint.mk (cvs-check): Remove target; it was just an alias
82094         to the better-named vc-diff-check.
82095         (maintainer-distcheck): Remove rule.  It was used only from
82096         the (alpha/beta/major) target, and all of its commands but one
82097         were coreutils-specific.
82098         (vc-dist): Remove rule.
82099         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
82100         Run vc-diff-check, not vc-dist.
82101         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
82103 2009-08-27  Bruno Haible  <bruno@clisp.org>
82105         * tests/test-bitrotate.c (main): Remove test that uses a shift count
82106         of 0.
82108 2009-08-27  Bruno Haible  <bruno@clisp.org>
82110         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
82111         compilers.
82112         * doc/func.texi: Document the SunPRO C bug.
82114 2009-08-27  Bruno Haible  <bruno@clisp.org>
82116         Fix link error on Solaris.
82117         * tests/test-parse-duration.c (xstrdup): Remove function.
82119 2009-08-26  Pádraig Brady  <P@draigbrady.com>
82121         ignore-value: handle pointer types, too
82122         * lib/ignore-value.h (__attribute__): Remove definition.
82123         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
82124         of a more concise and more-often effective "(void) i" statement.
82125         (ignore_ptr): New function to suppress warnings from functions that
82126         return pointers, and to make it explicit that one function doesn't
82127         handle all cases.
82129 2009-08-25  Bruno Haible  <bruno@clisp.org>
82131         dup2: work around a Linux bug.
82132         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
82133         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
82134         * doc/posix-functions/dup2.texi: Mention the Linux bug.
82135         Reported by Simon Josefsson.
82137 2009-08-25  Jim Meyering  <meyering@redhat.com>
82139         libguestfs uses gnulib
82140         * users.txt: Add libguestfs.
82142 2009-08-24  Eric Blake  <ebb9@byu.net>
82144         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
82145         * lib/pipe2.c (includes): Add binary-io.h.
82146         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
82148 2009-08-24  Bruno Haible  <bruno@clisp.org>
82150         Tolerate declared but missing accept4 syscall.
82151         * lib/accept4.c (accept4): Invoke original accept4 function first, if
82152         available.
82153         * lib/sys_socket.in.h (accept4): If the function is already present,
82154         override it.
82155         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
82156         * modules/accept4 (Makefile.am): Compile accept4.c always.
82157         Reported by Paolo Bonzini and Eric Blake.
82159 2009-08-23  Bruno Haible  <bruno@clisp.org>
82161         New module 'accept4'.
82162         * lib/sys_socket.in.h (accept4): New declaration.
82163         * lib/accept4.c: New file.
82164         * m4/accept4.m4: New file.
82165         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
82166         GNULIB_ACCEPT4, HAVE_ACCEPT4.
82167         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
82168         HAVE_ACCEPT4.
82169         * modules/accept4: New file.
82170         * doc/glibc-functions/accept4.texi: Mention the new module.
82172 2009-08-24  Jim Meyering  <meyering@redhat.com>
82174         progname: also set global program_invocation_name, when possible
82175         Before this change, a libtool-enabled program that calls glibc's
82176         error function would report the program name as
82177         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
82178         * modules/progname (configure.ac): Check for a declaration of
82179         program_invocation_name.
82180         * lib/progname.c:  Include <errno.h>.
82181         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
82182         Set program_invocation_name.
82184 2009-08-23  Bruno Haible  <bruno@clisp.org>
82186         * lib/dup3.c: Include <string.h>.
82188 2009-08-23  Bruno Haible  <bruno@clisp.org>
82190         * lib/dup3.c (dup3): Test only once whether the system actually exists.
82191         * lib/pipe2.c (pipe2): Likewise.
82192         Suggested by Eric Blake.
82194 2009-08-23  Bruno Haible  <bruno@clisp.org>
82196         Tolerate declared but missing dup3 syscall.
82197         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
82198         * lib/unistd.in.h (dup3): If the function is already present,
82199         override it.
82200         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
82201         * modules/dup3 (Makefile.am): Compile dup3.c always.
82202         Reported by Paolo Bonzini.
82204 2009-08-23  Bruno Haible  <bruno@clisp.org>
82206         Tolerate declared but missing pipe2 syscall.
82207         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
82208         available.
82209         * lib/unistd.in.h (pipe2): If the function is already present,
82210         override it.
82211         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
82212         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
82213         Reported by Paolo Bonzini.
82215 2009-08-23  Bruno Haible  <bruno@clisp.org>
82217         * lib/pipe2.c (pipe2): Move #ifs inside function.
82219 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82221         quotearg: document limitations of quote_these_too
82222         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
82223         those limitations are created.
82224         * lib/quotearg.h (set_char_quoting): Document that digits and
82225         letters that are special after backslash are not permitted.
82226         (quotearg_char): Cross-reference set_char_quoting documentation.
82228 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
82230         quotearg: implement custom_quoting_style
82231         * lib/quotearg.c: (struct quoting_options): Add left_quote and
82232         right_quote fields.
82233         (set_custom_quoting): New public function.
82234         (quotearg_buffer_restyled): Add left_quote and right_quote
82235         arguments, handle them very much like locale quoting, and update
82236         all uses.
82237         (quotearg_n_custom): New public function.
82238         (quotearg_n_custom_mem): New public function.
82239         (quotearg_custom): New public function.
82240         (quotearg_custom_mem): New public function.
82241         * lib/quotearg.h: Prototype and document new public functions.
82242         (enum quoting_style): For escape_quoting_style and
82243         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
82244         ignored even though they're otherwise like c_quoting_style.
82245         Add custom_quoting_style member and document with comparison to
82246         clocale_quoting_style.
82247         * tests/test-quotearg.c (custom_quotes): New array.
82248         (custom_results): New array.
82249         (main): Extend to test custom quoting.
82251 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82253         quotearg: fix right quote escaping when it's in quote_these_too
82254         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
82255         quote, be sure to prepend only one backslash.
82256         * tests/test-quotearg.c (use_quote_double_quotes): New function.
82257         (main): Test it.
82259 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82261         quotearg-tests: test escaping of embedded locale quotes
82262         * tests/test-quotearg.c (struct result_strings): Add member for
82263         new input.
82264         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
82265         (inputs): Add new input.
82266         (results_g): Add expected results.
82267         (flag_results): Likewise.
82268         (locale_results): Likewise.
82269         (compare_strings): Check those.
82271 2009-08-23  Bruno Haible  <bruno@clisp.org>
82273         Tests for module 'dup3'.
82274         * modules/dup3-tests: New file.
82275         * tests/test-dup3.c: New file.
82277         New module 'dup3'.
82278         * lib/unistd.in.h (dup3): New declaration.
82279         * lib/dup3.c: New file.
82280         * m4/dup3.m4: New file.
82281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
82282         HAVE_DUP3.
82283         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
82284         * modules/dup3: New file.
82285         * doc/glibc-functions/dup3.texi: Mention the new module.
82287 2009-08-23  Bruno Haible  <bruno@clisp.org>
82289         Tweak the dup2 test.
82290         * tests/test-dup2.c (main): Create the test file empty. Verify that an
82291         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
82292         the test file is still empty. Fix argument order of lseek.
82294 2009-08-23  Bruno Haible  <bruno@clisp.org>
82296         Avoid test link errors when the modules getopt-gnu, gettext are used.
82297         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
82298         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82300 2009-08-23  Bruno Haible  <bruno@clisp.org>
82302         Fix getdtablesize() on mingw.
82303         * lib/getdtablesize.c (getdtablesize): Implement differently.
82304         * lib/unistd.in.h (getdtablesize): Improve comment.
82306 2009-08-23  Bruno Haible  <bruno@clisp.org>
82308         New module 'mkostemp'.
82309         Based on Ulrich Drepper's 2007-08-10 change in glibc.
82310         * lib/stdlib.in.h (mksotemp): New declaration.
82311         * lib/mkostemp.c: New file, from glibc with modifications.
82312         * lib/tempname.h (GT_FILE): Remove outdated comment.
82313         (gen_tempname): Add flags argument.
82314         * lib/tempname.c (__GT_BIGFILE): Remove macro.
82315         (__GT_FILE): Map to 1.
82316         (small_open, large_open): Remove macros.
82317         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
82318         * lib/mkstemp.c (mkstemp): Update.
82319         * lib/mkdtemp.c (mkdtemp): Likewise.
82320         * m4/mkostemp.m4: New file.
82321         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
82322         HAVE_MKOSTEMP.
82323         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
82324         HAVE_MKOSTEMP.
82325         * modules/mkostemp: New file, based on modules/mkstemp.
82326         * doc/glibc-functions/mkostemp.texi: Mention the new module.
82327         * NEWS: Mention the change.
82329 2009-08-23  Bruno Haible  <bruno@clisp.org>
82331         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
82332         Reported by Eric Blake.
82334 2009-08-23  Bruno Haible  <bruno@clisp.org>
82336         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
82337         Reported by Eric Blake.
82339 2009-08-23  Bruno Haible  <bruno@clisp.org>
82341         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
82342         * modules/pipe2 (Depends-on): Likewise.
82344 2009-08-23  Eric Blake  <ebb9@byu.net>
82346         fcntl-h: add O_TTY_INIT support
82347         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
82348         * tests/test-fcntl-h.c (o): Test it.
82349         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
82351         fcntl-h: rename from fcntl, in preparation for fcntl(2)
82352         * modules/fcntl: Move <fcntl.h> header replacement...
82353         * modules/fcntl-h: ...to new name, so as not to collide with
82354         like-named function.
82355         * tests/test-fcntl.c: Rename...
82356         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
82357         * modules/fcntl-tests: Rename...
82358         * modules/fcntl-h-tests: ...to this.  Update test file name.
82359         * modules/chdir-long (Depends-on): Update clients.
82360         * modules/chdir-safer (Depends-on): Likewise.
82361         * modules/fcntl-safer (Depends-on): Likewise.
82362         * modules/fts (Depends-on): Likewise.
82363         * modules/mkancesdirs (Depends-on): Likewise.
82364         * modules/mkdir-p (Depends-on): Likewise.
82365         * modules/open (Depends-on): Likewise.
82366         * modules/savewd (Depends-on): Likewise.
82367         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
82368         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
82370 2009-08-22  Bruno Haible  <bruno@clisp.org>
82372         * modules/binary-io (License): Relicense under LGPL.
82373         * modules/pipe2 (License): Likewise.
82375 2009-08-22  Bruno Haible  <bruno@clisp.org>
82377         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
82378         return value.
82379         * lib/pipe-filter-gi.c (filter_init): Likewise.
82380         Reported by Eric Blake.
82382 2009-08-22  Bruno Haible  <bruno@clisp.org>
82384         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
82385         * modules/pipe (Depends-on): Add pipe2.
82387 2009-08-22  Bruno Haible  <bruno@clisp.org>
82389         Tests for module 'pipe2'.
82390         * modules/pipe2-tests: New file.
82391         * tests/test-pipe2.c: New file.
82393         New module 'pipe2'.
82394         * lib/unistd.in.h (pipe2): New declaration.
82395         * lib/pipe2.c: New file.
82396         * m4/pipe2.m4: New file.
82397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
82398         HAVE_PIPE2.
82399         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
82400         * modules/pipe2: New file.
82401         * doc/glibc-functions/pipe2.texi: Mention the new module.
82403 2009-08-22  Bruno Haible  <bruno@clisp.org>
82405         Reference some new glibc functions.
82406         * doc/glibc-functions/accept4.texi: New file.
82407         * doc/glibc-functions/dup3.texi: New file.
82408         * doc/glibc-functions/mkostemp.texi: New file.
82409         * doc/glibc-functions/pipe2.texi: New file.
82410         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
82411         (Glibc sys/socket.h): Refer to accept4.
82412         (Glibc unistd.h): Refer to dup3, pipe2.
82413         Reported by Eric Blake.
82415 2009-08-22  Jim Meyering  <meyering@redhat.com>
82416             Bruno Haible  <bruno@clisp.org>
82418         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
82419         This makes it so packages using automake-1.11's silent-rules option
82420         can print e.g., a single "GEN    configmake.h" line, rather than
82421         the 30+ statements that perform the job.  If you want to see the
82422         actual commands, you can still run "make V=1".
82423         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
82424         so that make output is abbreviated when those variables are defined
82425         appropriately.
82426         * modules/argz: Likewise.
82427         * modules/arpa_inet: Likewise.
82428         * modules/byteswap: Likewise.
82429         * modules/configmake: Likewise.
82430         * modules/dirent: Likewise.
82431         * modules/errno: Likewise.
82432         * modules/fcntl: Likewise.
82433         * modules/float: Likewise.
82434         * modules/fnmatch: Likewise.
82435         * modules/getopt-posix: Likewise.
82436         * modules/glob: Likewise.
82437         * modules/iconv_open: Likewise.
82438         * modules/inttypes: Likewise.
82439         * modules/localcharset: Likewise.
82440         * modules/locale: Likewise.
82441         * modules/math: Likewise.
82442         * modules/netdb: Likewise.
82443         * modules/netinet_in: Likewise.
82444         * modules/poll: Likewise.
82445         * modules/posix_spawnp-tests: Likewise.
82446         * modules/sched: Likewise.
82447         * modules/search: Likewise.
82448         * modules/selinux-h: Likewise.
82449         * modules/signal: Likewise.
82450         * modules/spawn: Likewise.
82451         * modules/stdarg: Likewise.
82452         * modules/stdbool: Likewise.
82453         * modules/stddef: Likewise.
82454         * modules/stdint: Likewise.
82455         * modules/stdio: Likewise.
82456         * modules/stdlib: Likewise.
82457         * modules/string: Likewise.
82458         * modules/strings: Likewise.
82459         * modules/sys_file: Likewise.
82460         * modules/sys_ioctl: Likewise.
82461         * modules/sys_select: Likewise.
82462         * modules/sys_socket: Likewise.
82463         * modules/sys_stat: Likewise.
82464         * modules/sys_time: Likewise.
82465         * modules/sys_times: Likewise.
82466         * modules/sys_utsname: Likewise.
82467         * modules/sys_wait: Likewise.
82468         * modules/sysexits: Likewise.
82469         * modules/time: Likewise.
82470         * modules/unistd: Likewise.
82471         * modules/wchar: Likewise.
82472         * modules/wctype: Likewise.
82474 2009-08-22  Jim Meyering  <meyering@redhat.com>
82476         announce-gen: detect write failure
82477         * build-aux/announce-gen: Add Coda at end.
82478         Remove equivalent-but-more-verbose block at top.
82480 2009-08-19  Akim Demaille  <demaille@gostai.com>
82482         bootstrap: --help to stdout.
82483         * bootstrap (usage): Don't send --help to stderr.
82484         Use a here doc instead of a long string.
82486 2009-08-21  Eric Blake  <ebb9@byu.net>
82488         test-popen-safer: split from test-popen
82489         * tests/test-popen.c (main): Move...
82490         * tests/test-popen.h: ...into new file.
82491         * tests/test-popen-safer2.c: New file.
82492         * modules/popen-tests (Files): Add test-popen.h.
82493         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
82494         Suggested by Bruno Haible.
82496         test-fcntl-safer: split from test-open
82497         * tests/test-open.c (main): Move...
82498         * tests/test-open.h: ...into new file.
82499         * tests/test-fcntl-safer.c: New file.
82500         * modules/open-tests (Files): Add test-open.h.
82501         * modules/fcntl-safer-tests: New file.
82502         Suggested by Bruno Haible.
82504         test-fopen-safer: split from test-fopen
82505         * tests/test-fopen.c (main): Move...
82506         * tests/test-fopen.h: ...into new file.
82507         * tests/test-fopen-safer.c: New file.
82508         * modules/fopen-tests (Files): Add test-fopen.h.
82509         * modules/fopen-safer-tests: New file.
82510         Suggested by Bruno Haible.
82512 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82514         popen-safer: test O_CLOEXEC at run-time.
82515         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
82517 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82519         fcntl: move more flags to the header
82520         * lib/cloexec.c: Do not define FD_CLOEXEC here.
82521         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
82522         * lib/fcntl.in.h: Do both things here.
82524 2009-08-21  Jim Meyering  <meyering@redhat.com>
82526         consistently remove $@-t before redirecting to it
82527         * modules/argz: Remove $@-t and $@ before redirecting to the former.
82528         * modules/alloca-opt: Likewise.
82529         * modules/byteswap: Likewise.
82530         * modules/fnmatch: Likewise.
82531         * modules/getopt-posix: Likewise.
82532         * modules/glob: Likewise.
82533         * modules/poll: Likewise.
82534         * modules/posix_spawnp-tests: Likewise.
82535         * modules/sys_socket: Likewise.
82536         * modules/sysexits: Likewise.
82538 2009-08-21  Eric Blake  <ebb9@byu.net>
82540         popen: simplify access to original popen
82541         * lib/popen.c (rpl_popen): No need to worry about popen being a
82542         macro.
82543         Reported by Bruno Haible.
82545 2009-08-20  Eric Blake  <ebb9@byu.net>
82547         build: avoid some compiler warnings
82548         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
82549         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
82550         type.
82551         (new_exclude_segment, excluded_file_pattern_p)
82552         (excluded_file_name_p): Reduce scope.
82553         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
82554         old-style declaration.
82556 2009-08-20  Simon Josefsson  <simon@josefsson.org>
82558         * tests/test-exclude1.sh: Handle Windows EOL.
82559         * tests/test-exclude2.sh: Likewise.
82560         * tests/test-exclude3.sh: Likewise.
82561         * tests/test-exclude4.sh: Likewise.
82562         * tests/test-exclude5.sh: Likewise.
82563         * tests/test-exclude6.sh: Likewise.
82564         * tests/test-exclude7.sh: Likewise.
82566 2009-08-19  Akim Demaille  <demaille@gostai.com>
82568         bootstrap: find sha1sum when named gsha1sum.
82569         * bootstrap (find_tool): New.
82570         ($SHA1SUM): New.
82571         Use it.
82573 2009-08-20  Jim Meyering  <meyering@redhat.com>
82575         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
82576         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
82577         expression that converts "." in a file name to "\." in the resulting
82578         regexp.  Start with a dummy statement, so that prior shell variable
82579         definitions are expanded portably.  Reported by Simon Josefsson.
82581 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
82583         Fix polling for writeability of a screen buffer.
82584         * lib/poll.c: Distinguish input and screen buffers for the
82585         Win32 implementation.
82586         * lib/select.c: Likewise.
82588 2009-08-19  Eric Blake  <ebb9@byu.net>
82590         popen-safer: prevent popen from clobbering std descriptors
82591         * modules/popen-safer: New file.
82592         * lib/popen-safer.c: Likewise.
82593         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
82594         * lib/stdio--.h (popen): Provide override.
82595         * lib/stdio-safer.h (popen_safer): Provide declaration.
82596         * tests/test-popen.c (includes): Partially test this.
82597         * modules/popen-safer-tests: New file, for more tests.
82598         * tests/test-popen-safer.c: Likewise.
82599         * MODULES.html.sh (file stream based Input/Output): Mention it.
82601         tests: test some of the *-safer modules
82602         * modules/fopen-safer (Depends-on): Add fopen.
82603         * modules/fcntl-safer (Depends-on): Add fcntl.
82604         * modules/stdlib-safer (Depends-on): Add stdlib.
82605         (configure.ac): Set indicator.
82606         * modules/unistd-safer (configure.ac): Likewise.
82607         * modules/tmpfile-safer (configure.ac): Likewise.
82608         (Depends-on): Add tmpfile.
82609         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
82610         active.
82611         * tests/test-fopen.c (includes): Test safer versions when they are
82612         in use.
82613         * tests/test-open.c (includes): Likewise.
82615         popen: fix cygwin 1.5 bug when stdin closed
82616         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
82617         * modules/popen: New file.
82618         * modules/popen-tests: Likewise.
82619         * tests/test-popen.c: Likewise.
82620         * m4/popen.m4: Likewise.
82621         * lib/popen.c: Likewise.
82622         * lib/stdio.in.h (popen): New declaration.
82623         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
82624         * modules/stdio (Makefile.am): Likewise.
82625         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
82627 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
82629         maint.mk: give full control over update-copyright exclusions
82630         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
82631         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
82632         (update-copyright): Don't force inclusion of top-level
82633         ChangeLog.  Don't force exclusion of all COPYING files, but make
82634         them the default exclusion instead.
82636 2009-08-16  Bruno Haible  <bruno@clisp.org>
82638         Fix test failures on Solaris 10.
82639         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
82640         tests when Solaris iconv() is used.
82641         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
82642         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
82643         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
82644         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
82645         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
82647 2009-08-16  Bruno Haible  <bruno@clisp.org>
82649         Fix test failures on Solaris 10.
82650         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
82651         'tr' program and pass it as first argument.
82652         * tests/test-pipe-filter-gi1.sh: Likewise.
82653         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
82654         program as first argument.
82655         * tests/test-pipe-filter-gi1.c (main): Likewise.
82657 2009-08-16  Eric Blake  <ebb9@byu.net>
82659         fpurge: fix previous commits
82660         * modules/fpurge (Makefile.am): Make replacement conditional,
82661         partially reverting 2007-04-29 change; missed in previous
82662         attempt.
82663         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
82664         is missing.
82666 2009-08-16  Bruno Haible  <bruno@clisp.org>
82668         Clarify fpurge's effect on the file position.
82669         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
82670         * tests/test-fpurge.c (main): Make a second pass for checking the file
82671         position.
82673 2009-08-16  Bruno Haible  <bruno@clisp.org>
82675         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
82676         declaration of fpurge is missing.
82677         * tests/test-fpurge.c (main): Check that the file has not more contents
82678         than expected. Close the file before removing it.
82680 2009-08-15  Eric Blake  <ebb9@byu.net>
82682         fpurge: don't wrap working cygwin implementation
82683         * lib/fpurge.c (fpurge): Fix comment typo.
82684         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
82685         1.7 to avoid replacement.
82686         * tests/test-fpurge.c (main): Enhance test.
82688 2009-08-15  Eric Blake  <ebb9@byu.net>
82689         and Jim Meyering  <meyering@redhat.com>
82691         test-update-copyright: skip if perl is insufficient
82692         * tests/test-update-copyright.sh: Failure to run maintainer tool
82693         should not cause testsuite failure on cygwin 1.5.
82695 2009-08-14  Eric Blake  <ebb9@byu.net>
82697         doc: mention more functions added in cygwin 1.7.0
82698         * doc/posix-headers/limits.texi (limits.h): Update for recent
82699         cygwin additions.
82700         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
82701         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
82702         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
82703         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
82704         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
82706 2009-08-14  Eric Blake  <ebb9@byu.net>
82708         maint.mk: simplify update-copyright rule
82709         * top/maint.mk (update-copyright-local): Delete, and document how
82710         to do it in cfg.mk instead.
82711         (update-copyright-exclude-regexp): Delete, and document how to do
82712         it in .x-update-copyright instead.
82713         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
82714         exclude ChangeLog.
82716 2009-08-14  Bruno Haible  <bruno@clisp.org>
82718         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
82720 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82722         maint.mk: support update-copyright-env
82723         * top/maint.mk (update-copyright-env): Define place-holder.
82724         (update-copyright): Expand $(update-copyright-env) before
82725         invoking update-copyright.
82727 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82729         update-copyright: implement forced reformatting
82730         * build-aux/update-copyright: Implement and document
82731         UPDATE_COPYRIGHT_FORCE.
82732         * tests/test-update-copyright.sh: Test it.
82734 2009-08-14  Eric Blake  <ebb9@byu.net>
82735         and Bruno Haible  <bruno@clisp.org>
82737         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
82738         * tests/test-locale.c: Revert previous patch related to NULL.
82739         * tests/test-stdio.c: Likewise.
82740         * tests/test-stdlib.c: Likewise.
82741         * tests/test-string.c: Likewise.
82742         * tests/test-unistd.c: Likewise.
82743         * modules/time-tests (Depends-on): Add verify.
82744         * modules/wchar-tests (Depends-on): Likewise.
82745         * tests/test-time.c: Test for NULL compliance.
82746         * tests/test-wchar.c: Likewise.
82747         * modules/locale (Depends-on): Add stddef.
82748         * modules/stdio (Depends-on): Likewise.
82749         * modules/stdlib (Depends-on): Likewise.
82750         * modules/string (Depends-on): Likewise.
82751         * modules/time (Depends-on): Likewise.
82752         * modules/unistd (Depends-on): Likewise.
82753         * modules/wchar (Depends-on): Likewise.
82754         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
82755         * lib/stdlib.in.h (includes): Likewise.
82756         * lib/string.in.h (includes): Likewise.
82757         * lib/time.in.h (includes): Likewise.
82758         * lib/unistd.in.h (includes): Likewise.
82759         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
82760         replaced.
82761         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
82762         * m4/stddef_h.m4: New file.
82763         * modules/stddef: Likewise.
82764         * lib/stddef.in.h: Likewise.
82765         * modules/stddef-tests: Likewise.
82766         * tests/test-stddef.c: Likewise.
82767         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
82768         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
82769         * doc/posix-headers/locale.texi (locale.h): Likewise.
82770         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
82771         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
82772         * doc/posix-headers/string.texi (string.h): Likewise.
82773         * doc/posix-headers/time.texi (time.h): Likewise.
82774         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
82775         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
82777 2009-08-14  Eric Blake  <ebb9@byu.net>
82779         doc: improve git diff of texinfo files
82780         * .gitattributes: Add rule for *.texi files, with hint on how to
82781         use it.
82782         Copied from m4, and based on a report by Bruno Haible.
82784 2009-08-14  Bruno Haible  <bruno@clisp.org>
82786         Disable multithread support by default on Cygwin 1.5.x for real.
82787         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
82789 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82791         update-copyright: much ado about intervals
82792         * build-aux/update-copyright: Implement and document
82793         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
82794         of copyright year intervals.
82795         Also, document UPDATE_COPYRIGHT_YEAR.
82796         * tests/test-update-copyright.sh: Test it.
82798         update-copyright: convert 2-digit to 4-digit years
82799         * build-aux/update-copyright: Implement and document.
82800         * tests/test-update-copyright.sh: Update.
82802 2009-08-14  Jim Meyering  <meyering@redhat.com>
82804         test-exclude: avoid coreutils "make check" failure
82805         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
82806         just as in test-argmatch.c.
82808 2009-08-13  Eric Blake  <ebb9@byu.net>
82810         test-dup2: fix bad assumption
82811         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
82812         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
82814         test-version-etc: fix CRLF portability issue
82815         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
82816         recognize \r.
82817         * tests/test-argp-version-etc-1.sh: Likewise.
82819         getopt: update client modules
82820         * modules/argp (Depends-on): Use getopt-gnu.
82821         * modules/git-merge-changelog (Depends-on): Likewise.
82822         * modules/long-options (Depends-on): Likewise.
82823         * modules/xstrtol (Depends-on): Likewise.
82825 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82827         * tests/test-version-etc.sh: Don't fail on different
82828         project/version.  Don't fail on CRLF differences.  Rewrite to use
82829         multiple -e instead of multiple sed forks, suggested by Eric Blake
82830         <ebb9@byu.net>.
82831         * tests/test-argp-version-etc-1.sh: Likewise.
82833 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82835         * tests/test-version-etc.sh: Don't fail on different
82836         project/version.
82838 2009-08-12  Bruno Haible  <bruno@clisp.org>
82840         Tests for modules 'getopt-posix', 'getopt-gnu'.
82841         * modules/getopt-posix-tests: New file.
82842         * tests/test-getopt.c: New file.
82843         * tests/test-getopt.h: New file.
82844         * tests/test-getopt_long.h: New file.
82846         New modules 'getopt-posix', 'getopt-gnu'.
82847         * modules/getopt-gnu: New file, renamed from modules/getopt.
82848         * modules/getopt-posix: New file.
82849         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
82850         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
82851         (gl_GETOPT): Remove macro.
82852         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
82853         Disable the test against BSD systems that declare optreset. Test
82854         against mingw bug. Test against lack of support of optional arguments
82855         on many platforms.
82856         * doc/glibc-headers/getopt.texi: Update module name and list of
82857         relevant platforms.
82858         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
82859         'getopt-gnu' and more portability problems.
82860         * NEWS: Mention the changes.
82862 2009-08-12  Bruno Haible  <bruno@clisp.org>
82864         Ensure that optarg etc. get declared by <unistd.h>.
82865         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
82866         AC_USE_SYSTEM_EXTENSIONS.
82867         * modules/getopt (Depends-on): Add 'extensions'.
82869 2009-08-12  Bruno Haible  <bruno@clisp.org>
82871         Avoid test link errors.
82872         * modules/pipe-filter-ii-tests (Makefile.am): Define
82873         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
82874         * modules/pipe-filter-gi-tests (Makefile.am): Define
82875         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
82876         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82878 2009-08-12  Bruno Haible  <bruno@clisp.org>
82880         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
82881         gl_GETOPT_SUBSTITUTE before.
82882         (gl_GETOPT): Use it.
82883         * m4/argp.m4 (gl_ARGP): Update.
82884         Reported by Sergey Poznyakoff.
82886         * m4/getopt.m4: Reorder macros.
82887         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
82888         (gl_GETOPT_SUBSTITUTE): Remove macro.
82890 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82892         Minor improvement in gitlog-to-changelog
82894         * build-aux/gitlog-to-changelog: New option `--format' makes
82895         output format string configurable.
82897 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82899         Optimize exclude: use hash tables for non-wildcard patterns.
82901         * lib/exclude.c: Include hash.h and mbuiter.h
82902         (struct exclude_pattern, exclude_segment): New data types.
82903         (struct exclude): Rewrite.
82904         (fnmatch_pattern_has_wildcards): New function.
82905         (new_exclude_segment, free_exclude_segment): New functions.
82906         (excluded_file_pattern_p, excluded_file_name_p): New functions.
82907         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
82908         * lib/exclude.h (is_fnmatch_pattern): New prototype.
82909         * modules/exclude: Depend on hash and mbuiter.
82911         * modules/exclude-tests: New file.
82912         * tests/test-exclude.c: New file.
82913         * tests/test-exclude1.sh: New file.
82914         * tests/test-exclude2.sh: New file.
82915         * tests/test-exclude3.sh: New file.
82916         * tests/test-exclude4.sh: New file.
82917         * tests/test-exclude5.sh: New file.
82918         * tests/test-exclude6.sh: New file.
82919         * tests/test-exclude7.sh: New file.
82921 2009-08-12  Bruno Haible  <bruno@clisp.org>
82923         Ensure that getopt() gets declared by <unistd.h>.
82924         * lib/unistd.in.h: Conditionally include getopt.h.
82925         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
82926         Set GNULIB_UNISTD_H_GETOPT.
82927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82928         GNULIB_UNISTD_H_GETOPT.
82929         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
82931 2009-08-12  Bruno Haible  <bruno@clisp.org>
82933         Clarify logic.
82934         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
82935         gl_replace_getopt instead of GETOPT_H.
82937 2009-08-12  Bruno Haible  <bruno@clisp.org>
82939         * m4/getopt.m4: Add comments.
82941 2009-08-12  Bruno Haible  <bruno@clisp.org>
82943         Disable multithread support by default on Cygwin 1.5.x.
82944         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
82945         set gl_use_threads=no if not specified otherwise.
82947 2009-08-11  Bruno Haible  <bruno@clisp.org>
82949         Avoid compilation error on NetBSD 5.0.
82950         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
82951         * tests/test-stdio.c: Likewise.
82952         * tests/test-stdlib.c: Likewise.
82953         * tests/test-string.c: Likewise.
82954         * tests/test-unistd.c: Likewise.
82955         Reported by Greg Troxel <gdt@ir.bbn.com>
82956         at <https://savannah.gnu.org/support/?106973>.
82958 2009-08-11  Bruno Haible  <bruno@clisp.org>
82960         * modules/dup2-tests (Depends-on): Remove close.
82962         Undo 2009-07-19 commit.
82963         * modules/acl-tests (Depends-on): Remove close.
82964         * modules/binary-io-tests (Depends-on): Likewise.
82965         * modules/closein-tests (Depends-on): Likewise.
82966         * modules/flock-tests (Depends-on): Likewise.
82967         * modules/fsync-tests (Depends-on): Likewise.
82968         * modules/lseek-tests (Depends-on): Likewise.
82969         * modules/pipe-tests (Depends-on): Likewise.
82970         * modules/posix_spawn-tests (Depends-on): Likewise.
82971         * modules/posix_spawnp-tests (Depends-on): Likewise.
82972         * modules/stat-time-tests (Depends-on): Likewise.
82973         * modules/yesno-tests (Depends-on): Likewise.
82975 2009-08-10  Bruno Haible  <bruno@clisp.org>
82977         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
82979 2009-08-10  Bruno Haible  <bruno@clisp.org>
82981         Fix a gcc warning.
82982         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
82984 2009-08-10  Bruno Haible  <bruno@clisp.org>
82986         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
82987         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
82988         not only the first time.
82989         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
82990         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
82991         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
82992         is 1, not only the first time.
82994 2009-08-10  Bruno Haible  <bruno@clisp.org>
82996         Make it possible to use module 'gethostname' without module 'close'.
82997         * lib/unistd.in.h (close): Evoke a link error only if
82998         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
83000         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83001         * modules/unistd (Makefile.am): Substitute
83002         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83003         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
83004         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
83005         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
83006         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83007         * modules/sys_ioctl (Makefile.am): Substitute
83008         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83009         * modules/socket (configure.ac): On native Windows, set
83010         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
83011         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
83012         Reported by Sam Steingold <sds@gnu.org>.
83014 2009-08-10  Bruno Haible  <bruno@clisp.org>
83016         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
83017         * modules/ioctl (configure.ac): Likewise.
83019 2009-08-10  Bruno Haible  <bruno@clisp.org>
83021         Avoid collision between gnulib wrapper and libintl wrapper.
83022         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
83023         already defined in intl/printf.c.
83024         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
83025         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
83027 2009-08-09  Bruno Haible  <bruno@clisp.org>
83029         Make <sys/select.h> really self-contained, also on Solaris 10.
83030         * lib/sys_select.in.h: Include <string.h>.
83031         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
83032         Solaris 10 problem.
83033         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
83034         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
83035         Reported by Jim Meyering.
83037 2009-08-09  Bruno Haible  <bruno@clisp.org>
83039         Avoid warnings from 'aclocal' that are due to a use of macro name
83040         AM_XGETTEXT_OPTION that is not defined in automake.
83041         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
83042         automake.
83043         * modules/error (configure.ac): Likewise.
83044         * modules/propername (configure.ac): Likewise.
83045         * modules/vasprintf (configure.ac): Likewise.
83046         * modules/verror (configure.ac): Likewise.
83047         * modules/xprintf (configure.ac): Likewise.
83048         * modules/xvasprintf (configure.ac): Likewise.
83050 2009-08-08  Bruno Haible  <bruno@clisp.org>
83052         Avoid compilation error in C++ mode.
83053         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
83054         Reported by Sam Steingold <sds@gnu.org>.
83056 2009-08-08  Bruno Haible  <bruno@clisp.org>
83058         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
83059         for the various Unix platforms.
83060         * doc/posix-headers/limits.texi: Update platforms list regarding
83061         HOST_NAME_MAX.
83062         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
83064 2009-08-07  Jim Meyering  <meyering@redhat.com>
83066         selinux-at: fix typo in a comment
83067         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
83068         Spotted by Paolo Bonzini.
83070         selinux-at: remove redundant m4 code, add documentation
83071         * modules/selinux-at (configure.ac): Remove redundant code.
83072         LIB_SELINUX is already set via the dependent module, selinux-h.
83073         (Include): Add quotes around selinux-at.h.
83074         * lib/selinux-at.h: Add documentation.
83075         Reported by Bruno Haible in
83076         http://marc.info/?l=gnulib-bug&m=124958988300749
83078 2009-08-07  Bruno Haible  <bruno@clisp.org>
83080         Avoid link error on MacOS X 10.3 and 10.4.
83081         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
83082         on non-ELF systems.
83083         * lib/argp-pv.c (argp_program_version): Likewise.
83084         Reported by Simon Josefsson.
83086 2009-08-07  Simon Josefsson  <simon@josefsson.org>
83088         * tests/test-version-etc.sh: Use $EXEEXT.
83090 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
83092         update-copyright: update documentation to point to maint.mk
83093         * build-aux/update-copyright: Here.
83095 2009-08-06  Jim Meyering  <meyering@redhat.com>
83097         maint.mk: support update-copyright-local
83098         * top/maint.mk (update-copyright-local): Define place-holder.
83099         (update-copyright): Depend on $(update-copyright-local).
83101 2009-08-06  Jim Meyering  <meyering@redhat.com>
83103         selinux-at: new module
83104         Initially written for coreutils, this module will soon be
83105         used by findutils, too.
83106         * MODULES.html.sh [Misc]: Add selinux-at.
83107         * lib/selinux-at.h: New file, from coreutils.
83108         * lib/selinux-at.c: Likewise.
83109         * modules/selinux-at: Likewise.
83110         (License): Change from LGPL to GPL, since it depends
83111         on the GPL'd openat module.
83113         doc: update README
83114         * README: Remove references to cogito.
83115         Remove cvs-repo-updating instructions from 2007.
83116         Don't imply that CVS is better if you have limited disk space.
83118 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83120         update-copyright: support C-style comments
83121         * build-aux/update-copyright: Implement and document.
83122         * tests/test-update-copyright.sh: Test.
83124 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83126         update-copyright: support omitted "(C)"
83127         * build-aux/update-copyright: Implement and document.  Also,
83128         allow variable whitespace before "(C)".
83129         * tests/test-update-copyright.sh: Test.
83131 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83133         update-copyright: don't trip on non-FSF copyright statements
83134         * build-aux/update-copyright: Fix so that the first correctly
83135         formatted FSF copyright statement is recognized no matter what
83136         appears before it.  Update documentation.
83137         * tests/test-update-copyright.sh: Test that.
83139 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83141         update-copyright: clean up code a little
83142         * build-aux/update-copyright: Append "_re" to the name of any
83143         variable holding a regular expression.
83144         Replace "old" and "new" with "stmt" in variable names.
83145         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
83146         handled correctly.
83147         Format code more consistently.
83149 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83151         update-copyright-tests: improve portability
83152         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
83153         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
83155 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
83157         update-copyright: support @copyright{} and &copy;
83158         * build-aux/update-copyright: Implement and document.
83159         * tests/test-update-copyright.sh: Test.
83161 2009-08-04  Jim Meyering  <meyering@redhat.com>
83163         update-copyright-tests: correctly test EOL=\r\n handling
83164         * tests/test-update-copyright.sh: Put \r at the end of some lines
83165         for the dos-eol tests.  Based on a patch by Joel E. Denny.
83167         maint.mk: make update-copyright exclusion list more configurable
83168         * top/maint.mk (update-copyright): Default to excluding COPYING,
83169         but allow an override, in case someone does want to update that file.
83171         maint.mk: don't update copyright date in COPYING
83172         * top/maint.mk (update-copyright): Exclude COPYING.
83174         maint.mk: add a copyright-updating rule
83175         * top/maint.mk (update-copyright): New rule.
83176         Derived from coreutils/Makefile.am.
83178         update-copyright: rename some variables
83179         * build-aux/update-copyright: Rename a few variables for clarity.
83180         Tweak syntax.  List Joel E. Denny as coauthor.
83182 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
83184         update-copyright: fix bug for 2-digit last year and add tests
83185         * build-aux/update-copyright: Fix bug.
83186         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
83187         specified.
83188         * modules/update-copyright-tests: New
83189         * tests/test-update-copyright.sh: New.
83191 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83193         update-copyright: handle leading tabs in line prefix
83194         * build-aux/update-copyright: Count leading tabs as 8 spaces
83195         when computing margin.  This helps with the formatting of
83196         ChangeLogs, for example.
83197         Fix documentation a little.
83199 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83201         update-copyright: support EOL=\r\n
83202         * build-aux/update-copyright: Implement that.
83204 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83206         update-copyright: automatically format copyright statements
83207         * build-aux/update-copyright: Implement that.
83208         Also, be a little more predictable and safer by always failing
83209         when the full copyright format is not perfectly recognized as an
83210         unbroken whole.  Discussed at
83211         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
83212         Rewrite documentation.
83214 2009-08-03  Bruno Haible  <bruno@clisp.org>
83216         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
83218 2009-08-02  Bruno Haible  <bruno@clisp.org>
83220         Tests for module 'uname'.
83221         * modules/uname-tests: New file.
83222         * tests/test-uname.c: New file.
83224         New module 'uname'.
83225         * lib/uname.c: New file.
83226         * m4/uname.m4: New file.
83227         * modules/uname: New file.
83228         * doc/posix-functions/uname.texi: Mention the new module.
83230 2009-08-02  Bruno Haible  <bruno@clisp.org>
83232         Tests for module 'sys_utsname'.
83233         * modules/sys_utsname-tests: New file.
83234         * tests/test-sys_utsname.c: New file.
83236         New module 'sys_utsname'.
83237         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
83238         * m4/sys_utsname_h.m4: New file.
83239         * modules/sys_utsname: New file.
83240         * doc/posix-headers/sys_utsname.texi: Mention the new module.
83242 2009-08-02  Bruno Haible  <bruno@clisp.org>
83244         Implicitly initialize the sockets library.
83245         * lib/gethostname.c: Include sockets.h.
83246         (rpl_gethostname): Invoke gl_sockets_startup.
83247         * lib/socket.c: Include sockets.h.
83248         (rpl_socket): Invoke gl_sockets_startup.
83249         * modules/gethostname (Depends-on): Add sockets.
83250         * modules/socket (Depends-on): Likewise.
83251         * tests/test-poll.c: Don't include sockets.h.
83252         (main): Don't invoke gl_sockets_startup.
83253         * tests/test-select.c: Don't include sockets.h.
83254         (main): Don't invoke gl_sockets_startup.
83256 2009-08-02  Bruno Haible  <bruno@clisp.org>
83258         Allow multiple calls to gl_sockets_startup.
83259         * lib/sockets.c (initialized_sockets_version): New variable.
83260         (gl_sockets_startup): Do nothing if already called for this or a higher
83261         version.
83262         (gl_sockets_cleanup): Reset initialized_sockets_version.
83264 2009-08-03  Simon Josefsson  <simon@josefsson.org>
83266         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
83267         different project/version.
83269 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
83270             Bruno Haible  <bruno@clisp.org>
83272         Tests for module 'pipe-filter-gi'.
83273         * modules/pipe-filter-gi-tests: New file.
83274         * tests/test-pipe-filter-gi1.sh: New file.
83275         * tests/test-pipe-filter-gi1.c: New file.
83276         * tests/test-pipe-filter-gi2.sh: New file.
83277         * tests/test-pipe-filter-gi2-main.c: New file.
83278         * tests/test-pipe-filter-gi2-child.c: New file.
83280         New module 'pipe-filter-gi'.
83281         * lib/pipe-filter-gi.c: New file.
83282         * modules/pipe-filter-gi: New file.
83284 2009-08-02  Bruno Haible  <bruno@clisp.org>
83285             Paolo Bonzini  <bonzini@gnu.org>
83287         Tests for module 'pipe-filter-ii'.
83288         * modules/pipe-filter-ii-tests: New file.
83289         * tests/test-pipe-filter-ii1.sh: New file.
83290         * tests/test-pipe-filter-ii1.c: New file.
83291         * tests/test-pipe-filter-ii2.sh: New file.
83292         * tests/test-pipe-filter-ii2-main.c: New file.
83293         * tests/test-pipe-filter-ii2-child.c: New file.
83295         New module 'pipe-filter-ii'.
83296         * lib/pipe-filter.h: New file.
83297         * lib/pipe-filter-ii.c: New file.
83298         * lib/pipe-filter-aux.h: New file.
83299         * modules/pipe-filter-ii: New file.
83301 2009-08-02  Simon Josefsson  <simon@josefsson.org>
83303         * lib/gc-libgcrypt.c: Change copyright to FSF.
83304         * lib/gc-gnulib.c: Likewise.
83306 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
83308         * lib/gethostname.c: Include limits.h.
83310 2009-08-02  Simon Josefsson  <simon@josefsson.org>
83311             Bruno Haible  <bruno@clisp.org>
83313         Ensure HOST_NAME_MAX as part of the gethostname module.
83314         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
83315         define also HOST_NAME_MAX.
83316         * tests/test-gethostname.c: Include <limits.h>.
83317         (main): Check also HOST_NAME_MAX.
83318         * doc/posix-headers/limits.texi: Document the mingw problem.
83320 2009-08-02  Bruno Haible  <bruno@clisp.org>
83322         * lib/gethostname.c (gethostname): Fix handling of large len argument.
83323         Add comments.
83325 2009-03-31  Simon Josefsson  <simon@josefsson.org>
83327         * lib/gethostname.c: Add Windows wrapper.
83328         * m4/gethostname.m4: Look for gethostname in -lws2_32.
83329         * modules/gethostname: Depend on sys_socket & errno, for also
83330         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
83331         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
83333 2009-07-31  Jim Meyering  <meyering@redhat.com>
83335         getloadavg: fix symbol name in comment
83336         * lib/getloadavg.c: Correct a typo I introduced when adding
83337         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
83338         Matt Kraai spotted the problem.
83340 2009-07-29  Matt Kraai  <mkraai@beckman.com>
83342         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
83343         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
83344         code also if ! defined N_NAME_POINTER.
83345         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
83346         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
83347         but the n_name member is a 12-byte array.
83349 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
83351         update-copyright: generalize comment handling
83352         * build-aux/update-copyright: Handle copyright statements
83353         within more comment styles.
83354         Document usage.
83355         Report any file with an external copyright holder or parse failure.
83357 2009-07-29  Jim Meyering  <meyering@redhat.com>
83359         mktime: correct setting of REPLACE_MKTIME
83360         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
83362         update-copyright: new module
83363         * modules/update-copyright: New file.
83364         * build-aux/update-copyright: New file.
83365         * MODULES.html.sh (maint+release support): Add update-copyright.
83367 2009-07-27  Bruno Haible  <bruno@clisp.org>
83369         Fix compilation error when <ctime> is used and mktime is replaced.
83370         * lib/time.in.h (mktime): New declaration.
83371         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
83372         REPLACE_MKTIME instead of defining mktime in config.h.
83373         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
83374         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
83375         Reported by Ross McFarland <rwmcfa1@neces.com>.
83377 2009-07-27  Bruno Haible  <bruno@clisp.org>
83379         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
83380         Reported by Matt Kraai <mkraai@beckman.com>.
83382 2009-07-25  Jim Meyering  <meyering@redhat.com>
83384         maint.mk: avoid warnings about missing files
83385         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
83386         diagnostic when .prev-version does not exist.
83387         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
83388         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
83389         nonexistent cfg.mk.
83390         Suggestions from Simon Josefsson.
83392 2009-07-25  Bruno Haible  <bruno@clisp.org>
83394         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
83395         defined as macros. Needed on QNX 6.4.1.
83396         Reported by Matt Kraai <mkraai@beckman.com>.
83398 2009-07-23  Jim Meyering  <meyering@redhat.com>
83400         maint.mk: invoke "make dist" with a working value of XZ_OPT
83401         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
83403 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
83405         Make fseeko.c compile on QNX.
83406         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
83408 2009-07-22  Peter Simons  <simons@cryp.to>
83410         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
83411         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
83412         * lib/md4.h: Likewise.
83413         * lib/md5.h: Likewise.
83414         * lib/sha1.h: Likewise.
83415         * lib/sha256.h: Likewise.
83416         * lib/sha512.h: Likewise.
83418         tests-sha1: don't assign literal string to 'char *' variable
83419         * tests/test-sha1.c (main): Declare locals with "const" to match
83420         attributes of the right hand side.
83422 2009-07-21  Eric Blake  <ebb9@byu.net>
83424         dup2: fix more mingw problems
83425         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
83426         fd to itself.
83427         * doc/posix-functions/dup2.texi (dup2): Document the bug.
83428         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
83429         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
83430         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
83431         care of mingw bugs.
83433 2009-07-21  Jim Meyering  <meyering@redhat.com>
83435         vc-list-files: avoid failure when /bin/sh is dash
83436         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
83437         On some Debian based systems, /bin/sh is a symlink to dash, and running
83438         this command would omit the "/" following each 'tests' prefix:
83439           dash -x build-aux/vc-list-files -C . tests
83440         That is because bash and dash work differently:
83441           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
83442           bash ok
83443           dash odd
83445 2009-07-21  Eric Blake  <ebb9@byu.net>
83447         dup2-tests: test previous patch
83448         * modules/dup2-tests: New file.
83449         * tests/test-dup2.c: Likewise.
83450         * tests/test-open.c (main): Avoid unspecified behavior.
83451         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
83452         test.
83454         dup2: work around mingw and cygwin 1.5 bug
83455         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
83456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
83457         * modules/unistd (Makefile.am): Substitute it.
83458         * lib/unistd.in.h (dup2): Declare the replacement.
83459         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
83460         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
83461         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
83462         * modules/execute (Depends-on): Add dup2.
83463         * modules/fseterr (Depends-on): Likewise.
83464         * modules/pipe (Depends-on): Likewise.
83465         * modules/posix_spawn-internal (Depends-on): Likewise.
83467 2009-07-21  Bruno Haible  <bruno@clisp.org>
83469         * modules/.gitattributes: New file.
83471 2009-07-20  Bruno Haible  <bruno@clisp.org>
83473         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
83474         (main): Use it.
83476 2009-07-20  Eric Blake  <ebb9@byu.net>
83478         test-pipe: make a bit more robust.
83479         * tests/test-pipe.c (myerr): Allow error messages regardless of
83480         what we do to stderr.
83481         (test_pipe): Rearrange to avoid deadlock.
83482         (child_main): Try a larger read, to ensure we avoided deadlock.
83483         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
83484         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
83485         if misused.
83487 2009-07-19  Jim Meyering  <meyering@redhat.com>
83489         fts: avoid false-positive cycle-detection
83490         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
83491         for each new command line argument.
83493 2009-07-19  Bruno Haible  <bruno@clisp.org>
83495         Fix build error on mingw with the modules sys_select and unistd.
83496         * modules/acl-tests (Depends-on): Add close.
83497         * modules/binary-io-tests (Depends-on): Likewise.
83498         * modules/closein-tests (Depends-on): Likewise.
83499         * modules/flock-tests (Depends-on): Likewise.
83500         * modules/fsync-tests (Depends-on): Likewise.
83501         * modules/lseek-tests (Depends-on): Likewise.
83502         * modules/pipe-tests (Depends-on): Likewise.
83503         * modules/posix_spawn-tests (Depends-on): Likewise.
83504         * modules/posix_spawnp-tests (Depends-on): Likewise.
83505         * modules/stat-time-tests (Depends-on): Likewise.
83506         * modules/yesno-tests (Depends-on): Likewise.
83508 2009-07-19  Bruno Haible  <bruno@clisp.org>
83510         Unify conditionals.
83511         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
83512         macros, not at the compiler macros.
83513         * lib/pipe.c: Likewise.
83514         * lib/execute.c: Likewise.
83515         * lib/spawni.c: Likewise.
83517 2009-07-19  Bruno Haible  <bruno@clisp.org>
83519         Fix handling of closed stdin/stdout/stderr on mingw.
83520         * lib/w32spawn.h: Include unistd.h.
83521         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
83522         file descriptor with O_NOINHERIT flag.
83523         (fd_safer_noinherit): New function, based on fd-safer.c.
83524         (dup_safer_noinherit): New function, based on dup-safer.c.
83525         (undup_safer_noinherit): New function.
83526         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
83527         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
83528         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
83529         instead of fd_safer.
83530         * tests/test-pipe.c: Include <windows.h>.
83531         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
83532         result.
83534         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
83535         from main.
83536         (test_pipe): Pass an extra argument for disambiguation.
83537         (main): Invoke parent_main or child_main.
83539         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
83540         consistently.
83542 2009-07-18  Eric Blake  <ebb9@byu.net>
83544         test-pipe: fix mingw build
83545         * tests/test-pipe.c (main): Avoid fcntl on mingw.
83547 2009-07-18  Bruno Haible  <bruno@clisp.org>
83549         * modules/pipe-tests (Makefile.am): Fix typo.
83551 2009-07-18  Eric Blake  <ebb9@byu.net>
83553         error: fix mingw build
83554         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
83555         Reported by Bruno Haible.
83557         error: avoid undefined use of stdout
83558         * lib/error.c (error, error_at_line): Check that fd 1 is open
83559         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
83560         is handling faults and the close_stdout module wants to report the
83561         detection of closed stdout as an error.
83563 2009-07-17  Eric Blake  <ebb9@byu.net>
83565         pipe: be robust in face of closed fds
83566         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
83567         should cause child to misbehave.
83568         * modules/pipe-tests: New module.
83569         * tests/test-pipe.c: New file.
83570         * tests/test-pipe.sh: New file.
83571         Reported by Akim Demaille.
83573 2009-07-14  Bruno Haible  <bruno@clisp.org>
83575         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
83576         Reported by anonymous kc.
83578 2009-07-07  Jim Meyering  <meyering@redhat.com>
83580         maint.mk: don't look for translatable strings in *.m4 or *.mk
83581         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
83582         when searching for translatable strings.
83584 2009-07-05  Jim Meyering  <meyering@redhat.com>
83586         remove superfluous parentheses in STREQ definition
83587         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
83588         * lib/getugroups.c (STREQ): Likewise.
83589         * lib/fnmatch.c (STREQ): Likewise.
83590         Spotted by Bruno Haible.
83592 2009-07-04  Jim Meyering  <meyering@redhat.com>
83594         argv-iter: new module
83595         * MODULES.html.sh: Add argv-iter.
83596         * lib/argv-iter.c, lib/argv-iter.h: New files.
83597         * modules/argv-iter: New file.
83598         * modules/argv-iter-tests: New file.
83599         * tests/test-argv-iter.c: Test it.
83601 2009-07-04  Bruno Haible  <bruno@clisp.org>
83603         Fix assertion.
83604         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
83605         contains more exact copies of a given entry than file2, leave the extra
83606         copies unpaired rather than aborting.
83607         Reported by Eric Blake.
83609 2009-07-02  Bruno Haible  <bruno@clisp.org>
83611         Speedup git-merge-changelog for git cherry-pick.
83612         * lib/git-merge-changelog.c (struct entries_mapping): New type.
83613         (entries_mapping_get): New function, extracted from compute_mapping.
83614         (entries_mapping_reverse_get): New function.
83615         (compute_mapping): Add a 'full' argument. Return the result in a
83616         'struct entries_mapping'.
83617         (main): Update. Access the mappings through entries_mapping_get.
83618         Reported by Eric Blake.
83620 2009-07-02  Bruno Haible  <bruno@clisp.org>
83622         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
83623         best_i.
83625 2009-07-02  Bruno Haible  <bruno@clisp.org>
83627         Speed up approximate search for matching ChangeLog entries.
83628         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
83629         argument. Call fstrcmp_bounded instead of fstrcmp.
83630         (compute_mapping, try_split_merged_entry, main): Update callers.
83632 2009-07-02  Bruno Haible  <bruno@clisp.org>
83634         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
83636 2009-06-30  Bruno Haible  <bruno@clisp.org>
83638         Reduce the number of uc_is_cased calls.
83639         * lib/unicase.h (casing_suffix_context_t): Add
83640         'first_char_except_ignorable' field.
83641         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
83642         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
83643         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
83644         Update initializer.
83645         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
83646         case-ignorable characters.
83647         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
83648         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
83649         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
83650         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
83651         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
83653 2009-06-30  Bruno Haible  <bruno@clisp.org>
83655         Tests for module 'unicase/ignorable'.
83656         * modules/unicase/ignorable-tests: New file.
83657         * tests/unicase/test-ignorable.c: New file, generated by
83658         gen-uni-tables.
83660         Tests for module 'unicase/cased'.
83661         * modules/unicase/cased-tests: New file.
83662         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
83663         * tests/unicase/test-predicate-part1.h: New file, derived from
83664         tests/unictype/test-predicate-part1.h.
83665         * tests/unicase/test-predicate-part2.h: New file, same as
83666         tests/unictype/test-predicate-part2.h.
83668         Fix evaluation of "Before C" condition of FINAL_SIGMA.
83669         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
83670         (output_casing_properties): New function.
83671         (main): Call it.
83672         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
83673         * lib/unicase/cased.c: Include unictype/bitmap.h.
83674         (uc_is_cased): Define through a bitmap lookup.
83675         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
83676         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
83677         (uc_is_case_ignorable): Define through a bitmap lookup.
83678         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
83679         lib/unictype/bitmap.h.
83680         (Depends-on): Add inline. Clean up.
83681         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
83682         lib/unictype/bitmap.h.
83683         (Depends-on): Add inline. Clean up.
83684         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
83685         recognition.
83686         * tests/unicase/test-u16-tolower.c (main): Likewise.
83687         * tests/unicase/test-u32-tolower.c (main): Likewise.
83689 2009-06-30  Bruno Haible  <bruno@clisp.org>
83691         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
83692         * lib/unicase/u16-casemap.c: Likewise.
83693         * lib/unicase/u32-casemap.c: Likewise.
83695 2009-06-29  Bruno Haible  <bruno@clisp.org>
83697         Define u32_casefold as a wrapper around u32_ct_casefold.
83698         * lib/unicase/u32-casefold.c: Update.
83699         * modules/unicase/u32-casefold (Depends-on): Add
83700         unicase/u32-ct-casefold, unicase/empty-prefix-context,
83701         unicase/empty-suffix-context. Clean up.
83703         Define u16_casefold as a wrapper around u16_ct_casefold.
83704         * lib/unicase/u16-casefold.c: Update.
83705         * modules/unicase/u16-casefold (Depends-on): Add
83706         unicase/u16-ct-casefold, unicase/empty-prefix-context,
83707         unicase/empty-suffix-context. Clean up.
83709         Define u8_casefold as a wrapper around u8_ct_casefold.
83710         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
83711         * lib/unicase/u8-casefold.c: Update.
83712         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
83713         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83715         Define u32_totitle as a wrapper around u32_ct_totitle.
83716         * lib/unicase/u32-totitle.c: Update.
83717         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
83718         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83720         Define u16_totitle as a wrapper around u16_ct_totitle.
83721         * lib/unicase/u16-totitle.c: Update.
83722         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
83723         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83725         Define u8_totitle as a wrapper around u8_ct_totitle.
83726         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
83727         functions.
83728         (FUNC): Delegate to U_CT_TOTITLE.
83729         * lib/unicase/u8-totitle.c: Update.
83730         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
83731         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83733         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
83734         invocation.
83735         * modules/unicase/u32-tolower (Depends-on): Add
83736         unicase/empty-prefix-context, unicase/empty-suffix-context.
83738         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
83739         invocation.
83740         * modules/unicase/u16-tolower (Depends-on): Add
83741         unicase/empty-prefix-context, unicase/empty-suffix-context.
83743         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
83744         * modules/unicase/u8-tolower (Depends-on): Add
83745         unicase/empty-prefix-context, unicase/empty-suffix-context.
83747         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
83748         invocation.
83749         * modules/unicase/u32-toupper (Depends-on): Add
83750         unicase/empty-prefix-context, unicase/empty-suffix-context.
83752         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
83753         invocation.
83754         * modules/unicase/u16-toupper (Depends-on): Add
83755         unicase/empty-prefix-context, unicase/empty-suffix-context.
83757         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
83758         * modules/unicase/u8-toupper (Depends-on): Add
83759         unicase/empty-prefix-context, unicase/empty-suffix-context.
83761         New module 'unicase/u32-ct-casefold'.
83762         * lib/unicase/u32-ct-casefold.c: New file.
83763         * modules/unicase/u32-ct-casefold: New file.
83765         New module 'unicase/u16-ct-casefold'.
83766         * lib/unicase/u16-ct-casefold.c: New file.
83767         * modules/unicase/u16-ct-casefold: New file.
83769         New module 'unicase/u8-ct-casefold'.
83770         * lib/unicase/u8-ct-casefold.c: New file.
83771         * lib/unicase/u-ct-casefold.h: New file, derived from
83772         lib/unicase/u-casefold.h.
83773         * modules/unicase/u8-ct-casefold: New file.
83775         New module 'unicase/u32-ct-totitle'.
83776         * lib/unicase/u32-ct-totitle.c: New file.
83777         * modules/unicase/u32-ct-totitle: New file.
83779         New module 'unicase/u16-ct-totitle'.
83780         * lib/unicase/u16-ct-totitle.c: New file.
83781         * modules/unicase/u16-ct-totitle: New file.
83783         New module 'unicase/u8-ct-totitle'.
83784         * lib/unicase/u8-ct-totitle.c: New file.
83785         * lib/unicase/u-ct-totitle.h: New file, derived from
83786         lib/unicase/u-totitle.h.
83787         * modules/unicase/u8-ct-totitle: New file.
83789         New module 'unicase/u32-ct-tolower'.
83790         * lib/unicase/u32-ct-tolower.c: New file.
83791         * modules/unicase/u32-ct-tolower: New file.
83793         New module 'unicase/u16-ct-tolower'.
83794         * lib/unicase/u16-ct-tolower.c: New file.
83795         * modules/unicase/u16-ct-tolower: New file.
83797         New module 'unicase/u8-ct-tolower'.
83798         * lib/unicase/u8-ct-tolower.c: New file.
83799         * modules/unicase/u8-ct-tolower: New file.
83801         New module 'unicase/u32-ct-toupper'.
83802         * lib/unicase/u32-ct-toupper.c: New file.
83803         * modules/unicase/u32-ct-toupper: New file.
83805         New module 'unicase/u16-ct-toupper'.
83806         * lib/unicase/u16-ct-toupper.c: New file.
83807         * modules/unicase/u16-ct-toupper: New file.
83809         New module 'unicase/u8-ct-toupper'.
83810         * lib/unicase/u8-ct-toupper.c: New file.
83811         * modules/unicase/u8-ct-toupper: New file.
83813         Add context arguments to u*_casemap functions.
83814         * lib/unicase/unicasemap.h: Include unicase.h.
83815         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
83816         suffix_context arguments.
83817         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
83818         functions.
83819         (FUNC): Add prefix_context and suffix_context arguments. Use
83820         uc_is_cased and uc_is_case_ignorable.
83821         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
83822         * lib/unicase/u16-casemap.c: Likewise.
83823         * lib/unicase/u32-casemap.c: Likewise.
83824         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
83825         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83826         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
83827         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83828         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
83829         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83831         New module 'unicase/u32-suffix-context'.
83832         * lib/unicase/u32-suffix-context.c: New file.
83833         * modules/unicase/u32-suffix-context: New file.
83835         New module 'unicase/u16-suffix-context'.
83836         * lib/unicase/u16-suffix-context.c: New file.
83837         * modules/unicase/u16-suffix-context: New file.
83839         New module 'unicase/u8-suffix-context'.
83840         * lib/unicase/u8-suffix-context.c: New file.
83841         * lib/unicase/u-suffix-context.h: New file.
83842         * modules/unicase/u8-suffix-context: New file.
83844         New module 'unicase/empty-suffix-context'.
83845         * lib/unicase/empty-suffix-context.c: New file.
83846         * modules/unicase/empty-suffix-context: New file.
83848         New module 'unicase/u32-prefix-context'.
83849         * lib/unicase/u32-prefix-context.c: New file.
83850         * modules/unicase/u32-prefix-context: New file.
83852         New module 'unicase/u16-prefix-context'.
83853         * lib/unicase/u16-prefix-context.c: New file.
83854         * modules/unicase/u16-prefix-context: New file.
83856         New module 'unicase/u8-prefix-context'.
83857         * lib/unicase/u8-prefix-context.c: New file.
83858         * lib/unicase/u-prefix-context.h: New file.
83859         * lib/unicase/context.h: New file.
83860         * modules/unicase/u8-prefix-context: New file.
83862         New module 'unicase/empty-prefix-context'.
83863         * lib/unicase/empty-prefix-context.c: New file.
83864         * modules/unicase/empty-prefix-context: New file.
83866         New module 'unicase/ignorable'.
83867         * lib/unicase/ignorable.c: New file.
83868         * modules/unicase/ignorable: New file.
83870         New module 'unicase/cased'.
83871         * lib/unicase/caseprop.h: New file.
83872         * lib/unicase/cased.c: New file.
83873         * modules/unicase/cased: New file.
83875         New functions for case mapping of substrings.
83876         * lib/unicase.h (casing_prefix_context_t): New type.
83877         (unicase_empty_prefix_context): New variable.
83878         (u8_casing_prefix_context, u16_casing_prefix_context,
83879         u32_casing_prefix_context, u8_casing_prefixes_context,
83880         u16_casing_prefixes_context, u32_casing_prefixes_context): New
83881         declarations.
83882         (casing_suffix_context_t): New type.
83883         (unicase_empty_suffix_context): New variable.
83884         (u8_casing_suffix_context, u16_casing_suffix_context,
83885         u32_casing_suffix_context, u8_casing_suffixes_context,
83886         u16_casing_suffixes_context, u32_casing_suffixes_context,
83887         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
83888         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
83889         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
83890         declarations.
83892 2009-06-28  Jim Meyering  <meyering@redhat.com>
83894         boostrap: indent only with spaces
83895         * build-aux/bootstrap: Indent only with spaces, never TABs.
83897         bootstrap: split long lines
83898         * build-aux/bootstrap: Keep line length < 80.
83900         bootstrap: sync from coreutils
83901         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
83902         just as autoreconf does.  Verify a list of prerequisite
83903         package-name,version-number pairs if defined in bootstrap.conf.
83904         Refer to README-prereq, if prerequisites are not satisfied.
83906 2009-06-27  Eric Blake  <ebb9@byu.net>
83908         tests: add test for bogus NULL definition
83909         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
83910         * tests/test-stdlib.c: Likewise.
83911         * tests/test-string.c: Likewise.
83912         * tests/test-locale.c: Likewise.
83913         * tests/test-unistd.c: Likewise.
83914         * modules/stdio-tests (Depends-on): Add verify.
83915         * modules/stdlib-tests (Depends-on): Likewise.
83916         * modules/string-tests (Depends-on): Likewise.
83917         * modules/locale-tests (Depends-on): Likewise.
83918         * modules/unistd-tests (Depends-on): Likewise.
83920 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
83922         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
83923         self-explaining comment.
83924         * m4/selinux-selinux-h: Update serial.
83925         (gl_LIBSELINUX): New macro, adding a warning for missing development
83926         packages to code extracted from...
83927         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
83928         Add warning for missing development packages here, too.
83930 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
83932         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
83934 2009-06-25  Eric Blake  <ebb9@byu.net>
83936         version-etc: fix regression
83937         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
83938         gcc.
83939         (version_etc): Use it, to catch bugs with trailing NULL.
83940         * lib/version-etc.c (version_etc_arn): Delete unused argument.
83941         (version_etc_va): Fix logic bug.
83942         * modules/version-etc-tests: Add test.
83943         * tests/test-version-etc.c: New file.
83944         * tests/test-version-etc.sh: Likewise.
83946 2009-06-25  Sam Steingold  <sds@gnu.org>
83948         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
83949         mbtowc declaration.
83951 2009-06-25  Eric Blake  <ebb9@byu.net>
83953         fpurge: migrate into <stdio.h>
83954         * lib/fpurge.h: Delete...
83955         * lib/stdio.in.h (fpurge): ...and declare here, instead.
83956         * lib/fpurge.c (fpurge): Change declaring header.
83957         * modules/fpurge (Files): Drop deleted file.
83958         (Depends-on): Add stdio.
83959         (configure.ac): Set witness.
83960         * modules/stdio (Makefile.am): Support fpurge macros.
83961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
83962         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
83963         * lib/fflush.c: Update client.
83964         * tests/test-fpurge.c: Likewise.
83965         * NEWS: Mention the change.
83967 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83969         * lib/argp-version-etc.c (program_authors): Add const
83970         qualifier.
83971         * lib/version-etc.c: Fix typos in the comments.
83972         * modules/argp-version-etc: Depends on version-etc.
83974 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83976         argp-version-etc: new module.
83978         * lib/argp-version-etc.c: New file.
83979         * lib/argp-version-etc.h: New file.
83980         * modules/argp-version-etc: New file.
83981         * modules/argp-version-etc-tests: New file.
83982         * tests/test-argp-version-etc.c: New test.
83983         * tests/test-argp-version-etc-1.sh: New test.
83985 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83987         Provide additional interfaces and documentation for version-etc
83988         module.
83990         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
83991         interfaces.
83992         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
83993         prototypes.
83995 2009-06-24  Bruno Haible  <bruno@clisp.org>
83997         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
83998         HAVE_LIB${NAME} macro.
83999         Reported by Sam Steingold <sds@gnu.org>.
84001 2009-06-23  Simon Josefsson  <simon@josefsson.org>
84003         * modules/hash-tests (test_hash_LDADD): Link to libintl when
84004         needed.
84006 2009-06-21  Bruno Haible  <bruno@clisp.org>
84008         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
84009         work.
84010         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
84011         together with LIB${NAME}, LTLIB${NAME}.
84012         Reported by Sam Steingold <sds@gnu.org>.
84014 2009-06-20  Jim Meyering  <meyering@redhat.com>
84016         tests: make sc_require_test_exit_idiom more generic
84017         * top/maint.mk (Exit_witness_file): New overridable variable.
84018         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
84019         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
84021 2009-06-19  Jim Meyering  <meyering@redhat.com>
84023         hash: reverse order of src/dst parameters in an internal interface
84024         * lib/hash.c (transfer_entries): Reverse order of parameters to
84025         put DST before SRC.  Adjust callers.
84027         tests: test-hash: avoid wholesale duplication
84028         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
84029         Instead, use a loop and add a single conditional.
84031         tests: test-hash: allow seed selection via a command line argument
84032         * tests/test-hash.c (get_seed): New function.
84033         (main): Use it.
84035 2009-06-19  Eric Blake  <ebb9@byu.net>
84037         hash: avoid memory leak on allocation failure
84038         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
84039         failure.  Factor repeated algorithm...
84040         (transfer_entries): ...into new helper routine.
84041         (hash_delete): React to hash_rehash return value.
84043         hash: reduce memory pressure in hash_rehash no-op case
84044         * lib/hash.c (next_prime): Avoid overflow.
84045         (hash_initialize): Factor bucket size computation...
84046         (compute_bucket_size): ...into new helper function.
84047         (hash_rehash): Use new function and open coding to reduce memory
84048         pressure, and avoid a memory leak in USE_OBSTACK code.
84049         Reported by Jim Meyering.
84051 2009-06-18  Eric Blake  <ebb9@byu.net>
84053         hash: make rotation more obvious
84054         * modules/hash (Depends-on): Add bitrotate and stdint.
84055         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
84056         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
84057         (SIZE_MAX): Rely on headers for definition.
84058         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
84059         (raw_hasher): Use rotr_sz.
84060         Suggested by Jim Meyering.
84062         hash: fix memory leak in last patch
84063         * lib/hash.c (hash_rehash): Avoid memory leak.
84065         hash: avoid no-op rehashing
84066         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
84068         hash: provide default callback functions
84069         * lib/hash.c (raw_hasher, raw_comparator): New functions.
84070         (hash_initialize): Use them as defaults.
84071         * tests/test-hash.c (main): Test this.
84073         hash: minor optimization
84074         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
84075         when possible.
84076         (hash_initialize): Document this promise.
84077         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
84078         * tests/test-hash.c (hash_compare_strings): Test this.
84080 2009-06-18  Bruno Haible  <bruno@clisp.org>
84082         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
84083         going to be replaced anyway.
84085 2009-06-18  Bruno Haible  <bruno@clisp.org>
84087         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
84088         in one place.
84089         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
84090         be replaced anyway.
84092 2009-06-18  Eric Blake  <ebb9@byu.net>
84094         hash: check for resize before insertion
84095         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
84096         threshold before insertion, so that a pathological hash_rehash
84097         that fills every bucket can still trigger another rehash.
84099 2009-06-18  Jim Meyering  <meyering@redhat.com>
84101         hash-tests: add a loop around the small tests
84102         * tests/test-hash.c (main): Repeat small tests with selected
84103         small initial table sizes.
84105 2009-06-17  Eric Blake  <ebb9@byu.net>
84107         hash: minor cleanups
84108         * lib/hash.h (hash_entry): Make opaque, by moving...
84109         * lib/hash.c (hash_entry): ...here.
84110         (hash_insert): Clarify restrictions on what can be inserted.
84111         (hash_get_next): Clarify when it is safe to remove an element
84112         during traversal.
84113         (check_tuning): Skip verification when tuning is known safe.
84114         (hash_initialize): Clarify restrictions on tuning.
84116 2009-06-17  Jim Meyering  <jim@meyering.net>
84117         and Eric Blake  <ebb9@byu.net>
84119         hash-tests: new module
84120         * modules/hash-tests: New file.
84121         * tests/test-hash.c: New file.
84123 2009-06-17  Eric Blake  <ebb9@byu.net>
84125         strstr-simple: document new module
84126         * MODULES.html.sh: Document new module.
84128         strstr, strcasestr: replace on platforms with broken memchr
84129         * modules/strstr: Split into...
84130         * modules/strstr-simple: ...new module that does not care about
84131         performance, but does care about glibc bug.
84132         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
84133         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
84134         if platform memchr is broken, per Debian bug 521737.
84135         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
84136         memchr.
84137         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
84138         * doc/posix-functions/strstr.texi (strstr): Document the fix.
84139         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
84140         * modules/mountlist (Depends-on): Add strstr-simple.
84141         * modules/gen-uni-tables (Depends-on): Likewise.
84142         * modules/argz (Depends-on): Add strstr.
84144 2009-06-17  Bruno Haible  <bruno@clisp.org>
84146         * modules/posix_spawn-internal (Depends-on): Add errno.
84148 2009-06-17  Bruno Haible  <bruno@clisp.org>
84150         Define missing ESTALE on Interix 3.5.
84151         * lib/errno.in.h (ESTALE): Assign a value if missing.
84152         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
84153         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
84154         missing.
84155         * doc/posix-headers/errno.texi: Mention the Interix bug.
84156         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
84158 2009-06-15  Eric Blake  <ebb9@byu.net>
84160         memchr, memchr2: add valgrind exception
84161         * lib/memchr.valgrind: New file.
84162         * lib/memchr2.valgrind: New file.
84163         * modules/memchr (Files): Distribute valgrind file.
84164         * modules/memchr2 (Files): Likewise.
84166         docs: memchr is no longer obsolete
84167         * MODULES.html.sh: Move memchr from obsolete to string.h section.
84168         * lib/string.in.h (memchr): Simplify logic.
84170 2009-06-14  Jim Meyering  <meyering@redhat.com>
84172         link-follow: fix the "checking..." message to not mention trailing slash
84173         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
84174         never considered trailing slashes.
84176 2009-06-14  Bruno Haible  <bruno@clisp.org>
84178         * m4/memchr.m4: Mention also the bug on IA-64.
84179         * doc/posix-functions/memchr.texi: Likewise.
84181 2009-06-12  Eric Blake  <ebb9@byu.net>
84183         memchr: detect broken x86_64 and alpha implementations
84184         * modules/memchr-tests (Depends-on): Move mmap detection...
84185         * modules/memchr (Depends-on): ...here.
84186         (configure.ac): Set indicator.
84187         * lib/string.in.h (memchr): Declare replacement.
84188         * modules/string (Makefile.am): Trigger replacement.
84189         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
84190         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
84191         bugs.
84192         * doc/posix-functions/memchr.texi (memchr): Document the bug.
84193         * modules/getpagesize (License): Relax license.
84195 2009-06-11  Bruno Haible  <bruno@clisp.org>
84197         * lib/idpriv.h: Add more references.
84199 2009-06-08  Bruno Haible  <bruno@clisp.org>
84201         Tests for module 'idpriv-droptemp'.
84202         * modules/idpriv-droptemp-tests: New file.
84203         * tests/test-idpriv-droptemp.sh: New file.
84204         * tests/test-idpriv-droptemp.su.sh: New file.
84205         * tests/test-idpriv-droptemp.c: New file.
84207         New module 'idpriv-droptemp'.
84208         * lib/idpriv-droptemp.c: New file.
84209         * modules/idpriv-droptemp: New file.
84211 2009-06-08  Bruno Haible  <bruno@clisp.org>
84213         Tests for module 'idpriv-drop'.
84214         * modules/idpriv-drop-tests: New file.
84215         * tests/test-idpriv-drop.sh: New file.
84216         * tests/test-idpriv-drop.su.sh: New file.
84217         * tests/test-idpriv-drop.c: New file.
84219         New module 'idpriv-drop'.
84220         * lib/idpriv.h: New file.
84221         * lib-idpriv-drop.c: New file.
84222         * m4/idpriv.m4: New file.
84223         * modules/idpriv-drop: New file.
84225 2009-06-08  Bruno Haible  <bruno@clisp.org>
84227         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
84228         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
84229         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
84230         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
84231         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
84232         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
84233         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
84235 2009-06-08  Eric Blake  <ebb9@byu.net>
84237         test-strstr: use memory fence, when possible
84238         * tests/test-strstr.c (main): Use memory fence, in order to be
84239         more likely to trigger Debian bug 521737.
84240         * modules/strstr-tests (Files): Pull in additional files.
84242         memchr: no longer obsolete, for wider field testing
84243         * modules/memchr (Status, Notice): Delete, this module is no
84244         longer obsolete.
84245         * modules/vasnprintf (Depends-on): Add memchr.
84247 2009-06-07  Jim Meyering  <meyering@redhat.com>
84249         hash: declare some functions with the warn_unused_result attribute
84250         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
84252 2009-06-07  Bruno Haible  <bruno@clisp.org>
84254         * tests/test-alignof.c: Don't test int64_t if it does not exist.
84255         Reported by Eric Blake.
84257 2009-06-06  Eric Blake  <ebb9@byu.net>
84259         test-alignof: fix typo with long double
84260         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
84261         compiler error.
84263 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
84265         Escape non-texinfo { and }s.
84266         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
84267         markup error.
84269 2009-06-04  Jim Meyering  <meyering@redhat.com>
84271         gitlog-to-changelog: don't infloop on an empty commit log
84272         * build-aux/gitlog-to-changelog: Warn about an empty log message.
84273         Reported by Boris Petersen <transacid@centerim.org>.
84275 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
84277         version-etc: extend for packagers
84278         Add three new configure options, intended for packagers:
84279           --with-packager="packager name"
84280           --with-packager-version="packager-specific version"
84281           --with-packager-bug-reports="packager bug reporting"
84282         An example with coreutils:
84283           $ ./configure \
84284             --with-packager=Gentoo \
84285             --with-packager-bug-report=http://bugs.gentoo.org/ \
84286             --with-packager-version="patchset 1.6"
84287           $ ./src/ls --version | head -n2
84288           ls (GNU coreutils) 7.1-dirty
84289           Packaged by Gentoo (patchset 1.6)
84290         Note that the bug reporting info via --help doesn't show up because
84291         coreutils uses its own custom emit_bug_reporting_address() implementation
84292         in src/system.h.  If it didn't, it'd look like:
84293           $ ./src/ls --help | tail -n4
84294           Report bugs to <bug-coreutils@gnu.org>.
84295           Report Gentoo bugs to <http://bugs.gentoo.org/>.
84296           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
84297           General help using GNU software: <http://www.gnu.org/gethelp/>.
84298         * lib/version-etc.c: Print new information, if provided.
84299         * m4/version-etc.m4: New file.
84300         * modules/version-etc (Files): Add m4/version-etc.m4.
84301         (configure.ac): Add gl_VERSION_ETC.
84303 2009-05-31  Bruno Haible  <bruno@clisp.org>
84305         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
84306         and 'int64_t'.
84307         * modules/alignof-tests (Dependencies): Add stdint.
84308         Reported by Eric Blake.
84310 2009-05-31  Bruno Haible  <bruno@clisp.org>
84312         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
84313         restriction due to compiler bugs.
84314         Reported by Eric Blake.
84316 2009-05-31  Simon Josefsson  <simon@josefsson.org>
84317             Bruno Haible  <bruno@clisp.org>
84319         Fix test-alignof failure.
84320         * lib/alignof.h (alignof_slot): New macro.
84321         (alignof_type): New macro, with the same semantics as the previous
84322         'alignof'.
84323         (alignof): Alias to alignof_slot.
84324         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
84325         check that the results are usable as constant expressions.
84327 2009-05-31  Bruno Haible  <bruno@clisp.org>
84329         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
84330         * tests/test-memchr.c (main): Check that memchr does not read past the
84331         first occurrence of the byte.
84332         * tests/test-strstr.c (main): Update comment.
84333         Suggested by Eric Blake.
84335 2009-05-30  Bruno Haible  <bruno@clisp.org>
84337         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
84338         detail how to use dumpbin.
84339         Reported by David Byron <dbyron@dbyron.com>.
84341 2009-06-02  Simon Josefsson  <simon@josefsson.org>
84343         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
84345 2009-06-02  Simon Josefsson  <simon@josefsson.org>
84347         * m4/manywarnings.m4: Add GCC 4.4 warnings.
84349 2009-05-28  Bruno Haible  <bruno@clisp.org>
84351         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
84352         build-aux/ files.
84354 2009-05-28  Simon Josefsson  <simon@josefsson.org>
84356         * gnulib-tool (func_import): Transform license on build-aux/ files too.
84358 2009-05-27  Simon Josefsson  <simon@josefsson.org>
84360         * gnulib-tool (sed_transform_main_lib_file)
84361         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
84362         regexps.
84364 2009-05-26  Simon Josefsson  <simon@josefsson.org>
84366         * tests/test-strstr.c: Add another self-test.
84367         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
84368         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
84370 2009-05-23  Bruno Haible  <bruno@clisp.org>
84372         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
84373         change.
84375 2009-05-21  Bruno Haible  <bruno@clisp.org>
84377         Simplify use of mode_t varargs.
84378         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
84379         uses 'mode_t' or 'int'.
84380         * lib/openat.c (openat): Likewise.
84381         * lib/open-safer.c (open_safer): Likewise.
84382         * m4/mode_t.m4: New file.
84383         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
84384         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
84385         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
84386         * modules/open (Files): Add m4/mode_t.m4.
84387         * modules/openat (Files): Likewise.
84388         * modules/fcntl-safer (Files): Likewise.
84389         Suggested by Eric Blake.
84391 2009-05-21  Pádraig Brady  <P@draigbrady.com>
84393         * doc/glibc-functions/fallocate.texi: New file.
84394         * doc/gnulib.texi: Include it.
84396 2009-05-21  Eric Blake  <ebb9@byu.net>
84397             Bruno Haible  <bruno@clisp.org>
84399         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
84400         invocations.
84401         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
84403 2009-05-21  Eric Blake  <ebb9@byu.net>
84404             Bruno Haible  <bruno@clisp.org>
84406         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
84407         include_next. Fix of 2008-11-20 commit.
84408         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
84409         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
84410         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
84411         NEXT_MATH_H.
84412         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
84413         instead of NEXT_MATH_H.
84415 2009-05-21  Bruno Haible  <bruno@clisp.org>
84417         Avoid redefinition warnings for SIZE_MAX.
84418         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
84419         Reported by Simon Josefsson.
84421 2009-05-21  Bruno Haible  <bruno@clisp.org>
84423         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
84424         AC_CACHE_VAL.
84426 2009-05-20  Bruno Haible  <bruno@clisp.org>
84428         Make zeroptr.h work on mingw.
84429         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
84430         mprotect.
84431         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
84432         * modules/memchr2-tests (configure.ac): Likewise.
84433         * modules/memcmp-tests (configure.ac): Likewise.
84434         * modules/memmem-tests (configure.ac): Likewise.
84435         * modules/memrchr-tests (configure.ac): Likewise.
84436         Reported by Simon Josefsson.
84438 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84440         * tests/test-glob.c: Include string.h for strcmp prototype.
84442 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84444         * modules/getdelim (Depends-on): Add explicit stdint, although it
84445         was implicitly already pulled in via realloc-posix.
84446         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
84448 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84450         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
84451         G. Christensen" <tgc@jupiterrise.com>.
84452         * m4/sys_socket_h.m4: Check for sa_family_t.
84453         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
84454         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
84455         * tests/test-sys_socket.c: Check that sa_family_t works.
84457 2009-05-18  Eric Blake  <ebb9@byu.net>
84459         maint.mk: allow gnulib_dir in VPATH build
84460         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
84462 2009-05-15  Jim Meyering  <meyering@redhat.com>
84464         maint.mk: Give gnulib_dir a default definition.
84465         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
84466         Thus, most packages no longer need to specify this variable in cfg.mk
84468 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
84470         rename.m4: fix typos that would make non-mingw cross-configure fail
84471         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
84473 2009-05-13  Eric Blake  <ebb9@byu.net>
84475         mmap-anon: avoid out-of-order autoconf expansion
84476         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
84477         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
84478         * modules/memchr-tests (Depends-on): Add extensions.
84479         * modules/memchr2-tests (Depends-on): Add extensions.
84480         * modules/memcmp-tests (Depends-on): Add extensions.
84481         * modules/memmem-tests (Depends-on): Add extensions.
84482         * modules/memrchr-tests (Depends-on): Add extensions.
84484 2009-05-13  Bruno Haible  <bruno@clisp.org>
84486         Make some tests ISO C 99 compliant.
84487         * tests/zerosize-ptr.h: New file.
84488         * tests/test-memchr.c: Include zerosize-ptr.h.
84489         (main): Use a zero-size object pointer instead of NULL.
84490         * tests/test-memchr2.c: Include zerosize-ptr.h.
84491         (main): Use a zero-size object pointer instead of NULL.
84492         * tests/test-memcmp.c: Include zerosize-ptr.h.
84493         (main): Use a zero-size object pointer instead of NULL.
84494         * tests/test-memmem.c: Include zerosize-ptr.h.
84495         (main): Use a zero-size object pointer instead of NULL.
84496         * tests/test-memrchr.c: Include zerosize-ptr.h.
84497         (main): Use a zero-size object pointer instead of NULL.
84498         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
84499         m4/mmap-anon.m4.
84500         (Depends-on): Add getpagesize.
84501         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84502         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
84503         m4/mmap-anon.m4.
84504         (Depends-on): Add getpagesize.
84505         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84506         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
84507         m4/mmap-anon.m4.
84508         (Depends-on): Add getpagesize.
84509         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84510         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
84511         m4/mmap-anon.m4.
84512         (Depends-on): Add getpagesize.
84513         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84514         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
84515         m4/mmap-anon.m4.
84516         (Depends-on): Add getpagesize.
84517         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84519 2009-05-12  Bruno Haible  <bruno@clisp.org>
84521         Tests for module 'alignof'.
84522         * modules/alignof-tests: New file.
84523         * tests/test-alignof.c: New file.
84525 2009-05-12  Bruno Haible  <bruno@clisp.org>
84527         Fix alignof macro.
84528         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
84529         vendor compilers that are always correct.
84531 2009-05-12  Bruno Haible  <bruno@clisp.org>
84533         Make the MAP_ANONYMOUS detection work on HP-UX 11.
84534         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
84535         not whether its fully works.
84537 2009-05-12  Bruno Haible  <bruno@clisp.org>
84539         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
84541 2009-05-12  Jim Meyering  <meyering@redhat.com>
84543         * top/maint.mk: Adjust backslash alignment.
84545 2009-05-11  Simon Josefsson  <simon@josefsson.org>
84547         * top/maint.mk: Make $(srcdir)/build-aux configurable.
84549 2009-05-11  Eric Blake  <ebb9@byu.net>
84551         argp: avoid undefined behavior
84552         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
84553         macros.
84555 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84557         * tests/test-vc-list-files-git.sh: Do git config of user.email and
84558         user.name to prevent git commit from complaining.
84560 2009-05-10  Bruno Haible  <bruno@clisp.org>
84562         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
84563         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
84564         it rewrites every file name only once.
84565         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
84567 2009-05-08  Bruno Haible  <bruno@clisp.org>
84569         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
84570         instead of 'max'.
84572 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84574         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
84575         sockaddr_storage test.
84577 2009-05-07  Simon Josefsson  <simon@josefsson.org>
84579         * modules/sys_socket (Makefile.am): Substitute
84580         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
84581         * m4/sys_socket_h.m4: Check for sockaddr_storage.
84582         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
84583         * tests/test-sys_socket.c: Check sockaddr_storage.
84585 2009-05-08  Bruno Haible  <bruno@clisp.org>
84587         New module 'alignof'.
84588         * lib/alignof.h: New file.
84589         * modules/alignof: New file.
84591 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84592             Bruno Haible  <bruno@clisp.org>
84594         Fix test-file-has-acl on FreeBSD.
84595         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
84596         mask is implicitly added.
84597         * tests/test-file-has-acl.c: Include <signal.h>.
84598         (main): Terminate the test after 5 seconds.
84599         * modules/acl-tests (configure.ac): Check for alarm function.
84601 2009-05-04  Bruno Haible  <bruno@clisp.org>
84603         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
84604         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
84605         * modules/errno (configure.ac): Drop AC_REQUIRE.
84606         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
84607         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
84609 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84611         * modules/glob-tests: New module.
84612         * tests/test-glob.c: Add.
84614 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84616         * modules/fnmatch-tests: New module.
84617         * tests/test-fnmatch.c: Add.
84619 2009-05-04  Eric Blake  <ebb9@byu.net>
84621         maint: make the new no-submodule-changes rule VPATH-safe
84622         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
84624 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84625             Bruno Haible  <bruno@clisp.org>
84627         acl: Fix infinite loop on FreeBSD.
84628         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
84629         of return value from acl_get_entry.
84630         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
84631         Likewise.
84633 2009-05-03  Bruno Haible  <bruno@clisp.org>
84635         * lib/acl-internal.h (acl_entries): Clarify return value.
84636         * lib/acl_entries.c (acl_entries): Likewise.
84638 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84640         Bug fix in acl module.
84641         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
84643 2009-05-03  Bruno Haible  <bruno@clisp.org>
84645         Create gperf-generated file in the source dir, not in the build dir.
84646         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
84647         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
84648         * modules/unicase/locale-language (unicase/locale-languages.h):
84649         Likewise.
84650         * modules/unicase/special-casing (unicase/special-casing-table.h):
84651         Likewise.
84652         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
84653         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
84654         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
84655         Reported by Ralf Wildenhues.
84657 2009-05-03  Bruno Haible  <bruno@clisp.org>
84659         * modules/fnmatch (Description, configure.ac): Taken from
84660         fnmatch-posix.
84661         * modules/fnmatch-posix: Turn into a symbolic reference to the
84662         'fnmatch' module, and deprecate.
84663         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
84665 2009-05-03  Bruno Haible  <bruno@clisp.org>
84667         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
84668         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
84669         Reported by Ralf Wildenhues.
84671 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84673         * m4/fnmatch.m4: Fix fnmatch re-define.
84675 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84677         priv-set: new module and tests; adapt write-any-file
84678         * lib/priv-set.c: New file.
84679         * lib/priv-set.h: New file.
84680         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
84681         * lib/write-any-file.c: Simplify by using priv-set module.
84682         * m4/priv-set.m4: New file.
84683         * modules/priv-set: New file.
84684         * modules/unlinkdir: Add dependency on priv-set module.
84685         * modules/write-any-file: Likewise.
84687         Tests for module 'priv-set'.
84688         * modules/priv-set-tests: New file.
84689         * tests/test-priv-set.c: New file.
84691 2009-05-03  Jim Meyering  <meyering@redhat.com>
84692             Bruno Haible  <bruno@clisp.org>
84694         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
84695         use the converted UTF-8 variant of the name instead.
84697 2009-05-03  Jim Meyering  <meyering@redhat.com>
84699         tests: tighten some getdate tests
84700         * tests/test-getdate.c (main): Tighten tests: require equality,
84701         not just greater than.  Set TZ envvar to UTC0.
84703 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
84705         getdate: correctly interpret "next monday" when run on a Monday
84706         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
84707         that e.g., "next tues" (when run on a tuesday) results in a date
84708         that is one week in the future, and not today's date.
84709         I.e., add a week when the wday is the same as the current one.
84710         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
84711         and earlier by Martin Bernreuther and Jan Minář.
84712         * tests/test-getdate.c (main): Check that "next DAY" is always in
84713         the future and that "last DAY" is always in the past.
84715 2009-05-02  Jim Meyering  <meyering@redhat.com>
84717         build: ensure that a release build fails when a submodule is unclean
84718         * top/maint.mk (no-submodule-changes): New rule.
84719         (alpha beta major): Depend on it.
84721 2009-05-02  Bruno Haible  <bruno@clisp.org>
84723         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
84724         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
84725         shell variable gl_fnmatch_required to detect which variant is
84726         requested.
84727         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
84728         gl_FUNC_FNMATCH_POSIX.
84729         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
84730         exclude fnmatch-posix.
84732 2009-05-02  Bruno Haible  <bruno@clisp.org>
84734         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
84735         * modules/mbsrtowcs (License): Change to LGPLv2+.
84736         * modules/strnlen1 (License): Likewise.
84737         Reported by Simon Josefsson.
84739 2009-05-02  Bruno Haible  <bruno@clisp.org>
84741         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
84742         "cross".
84743         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
84744         gnulib-tool was called with option --source-base=lib.
84746 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84748         Use automake *-local hooks without commands, for extensibility.
84749         * modules/localcharset (Makefile.am): Rename install-exec-local
84750         rule to install-exec-localcharset, and make it a prerequisite of
84751         install-exec-local.  Likewise, rename the uninstall-local rule to
84752         uninstall-localcharset, and make it a prerequisite of the former.
84754 2009-05-01  Bruno Haible  <bruno@clisp.org>
84756         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
84757         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84758         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
84759         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
84760         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
84761         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84762         m4/locale-zh.m4, m4/codeset.m4.
84764         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84765         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
84766         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84767         m4/locale-zh.m4.
84769         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
84770         REPLACE_WCRTOMB if mbstate_t must be replaced.
84771         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
84772         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
84774 2009-05-01  Bruno Haible  <bruno@clisp.org>
84776         Avoid compiler warnings when redefining macros defined by <libintl.h>.
84777         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
84778         dngettext, dcngettext, textdomain, bindtextdomain,
84779         bind_textdomain_codeset): Undefine before redefining.
84781 2009-04-30  Bruno Haible  <bruno@clisp.org>
84783         Fix bug introduced on 2009-04-25.
84784         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
84785         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
84786         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
84787         is defined.
84788         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
84789         is defined.
84790         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
84791         is defined.
84792         Reported by Elbert_Pol <elbert.pol@gmail.com>.
84794 2009-04-28  Bruno Haible  <bruno@clisp.org>
84796         Comment tweaks.
84797         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
84798         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
84799         * lib/unicase.h (u*_casexfrm): Likewise.
84800         Reported by Paolo Bonzini.
84802 2009-04-28  Bruno Haible  <bruno@clisp.org>
84804         Fix a compilation error.
84805         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
84806         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
84807         Reported by Jim Meyering.
84809 2009-04-27  Bruno Haible  <bruno@clisp.org>
84811         New module 'libunistring'.
84812         * modules/libunistring: New file.
84813         * m4/libunistring.m4: New file.
84814         * MODULES.html.sh (Unicode string functions): Add it.
84816 2009-04-27  Eric Blake  <ebb9@byu.net>
84818         maint.mk: allow package-specific header to provide <config.h>
84819         * top/maint.mk (sc_require_config_h): New variable.
84820         (sc_require_config_h, sc_require_config_h_first): Use it.
84822 2009-04-27  Simon Josefsson  <simon@josefsson.org>
84824         * top/maint.mk (sc_avoid_if_before_free): Except
84825         useless-if-before-free script.
84827 2009-04-27  Eric Blake  <ebb9@byu.net>
84829         maintainer-makefile: depend on all required helper scripts
84830         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
84831         useless-if-before-free.
84832         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
84833         version, rather than assuming gnulib checkout is available.
84834         Reported by Simen Josefsson.
84836 2009-04-26  Bruno Haible  <bruno@clisp.org>
84838         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
84839         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
84840         "../" or "..".
84842 2009-04-26  Bruno Haible  <bruno@clisp.org>
84844         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
84845         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
84846         AC_LIB_HAVE_LINKFLAGS.
84848 2009-04-26  Bruno Haible  <bruno@clisp.org>
84850         Simplify calling convention of u*_conv_from_encoding.
84851         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
84852         u32_conv_from_encoding): Expect a resultbuf argument and return the
84853         result directly as a pointer.
84854         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
84855         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
84856         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
84857         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
84858         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
84859         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84860         Update.
84861         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
84862         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
84863         * lib/vasnprintf.c (VASNPRINTF): Update.
84864         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
84865         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
84866         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
84867         * NEWS: Mention the change.
84869 2009-04-26  Bruno Haible  <bruno@clisp.org>
84871         Simplify calling convention of u*_conv_to_encoding.
84872         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
84873         u32_conv_to_encoding): Expect a resultbuf argument and return the
84874         result directly as a pointer.
84875         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84876         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
84877         freeing scaled_offsets if mem_iconveha failed.
84878         * lib/unicase/u-casexfrm.h (FUNC): Update.
84879         * lib/uninorm/u-normxfrm.h (FUNC): Update.
84880         * lib/vasnprintf.c (VASNPRINTF): Update.
84881         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
84882         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
84883         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
84884         * NEWS: Mention the change.
84886 2009-04-26  Bruno Haible  <bruno@clisp.org>
84888         Avoid test failures on AIX and OSF/1.
84889         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
84890         malloc(0).
84891         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84892         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84893         Likewise.
84894         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
84895         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
84896         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
84897         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
84898         * doc/posix-functions/malloc.texi: Document the portability problem
84899         related to malloc(0).
84901 2009-04-26  Bruno Haible  <bruno@clisp.org>
84903         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
84904         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
84905         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
84907 2009-04-25  Bruno Haible  <bruno@clisp.org>
84909         Avoid link error when creating a namespace clean library.
84910         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
84911         as macro with arguments if already defined as an alias.
84912         * lib/signbitf.c (gl_signbitf): Don't undefine.
84913         * lib/signbitd.c (gl_signbitd): Don't undefine.
84914         * lib/signbitl.c (gl_signbitl): Don't undefine.
84916 2009-04-25  Jim Meyering  <meyering@redhat.com>
84918         vc-list-files: fix another quoting bug
84919         * build-aux/vc-list-files: Avoid sed backslash expansion
84920         of pathological directory names.
84922 2009-04-25  Eric Blake  <ebb9@byu.net>
84924         vc-list-files: fix shell quoting error
84925         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
84926         timestamp.
84928 2009-04-25  Jim Meyering  <meyering@redhat.com>
84930         vc-list-files: restore lost functionality with subdir argument
84931         * build-aux/vc-list-files: When given a non-"." sub-directory
84932         argument, substitute the $dir/ prefix back onto each resulting name.
84933         Otherwise, coreutils' root_tests check would fail.
84935 2009-04-24  Eric Blake  <ebb9@byu.net>
84937         vc-list-files: ignore git symlinks
84938         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
84939         than ls-files, to ignore git symlinks.
84941         maint.mk: import improvements from m4
84942         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
84943         (move_if_change): Delete unused macro.
84944         (news-date-check, vc-diff-check): Support VPATH builds.
84945         (announcement): Likewise.  Split --bootstrap-tools list...
84946         (boostrap-tools): ...into separate list, which can be overridden
84947         in cfg.mk.
84948         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
84949         requiring dependency on useless-if-before-free module.
84950         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
84951         Support VPATH builds.
84953 2009-04-24  Jim Meyering  <meyering@redhat.com>
84955         maint.mk: remove coreutils-specific rules and variables
84956         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
84957         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
84958         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
84960         maint.mk: remove obsolete rule
84961         * top/maint.mk (rel-check): Remove rule.
84962         (WGET, WGETFLAGS): Remove now-unused variables.
84964 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84966         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
84967         consistency.
84969         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
84970         '$(PATH_SEPARATOR)' instead of ':'.
84972 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84974         * lib/getopt1.c (main): Use 'const' for static array.
84976 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84978         * top/maint.mk: Sync with coreutils.
84979         * NEWS: Explain incompatibilities.
84981 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84982             Bruno Haible  <bruno@clisp.org>
84984         Fix cross-compilation results.
84985         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
84986         statement, as third argument of AC_TRY_RUN.
84987         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
84988         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
84989         Likewise.
84990         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
84991         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
84992         Likewise.
84993         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
84994         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
84995         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
84997 2009-04-20  Bruno Haible  <bruno@clisp.org>
84999         Avoid test failure on mingw.
85000         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
85002 2009-04-20  Bruno Haible  <bruno@clisp.org>
85004         Avoid compilation error on mingw.
85005         * modules/localename-tests (Depends-on): Add locale.
85007 2009-04-19  Bruno Haible  <bruno@clisp.org>
85009         Support for building a shared library on Windows platforms.
85010         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
85011         (main): Test the presence of UNINORM_NFC here.
85012         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
85013         (main): Test the presence of UNINORM_NFD here.
85014         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
85015         (main): Test the presence of UNINORM_NFKC here.
85016         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
85017         (main): Test the presence of UNINORM_NFKD here.
85019 2009-04-19  Bruno Haible  <bruno@clisp.org>
85021         Avoid a compiler warning.
85022         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
85023         Change type of variable 'sequence'.
85025 2009-04-19  Bruno Haible  <bruno@clisp.org>
85027         * modules/configmake (Makefile.am): When the contents of configmake.h
85028         does not change, arrange to preserve its modification time.
85030 2009-04-17  Simon Josefsson  <simon@josefsson.org>
85032         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
85033         gettext domain.
85035 2009-04-16  Jim Meyering  <meyering@redhat.com>
85037         useless-if-before-free: improve conversion code
85038         * build-aux/useless-if-before-free: Adjust code-in-comment to match
85039         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
85041 2009-04-14  Bruno Haible  <bruno@clisp.org>
85043         * modules/fcntl (Depends-on): Add extensions.
85044         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
85046 2009-04-12  Ben Pfaff  <blp@gnu.org>
85048         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
85049         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
85051 2009-03-20  Ben Pfaff  <blp@gnu.org>
85053         Make rename replace existing destinations on Windows.
85054         * m4/rename.m4: Add test for Mingw.
85055         * lib/rename.c: Add rename replacement that uses MoveFileEx with
85056         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
85057         * doc/posix-functions/rename.texi: Document.
85059 2009-04-10  Bruno Haible  <bruno@clisp.org>
85061         New include file "iconveh.h".
85062         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
85063         * lib/striconveh.h: Include it.
85064         (enum iconv_ilseq_handler): Remove definition.
85065         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
85066         striconveh.h.
85067         * lib/striconveha.c: Include striconveh.h.
85068         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
85069         * modules/striconveh (Files): Add lib/iconveh.h.
85070         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
85071         lib/striconveh.h.
85073 2009-04-10  Bruno Haible  <bruno@clisp.org>
85075         * lib/uniconv.h: Update comment.
85077 2009-04-10  Bruno Haible  <bruno@clisp.org>
85079         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
85080         always.
85081         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
85082         * lib/unistr/u16-mbtouc-aux.c: Likewise.
85083         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
85084         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
85085         "unistring-notinline.h", so that the function gets defined always.
85086         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
85087         * lib/unistr/u8-uctomb.c: Likewise.
85088         * lib/unistr/u16-mbtouc.c: Likewise.
85089         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
85090         * lib/unistr/u16-uctomb.c: Likewise.
85091         * lib/unistr/u32-mbtouc.c: Likewise.
85092         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
85093         * lib/unistr/u32-uctomb.c: Likewise.
85095 2009-04-10  Bruno Haible  <bruno@clisp.org>
85097         Mark 'utime' obsolete.
85098         * modules/utime (Status, Notice): New sections.
85099         Suggested by Jim Meyering.
85101         Fix cross-compile guess for utime test.
85102         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
85103         autoconf.
85104         * doc/posix-functions/utime.texi: Give more precisions.
85105         Reported by Jan <ipif@ymail.com>.
85107 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
85109         filevercmp: correct today's change
85110         * lib/filevercmp.c: Also handle coreutils' test inputs.
85111         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
85113         Fix regression in 'filevercmp' module. Thanks Sven Joachim
85114         for reporting it.
85115         * lib/filevercmp.c: Special handle for "", "." and "..".
85116         * tests/test-filevercmp.c: Enlarge the set suite.
85118 2009-04-07  Jim Meyering  <meyering@redhat.com>
85120         useless-if-before-free: show how to remove braced useless free, too
85121         * build-aux/useless-if-before-free: still only in a comment, though.
85123 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
85125         maint.mk: import changes to syntax-check macros from coreutils
85126         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
85127         Use them in the relevant macros.
85129 2009-04-06  Bruno Haible  <bruno@clisp.org>
85131         Fix unportable use of bit-fields.
85132         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
85133         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
85134         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
85136 2009-04-06  Bruno Haible  <bruno@clisp.org>
85138         Avoid test failures on AIX and OSF/1.
85139         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
85140         that malloc(0) = NULL.
85141         * tests/unicase/test-u8-tolower.c (check): Likewise.
85142         * tests/unicase/test-u8-totitle.c (check): Likewise.
85143         * tests/unicase/test-u8-toupper.c (check): Likewise.
85144         * tests/unicase/test-u16-casefold.c (check): Likewise.
85145         * tests/unicase/test-u16-tolower.c (check): Likewise.
85146         * tests/unicase/test-u16-totitle.c (check): Likewise.
85147         * tests/unicase/test-u16-toupper.c (check): Likewise.
85148         * tests/unicase/test-u32-casefold.c (check): Likewise.
85149         * tests/unicase/test-u32-tolower.c (check): Likewise.
85150         * tests/unicase/test-u32-totitle.c (check): Likewise.
85151         * tests/unicase/test-u32-toupper.c (check): Likewise.
85152         * tests/uninorm/test-u8-nfc.c (check): Likewise.
85153         * tests/uninorm/test-u8-nfd.c (check): Likewise.
85154         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
85155         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
85156         * tests/uninorm/test-u16-nfc.c (check): Likewise.
85157         * tests/uninorm/test-u16-nfd.c (check): Likewise.
85158         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
85159         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
85160         * tests/uninorm/test-u32-nfc.c (check): Likewise.
85161         * tests/uninorm/test-u32-nfd.c (check): Likewise.
85162         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
85163         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
85165 2009-04-05  Bruno Haible  <bruno@clisp.org>
85167         Work around an autoconf limitation.
85168         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
85169         comment line if it would be longer than 3 KB.
85171 2009-04-05  Bruno Haible  <bruno@clisp.org>
85173         Avoid test failure with libiconv-1.13.
85174         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
85175         of the expected test results.
85177 2009-04-05  Bruno Haible  <bruno@clisp.org>
85179         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
85180         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
85181         that it should be installed.
85183 2009-04-05  Bruno Haible  <bruno@clisp.org>
85185         * gnulib-tool: New option --copy-file.
85186         (func_usage): Document it.
85187         (func_dest_tmpfilename): Moved out of func_import.
85188         (func_add_file, func_update_file): New functions, extracted from
85189         func_import.
85190         (func_import): Update.
85192 2009-04-05  Karl Berry  <karl@gnu.org>
85194         * README: prominently mention gnulib-tool.
85195         Rearrange sections so getting the code is near the top.
85197 2009-04-05  Bruno Haible  <bruno@clisp.org>
85199         * lib/unicase.h: Mention u*_cmp2.
85200         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
85201         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
85202         * lib/unicase/ulc-casecmp.c: Likewise.
85203         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
85204         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
85205         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
85206         unistr/u8-cmp.
85207         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
85208         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
85209         unistr/u16-cmp.
85210         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
85211         unistr/u32-cmp.
85213         * lib/uninorm.h: Mention u*_cmp2.
85214         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
85215         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
85216         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
85217         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
85218         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
85219         unistr/u8-cmp.
85220         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
85221         unistr/u16-cmp.
85222         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
85223         unistr/u32-cmp.
85225         New module 'unistr/u32-cmp2'.
85226         * lib/unistr/u32-cmp2.c: New file.
85227         * modules/unistr/u32-cmp2: New file.
85229         New module 'unistr/u16-cmp2'.
85230         * lib/unistr/u16-cmp2.c: New file.
85231         * modules/unistr/u16-cmp2: New file.
85233         New module 'unistr/u8-cmp2'.
85234         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
85235         * lib/unistr/u8-cmp2.c: New file.
85236         * lib/unistr/u-cmp2.h: New file.
85237         * modules/unistr/u8-cmp2: New file.
85239 2009-04-05  Bruno Haible  <bruno@clisp.org>
85241         * lib/unictype.h (uc_property_is_valid): New macro.
85242         * tests/unictype/test-pr_byname.c (main): Use it.
85244         * lib/unistr.h: Doc fixes.
85245         * lib/uniconv.h: Doc fixes.
85246         * lib/unictype.h: Doc fixes.
85248 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
85250         Port coreutils 7.2 to Solaris 8.
85252         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
85253         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
85254         for Solaris 8.  This is a bit of a hack, as it means it's the
85255         caller's responsibility to add -lnsl if needed, but most likely it
85256         won't be needed since only getaddrinfo uses this and getaddrinfo
85257         isn't needed on Solaris 8.
85259         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
85260         problem to Solaris 8 encountered with coreutils 7.2, which
85261         resulted in a message "fnmatch.c:292: warning: passing argument 4
85262         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
85263         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
85265 2009-04-03  Simon Josefsson  <simon@josefsson.org>
85267         * m4/ld-version-script.m4: Add FIXME comment.
85269 2009-04-02  Simon Josefsson  <simon@josefsson.org>
85271         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
85272         SOVERSION variable.
85274 2009-04-02  Bruno Haible  <bruno@clisp.org>
85276         * Makefile (info, html, dvi, pdf): Combine the rules.
85277         Suggested by Jim Meyering.
85279 2009-04-01  Bruno Haible  <bruno@clisp.org>
85281         * Makefile (info, html, dvi, pdf): New targets.
85282         Reported by Reuben Thomas <rrt@sc3d.org>.
85284 2009-04-01  Bruno Haible  <bruno@clisp.org>
85286         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
85287         can be put into PATH.
85288         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
85290 2009-04-01  Bruno Haible  <bruno@clisp.org>
85292         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
85294 2009-04-01  Bruno Haible  <bruno@clisp.org>
85296         Rename module 'visibility'.
85297         * modules/lib-symbol-visibility: Renamed from modules/visibility.
85298         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
85299         * doc/gnulib.texi: Update.
85300         * MODULES.html.sh (Misc): Update.
85301         * NEWS: Mention the change.
85303 2009-04-01  Simon Josefsson  <simon@josefsson.org>
85305         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
85306         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
85307         Eric Blake <ebb9@byu.net> for review.
85308         * MODULES.html.sh: Add lib-msvc-compat.
85309         * doc/gnulib.texi: Link to new section.
85310         * m4/ld-output-def.m4: New file.
85311         * doc/ld-output-def.texi: New file.
85313 2009-04-01  Simon Josefsson  <simon@josefsson.org>
85315         Rename ld-version-script to lib-symbol-versions.  Suggested by
85316         Bruno Haible <bruno@clisp.org>.
85317         * modules/ld-version-script: Renamed to lib-symbol-versions.
85318         * doc/ld-version-script.texi: Fix module name.
85319         * MODULES.html.sh: Add lib-symbol-versions.
85321 2009-03-31  Simon Josefsson  <simon@josefsson.org>
85323         * modules/u64-tests: New file.
85324         * tests/test-u64.c: New file.
85326 2009-03-04  Simon Josefsson  <simon@josefsson.org>
85328         * MODULES.html.sh: Mention u64.
85329         * modules/u64: New module.
85330         * modules/crypto/sha512: Depend on u64 module instead of providing
85331         u64.h.
85333 2009-03-27  Eric Blake  <ebb9@byu.net>
85335         test-strerror: make debugging EAI_SYSTEM easier
85336         * modules/getaddrinfo-tests (Depends-on): Add strerror.
85337         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
85338         failure was EAI_SYSTEM.
85340 2009-03-25  Bruno Haible  <bruno@clisp.org>
85342         Fix a problem with --enable-relocatable on Solaris 7.
85343         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
85344         since 2008-02-24.
85346 2009-03-25  Eric Blake  <ebb9@byu.net>
85348         test-sockets: avoid gcc warning
85349         * tests/test-sockets.c (main): Silence compiler warning.
85351 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
85353         New modules nproc, pthread, contributed by Glen Lenker.
85355         * MODULES.html.sh: Add pthread, nproc.
85356         * lib/nproc.c: New file.
85357         * lib/nproc.h: New file.
85358         * lib/pthread.in.h: New file.
85359         * m4/pthread.m4: New file.
85360         * modules/nproc: New file.
85361         * modules/pthread: New file.
85363 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85365         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
85366         New variable.
85368 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
85370         filevercmp: handle simple~ and numbered.~3~ backup suffixes
85371         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
85372         * tests/test-filevercmp.c: Add tests for backup suffixes.
85374 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85376         * modules/stdlib (Depends-on): Add stdint, needed when defining
85377         struct random_data on, for example, HP-UX 10.20.  Reported by
85378         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
85380 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85382         * lib/readline.c (readline): Call fflush on stdout after printing
85383         prompt.
85385 2009-03-20  Bruno Haible  <bruno@clisp.org>
85387         Remove dependency from 'close' module to -lws2_32 on native Windows.
85388         * lib/close-hook.h: New file.
85389         * lib/close-hook.c: New file.
85390         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
85391         w32sock.h.
85392         (_gl_close_fd_maybe_socket): Remove function.
85393         (rpl_close): Invoke execute_all_close_hooks instead of
85394         _gl_close_fd_maybe_socket.
85395         * lib/sockets.c: Include close-hook.h, w32sock.h.
85396         (close_fd_maybe_socket): New function, essentially from lib/close.c.
85397         (close_sockets_hook): New variable.
85398         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
85399         (gl_sockets_cleanup): Unregister it.
85400         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
85401         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
85402         * modules/close-hook: New file.
85403         * modules/close (Files): Remove lib/w32sock.h.
85404         (Depends-on): Add close-hook.
85405         (Link): Remove section.
85406         * modules/sockets (Files): Add lib/w32sock.h.
85407         (Depends-on): Add close-hook.
85408         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
85409         invocation.
85410         * NEWS: Mention that LIB_CLOSE is gone.
85412 2009-03-23  Eric Blake  <ebb9@byu.net>
85414         signal-tests: test previous patch
85415         * tests/test-signal.c: New file.
85416         * modules/signal-tests: Likewise.
85418         signal.h: always support 'volatile sig_atomic_t'
85419         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
85420         (gl_SIGNAL_H_DEFAULTS): Add a default.
85421         * modules/signal (Makefile.am): Substitute if needed.
85422         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
85423         users can blindly add volatile.
85424         * doc/posix-headers/signal.texi (signal.h): Document it.
85425         Reported by Matthew Woehlke.
85427 2009-03-23  Jim Meyering  <meyering@redhat.com>
85429         pathmax: PATH_MAX: use pathconf only when available
85430         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
85431         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
85432         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
85433         This avoids a link failure in a PSP cross-compilation environment
85434         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
85436         * lib/vasnprintf.c (divide): Fix typo in comment.
85438 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85440         * gnulib-tool (func_filter_filelist): Fix comment.
85442 2009-03-20  Bruno Haible  <bruno@clisp.org>
85444         Make sockets.h self-contained.
85445         * lib/sockets.c: Include sockets.h first.
85446         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
85448 2009-03-19  Eric Blake  <ebb9@byu.net>
85450         doc: mention more functions added in cygwin 1.7.0
85451         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
85452         addition.
85453         * doc/posix-functions/log2f.texi: Likewise.
85455 2009-03-19  Jim Meyering  <meyering@redhat.com>
85457         fsusage: avoid syntax error due to statement-before-declaration
85458         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
85459         after all declarations.  Reported by Matthew Woehlke in
85460         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
85462 2009-03-18  Eric Blake  <ebb9@byu.net>
85464         build-aux/compile: sync from automake
85465         * build-aux/compile: New file, from automake.
85466         * config/srclist.txt: Mention build-aux/compile.
85468 2009-03-17  Bruno Haible  <bruno@clisp.org>
85470         * lib/git-merge-changelog.c: Fix typo in comment.
85471         Reported by Reuben Thomas <rrt@sc3d.org>.
85473 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
85475         * m4/regex.m4: update and improve help for
85476         --without-included-regex.
85478 2009-03-17  Simon Josefsson  <simon@josefsson.org>
85480         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
85481         failure on missing include files.
85483 2009-03-17  Eric Blake  <ebb9@byu.net>
85485         doc: mention more functions added in cygwin 1.7.0
85486         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
85487         addition.
85488         * doc/posix-functions/fwscanf.texi: Likewise.
85489         * doc/posix-functions/swprintf.texi: Likewise.
85490         * doc/posix-functions/swscanf.texi: Likewise.
85491         * doc/posix-functions/vfwprintf.texi: Likewise.
85492         * doc/posix-functions/vfwscanf.texi: Likewise.
85493         * doc/posix-functions/vswprintf.texi: Likewise.
85494         * doc/posix-functions/vswscanf.texi: Likewise.
85495         * doc/posix-functions/vwprintf.texi: Likewise.
85496         * doc/posix-functions/vwscanf.texi: Likewise.
85497         * doc/posix-functions/wcscasecmp.texi: Likewise.
85498         * doc/posix-functions/wcsdup.texi: Likewise.
85499         * doc/posix-functions/wcsftime.texi: Likewise.
85500         * doc/posix-functions/wcsncasecmp.texi: Likewise.
85501         * doc/posix-functions/wprintf.texi: Likewise.
85502         * doc/posix-functions/wscanf.texi: Likewise.
85503         * doc/glibc-functions/gethostbyname2.texi: Likewise.
85505 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85507         maint.mk: really add $(AM_MAKEFLAGS)
85508         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
85509         was inadvertently omitted in the last commit.
85510         Spotted by Bruno Haible.
85512         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
85513         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
85514         $(AM_MAKEFLAGS)' rather than plain `make'.
85516         gnulib-tool: execute $MAKE not make
85517         * gnulib-tool: Default $MAKE to 'make'.
85518         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
85519         than make.  Initialize $MAKE in the do-autobuild script.
85521         gnulib-tool: use $MAKE not make in generated files
85522         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
85523         make, in generated files.  Initialize $MAKE in the do-autobuild
85524         script.
85526         * top/GNUmakefile (_have-git-version-gen): Fix typo.
85528         GNUmakefile: disable parallelism only for multiple, recursive targets
85529         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
85530         additions in the Makefile.
85531         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
85532         by Automake.
85533         (.NOTPARALLEL): Only disable parallel builds if multiple targets
85534         are listed on the command line and at least one of them is
85535         listed in $(ALL_RECURSIVE_TARGETS).
85537 2009-03-14  Bruno Haible  <bruno@clisp.org>
85539         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
85540         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
85541         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
85542         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
85543         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
85544         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
85545         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
85546         unistr/u8-uctomb.
85547         * modules/unistr/u8-strchr (Depends-on): Likewise.
85548         * modules/unistr/u8-strrchr (Depends-on): Likewise.
85549         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
85550         unistr/u16-uctomb.
85551         * modules/unistr/u16-strchr (Depends-on): Likewise.
85552         * modules/unistr/u16-strrchr (Depends-on): Likewise.
85554 2009-03-12  Bruno Haible  <bruno@clisp.org>
85556         Work around select() bug on Interix 3.5.
85557         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
85558         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
85559         * m4/select.m4: New file.
85560         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
85561         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
85562         * modules/select (Files): Add m4/select.m4.
85563         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
85564         * modules/nanosleep (Depends-on): Add select.
85565         * modules/poll (Depends-on): Likewise.
85566         * doc/posix-functions/select.texi: Mention the Interix bug.
85567         Reported by Markus Duft <mduft@gentoo.org>.
85569         * lib/select.c: Renamed from lib/winsock-select.c.
85570         * modules/select (Files): Add lib/select.c, remove
85571         lib/winsock-select.c.
85572         (configure.ac): Update.
85574 2009-03-12  Jim Meyering  <meyering@redhat.com>
85576         avoid gcc warnings about unused macro definitions
85577         * lib/readtokens.c (STREQ): Remove unused definition.
85578         * lib/xmalloc.c (SIZE_MAX): Likewise.
85579         * lib/openat-die.c (N_): Likewise.
85580         * lib/mountlist.c (SIZE_MAX): Remove definition.
85581         Instead, include <stdint.h>.
85582         * lib/readutmp.c: Likewise.
85583         * modules/readutmp (Depends-on): Add stdint.
85584         * modules/mountlist (Depends-on): Add stdint.
85585         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
85587 2009-03-10  Bruno Haible  <bruno@clisp.org>
85589         Tests for module 'mbmemcasecoll'.
85590         * modules/mbmemcasecoll-tests: New file.
85591         * tests/test-mbmemcasecoll1.sh: New file.
85592         * tests/test-mbmemcasecoll2.sh: New file.
85593         * tests/test-mbmemcasecoll3.sh: New file.
85594         * tests/test-mbmemcasecoll.c: New file.
85596         New module 'mbmemcasecoll'.
85597         * lib/mbmemcasecoll.h: New file.
85598         * lib/mbmemcasecoll.c: New file.
85599         * modules/mbmemcasecoll: New file.
85601         * tests/test-mbmemcasecmp.h: New file, extracted from
85602         tests/test-mbmemcasecmp.c.
85603         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
85604         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
85605         (main): Update.
85606         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
85608 2009-03-09  Bruno Haible  <bruno@clisp.org>
85610         Tests for module 'mbmemcasecmp'.
85611         * modules/mbmemcasecmp-tests: New file.
85612         * tests/test-mbmemcasecmp1.sh: New file.
85613         * tests/test-mbmemcasecmp2.sh: New file.
85614         * tests/test-mbmemcasecmp3.sh: New file.
85615         * tests/test-mbmemcasecmp.c: New file.
85617         New module 'mbmemcasecmp'.
85618         * lib/mbmemcasecmp.h: New file.
85619         * lib/mbmemcasecmp.c: New file.
85620         * modules/mbmemcasecmp: New file.
85622 2009-03-09  Bruno Haible  <bruno@clisp.org>
85624         Tests for module 'unicase/ulc-casecoll'.
85625         * modules/unicase/ulc-casecoll-tests: New file.
85626         * tests/unicase/test-ulc-casecoll1.sh: New file.
85627         * tests/unicase/test-ulc-casecoll2.sh: New file.
85628         * tests/unicase/test-ulc-casecoll.c: New file.
85630         New module 'unicase/ulc-casecoll'.
85631         * lib/unicase.h (ulc_casecoll): New declaration.
85632         * lib/unicase/ulc-casecoll.c: New file.
85633         * modules/unicase/ulc-casecoll: New file.
85635         New module 'unicase/ulc-casexfrm'.
85636         * lib/unicase.h (ulc_casexfrm): New declaration.
85637         * lib/unicase/ulc-casexfrm.c: New file.
85638         * modules/unicase/ulc-casexfrm: New file.
85640 2009-03-09  Bruno Haible  <bruno@clisp.org>
85642         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
85643         invocations.
85645         * m4/mbscasecmp.m4: Remove file.
85646         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
85647         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
85649         * m4/mbscasestr.m4: Remove file.
85650         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
85651         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
85653         * m4/mbschr.m4: Remove file.
85654         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
85655         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
85657         * m4/mbscspn.m4: Remove file.
85658         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
85659         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
85661         * m4/mbslen.m4: Remove file.
85662         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
85663         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
85665         * m4/mbsncasecmp.m4: Remove file.
85666         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
85667         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
85669         * m4/mbsnlen.m4: Remove file.
85670         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
85671         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
85673         * m4/mbspbrk.m4: Remove file.
85674         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
85675         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
85677         * m4/mbspcasecmp.m4: Remove file.
85678         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
85679         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
85681         * m4/mbsrchr.m4: Remove file.
85682         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
85683         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
85685         * m4/mbssep.m4: Remove file.
85686         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
85687         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
85689         * m4/mbsspn.m4: Remove file.
85690         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
85691         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
85693         * m4/mbsstr.m4: Remove file.
85694         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
85695         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
85697         * m4/mbstok_r.m4: Remove file.
85698         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
85699         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
85701         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
85703         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
85704         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
85706         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
85708 2009-03-08  Bruno Haible  <bruno@clisp.org>
85710         Tests for module 'unicase/ulc-casecmp'.
85711         * modules/unicase/ulc-casecmp-tests: New file.
85712         * tests/unicase/test-ulc-casecmp1.sh: New file.
85713         * tests/unicase/test-ulc-casecmp2.sh: New file.
85714         * tests/unicase/test-ulc-casecmp.c: New file.
85716         New module 'unicase/ulc-casecmp'.
85717         * lib/unicase.h (ulc_casecmp): New declaration.
85718         * lib/unicase/ulc-casecmp.c: New file.
85719         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
85720         'const SRC_UNIT *'.
85721         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
85722         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
85723         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
85724         * modules/unicase/ulc-casecmp: New file.
85726         Tests for module 'unicase/u32-is-cased'.
85727         * modules/unicase/u32-is-cased-tests: New file.
85728         * tests/unicase/test-u32-is-cased.c: New file.
85730         Tests for module 'unicase/u16-is-cased'.
85731         * modules/unicase/u16-is-cased-tests: New file.
85732         * tests/unicase/test-u16-is-cased.c: New file.
85734         Tests for module 'unicase/u8-is-cased'.
85735         * modules/unicase/u8-is-cased-tests: New file.
85736         * tests/unicase/test-u8-is-cased.c: New file.
85737         * tests/unicase/test-is-cased.h: New file.
85739         New module 'unicase/u32-is-cased'.
85740         * lib/unicase/u32-is-cased.c: New file.
85741         * modules/unicase/u32-is-cased: New file.
85743         New module 'unicase/u16-is-cased'.
85744         * lib/unicase/u16-is-cased.c: New file.
85745         * modules/unicase/u16-is-cased: New file.
85747         New module 'unicase/u8-is-cased'.
85748         * lib/unicase/u8-is-cased.c: New file.
85749         * lib/unicase/u-is-cased.h: New file.
85750         * modules/unicase/u8-is-cased: New file.
85752         Tests for module 'unicase/u32-is-casefolded'.
85753         * modules/unicase/u32-is-casefolded-tests: New file.
85754         * tests/unicase/test-u32-is-casefolded.c: New file.
85756         Tests for module 'unicase/u16-is-casefolded'.
85757         * modules/unicase/u16-is-casefolded-tests: New file.
85758         * tests/unicase/test-u16-is-casefolded.c: New file.
85760         Tests for module 'unicase/u8-is-casefolded'.
85761         * modules/unicase/u8-is-casefolded-tests: New file.
85762         * tests/unicase/test-u8-is-casefolded.c: New file.
85763         * tests/unicase/test-is-casefolded.h: New file.
85765         New module 'unicase/u32-is-casefolded'.
85766         * lib/unicase/u32-is-casefolded.c: New file.
85767         * modules/unicase/u32-is-casefolded: New file.
85769         New module 'unicase/u16-is-casefolded'.
85770         * lib/unicase/u16-is-casefolded.c: New file.
85771         * modules/unicase/u16-is-casefolded: New file.
85773         New module 'unicase/u8-is-casefolded'.
85774         * lib/unicase/u8-is-casefolded.c: New file.
85775         * modules/unicase/u8-is-casefolded: New file.
85777         Tests for module 'unicase/u32-is-titlecase'.
85778         * modules/unicase/u32-is-titlecase-tests: New file.
85779         * tests/unicase/test-u32-is-titlecase.c: New file.
85781         Tests for module 'unicase/u16-is-titlecase'.
85782         * modules/unicase/u16-is-titlecase-tests: New file.
85783         * tests/unicase/test-u16-is-titlecase.c: New file.
85785         Tests for module 'unicase/u8-is-titlecase'.
85786         * modules/unicase/u8-is-titlecase-tests: New file.
85787         * tests/unicase/test-u8-is-titlecase.c: New file.
85788         * tests/unicase/test-is-titlecase.h: New file.
85790         New module 'unicase/u32-is-titlecase'.
85791         * lib/unicase/u32-is-titlecase.c: New file.
85792         * modules/unicase/u32-is-titlecase: New file.
85794         New module 'unicase/u16-is-titlecase'.
85795         * lib/unicase/u16-is-titlecase.c: New file.
85796         * modules/unicase/u16-is-titlecase: New file.
85798         New module 'unicase/u8-is-titlecase'.
85799         * lib/unicase/u8-is-titlecase.c: New file.
85800         * modules/unicase/u8-is-titlecase: New file.
85802         Tests for module 'unicase/u32-is-lowercase'.
85803         * modules/unicase/u32-is-lowercase-tests: New file.
85804         * tests/unicase/test-u32-is-lowercase.c: New file.
85806         Tests for module 'unicase/u16-is-lowercase'.
85807         * modules/unicase/u16-is-lowercase-tests: New file.
85808         * tests/unicase/test-u16-is-lowercase.c: New file.
85810         Tests for module 'unicase/u8-is-lowercase'.
85811         * modules/unicase/u8-is-lowercase-tests: New file.
85812         * tests/unicase/test-u8-is-lowercase.c: New file.
85813         * tests/unicase/test-is-lowercase.h: New file.
85815         New module 'unicase/u32-is-lowercase'.
85816         * lib/unicase/u32-is-lowercase.c: New file.
85817         * modules/unicase/u32-is-lowercase: New file.
85819         New module 'unicase/u16-is-lowercase'.
85820         * lib/unicase/u16-is-lowercase.c: New file.
85821         * modules/unicase/u16-is-lowercase: New file.
85823         New module 'unicase/u8-is-lowercase'.
85824         * lib/unicase/u8-is-lowercase.c: New file.
85825         * modules/unicase/u8-is-lowercase: New file.
85827         Tests for module 'unicase/u32-is-uppercase'.
85828         * modules/unicase/u32-is-uppercase-tests: New file.
85829         * tests/unicase/test-u32-is-uppercase.c: New file.
85831         Tests for module 'unicase/u16-is-uppercase'.
85832         * modules/unicase/u16-is-uppercase-tests: New file.
85833         * tests/unicase/test-u16-is-uppercase.c: New file.
85835         Tests for module 'unicase/u8-is-uppercase'.
85836         * modules/unicase/u8-is-uppercase-tests: New file.
85837         * tests/unicase/test-u8-is-uppercase.c: New file.
85838         * tests/unicase/test-is-uppercase.h: New file.
85840         New module 'unicase/u32-is-uppercase'.
85841         * lib/unicase/u32-is-uppercase.c: New file.
85842         * modules/unicase/u32-is-uppercase: New file.
85844         New module 'unicase/u16-is-uppercase'.
85845         * lib/unicase/u16-is-uppercase.c: New file.
85846         * modules/unicase/u16-is-uppercase: New file.
85848         New module 'unicase/u8-is-uppercase'.
85849         * lib/unicase/u8-is-uppercase.c: New file.
85850         * modules/unicase/u8-is-uppercase: New file.
85852         New module 'unicase/u32-is-invariant'.
85853         * lib/unicase/u32-is-invariant.c: New file.
85854         * modules/unicase/u32-is-invariant: New file.
85856         New module 'unicase/u16-is-invariant'.
85857         * lib/unicase/u16-is-invariant.c: New file.
85858         * modules/unicase/u16-is-invariant: New file.
85860         New module 'unicase/u8-is-invariant'.
85861         * lib/unicase/u8-is-invariant.c: New file.
85862         * lib/unicase/invariant.h: New file.
85863         * lib/unicase/u-is-invariant.h: New file.
85864         * modules/unicase/u8-is-invariant: New file.
85866         Tests for module 'unicase/u32-casecoll'.
85867         * modules/unicase/u32-casecoll-tests: New file.
85868         * tests/unicase/test-u32-casecoll.c: New file.
85870         Tests for module 'unicase/u16-casecoll'.
85871         * modules/unicase/u16-casecoll-tests: New file.
85872         * tests/unicase/test-u16-casecoll.c: New file.
85874         Tests for module 'unicase/u8-casecoll'.
85875         * modules/unicase/u8-casecoll-tests: New file.
85876         * tests/unicase/test-u8-casecoll.c: New file.
85878         New module 'unicase/u32-casecoll'.
85879         * lib/unicase/u32-casecoll.c: New file.
85880         * modules/unicase/u32-casecoll: New file.
85882         New module 'unicase/u16-casecoll'.
85883         * lib/unicase/u16-casecoll.c: New file.
85884         * modules/unicase/u16-casecoll: New file.
85886         New module 'unicase/u8-casecoll'.
85887         * lib/unicase/u8-casecoll.c: New file.
85888         * lib/unicase/u-casecoll.h: New file.
85889         * modules/unicase/u8-casecoll: New file.
85891         New module 'unicase/u32-casexfrm'.
85892         * lib/unicase/u32-casexfrm.c: New file.
85893         * modules/unicase/u32-casexfrm: New file.
85895         New module 'unicase/u16-casexfrm'.
85896         * lib/unicase/u16-casexfrm.c: New file.
85897         * modules/unicase/u16-casexfrm: New file.
85899         New module 'unicase/u8-casexfrm'.
85900         * lib/unicase/u8-casexfrm.c: New file.
85901         * lib/unicase/u-casexfrm.h: New file.
85902         * modules/unicase/u8-casexfrm: New file.
85904         Tests for module 'unicase/u32-casecmp'.
85905         * modules/unicase/u32-casecmp-tests: New file.
85906         * tests/unicase/test-u32-casecmp.c: New file.
85908         Tests for module 'unicase/u16-casecmp'.
85909         * modules/unicase/u16-casecmp-tests: New file.
85910         * tests/unicase/test-u16-casecmp.c: New file.
85912         Tests for module 'unicase/u8-casecmp'.
85913         * modules/unicase/u8-casecmp-tests: New file.
85914         * tests/unicase/test-u8-casecmp.c: New file.
85915         * tests/unicase/test-casecmp.h: New file.
85917         New module 'unicase/u32-casecmp'.
85918         * lib/unicase/u32-casecmp.c: New file.
85919         * modules/unicase/u32-casecmp: New file.
85921         New module 'unicase/u16-casecmp'.
85922         * lib/unicase/u16-casecmp.c: New file.
85923         * modules/unicase/u16-casecmp: New file.
85925         New module 'unicase/u8-casecmp'.
85926         * lib/unicase/u8-casecmp.c: New file.
85927         * lib/unicase/u-casecmp.h: New file.
85928         * modules/unicase/u8-casecmp: New file.
85930         Tests for module 'unicase/u32-casefold'.
85931         * modules/unicase/u32-casefold-tests: New file.
85932         * tests/unicase/test-u32-casefold.c: New file.
85934         Tests for module 'unicase/u16-casefold'.
85935         * modules/unicase/u16-casefold-tests: New file.
85936         * tests/unicase/test-u16-casefold.c: New file.
85938         Tests for module 'unicase/u8-casefold'.
85939         * modules/unicase/u8-casefold-tests: New file.
85940         * tests/unicase/test-u8-casefold.c: New file.
85942         New module 'unicase/u32-casefold'.
85943         * lib/unicase/u32-casefold.c: New file.
85944         * modules/unicase/u32-casefold: New file.
85946         New module 'unicase/u16-casefold'.
85947         * lib/unicase/u16-casefold.c: New file.
85948         * modules/unicase/u16-casefold: New file.
85950         New module 'unicase/u8-casefold'.
85951         * lib/unicase/u8-casefold.c: New file.
85952         * lib/unicase/u-casefold.h: New file.
85953         * modules/unicase/u8-casefold: New file.
85955         New module 'unicase/tocasefold'.
85956         * lib/unicase/casefold.h: New file.
85957         * lib/unicase/tocasefold.c: New file.
85958         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
85959         * modules/unicase/tocasefold: New file.
85961         Tests for module 'unicase/u32-totitle'.
85962         * modules/unicase/u32-totitle-tests: New file.
85963         * tests/unicase/test-u32-totitle.c: New file.
85965         Tests for module 'unicase/u16-totitle'.
85966         * modules/unicase/u16-totitle-tests: New file.
85967         * tests/unicase/test-u16-totitle.c: New file.
85969         Tests for module 'unicase/u8-totitle'.
85970         * modules/unicase/u8-totitle-tests: New file.
85971         * tests/unicase/test-u8-totitle.c: New file.
85973         New module 'unicase/u32-totitle'.
85974         * lib/unicase/u32-totitle.c: New file.
85975         * modules/unicase/u32-totitle: New file.
85977         New module 'unicase/u16-totitle'.
85978         * lib/unicase/u16-totitle.c: New file.
85979         * modules/unicase/u16-totitle: New file.
85981         New module 'unicase/u8-totitle'.
85982         * lib/unicase/u8-totitle.c: New file.
85983         * lib/unicase/u-totitle.h: New file.
85984         * modules/unicase/u8-totitle: New file.
85986         Tests for module 'unicase/u32-tolower'.
85987         * modules/unicase/u32-tolower-tests: New file.
85988         * tests/unicase/test-u32-tolower.c: New file.
85990         Tests for module 'unicase/u16-tolower'.
85991         * modules/unicase/u16-tolower-tests: New file.
85992         * tests/unicase/test-u16-tolower.c: New file.
85994         Tests for module 'unicase/u8-tolower'.
85995         * modules/unicase/u8-tolower-tests: New file.
85996         * tests/unicase/test-u8-tolower.c: New file.
85998         New module 'unicase/u32-tolower'.
85999         * lib/unicase/u32-tolower.c: New file.
86000         * modules/unicase/u32-tolower: New file.
86002         New module 'unicase/u16-tolower'.
86003         * lib/unicase/u16-tolower.c: New file.
86004         * modules/unicase/u16-tolower: New file.
86006         New module 'unicase/u8-tolower'.
86007         * lib/unicase/u8-tolower.c: New file.
86008         * modules/unicase/u8-tolower: New file.
86010         Tests for module 'unicase/u32-toupper'.
86011         * modules/unicase/u32-toupper-tests: New file.
86012         * tests/unicase/test-u32-toupper.c: New file.
86014         Tests for module 'unicase/u16-toupper'.
86015         * modules/unicase/u16-toupper-tests: New file.
86016         * tests/unicase/test-u16-toupper.c: New file.
86018         Tests for module 'unicase/u8-toupper'.
86019         * modules/unicase/u8-toupper-tests: New file.
86020         * tests/unicase/test-u8-toupper.c: New file.
86022         New module 'unicase/u32-toupper'.
86023         * lib/unicase/u32-toupper.c: New file.
86024         * modules/unicase/u32-toupper: New file.
86026         New module 'unicase/u16-toupper'.
86027         * lib/unicase/u16-toupper.c: New file.
86028         * modules/unicase/u16-toupper: New file.
86030         New module 'unicase/u8-toupper'.
86031         * lib/unicase/u8-toupper.c: New file.
86032         * modules/unicase/u8-toupper: New file.
86034         New module 'unicase/u32-casemap'.
86035         * lib/unicase/u32-casemap.c: New file.
86036         * modules/unicase/u32-casemap: New file.
86038         New module 'unicase/u16-casemap'.
86039         * lib/unicase/u16-casemap.c: New file.
86040         * modules/unicase/u16-casemap: New file.
86042         New module 'unicase/u8-casemap'.
86043         * lib/unicase/unicasemap.h: New file.
86044         * lib/unicase/u8-casemap.c: New file.
86045         * lib/unicase/u-casemap.h: New file.
86046         * modules/unicase/u8-casemap: New file.
86048         New module 'unicase/special-casing'.
86049         * lib/unicase/special-casing.h: New file.
86050         * lib/unicase/special-casing.c: New file.
86051         * lib/unicase/special-casing-table.gperf: New file, generated by
86052         gen-uni-tables.c.
86053         * modules/unicase/special-casing: New file.
86055         Tests for module 'unicase/locale-language'.
86056         * modules/unicase/locale-language-tests: New file.
86057         * tests/unicase/test-locale-language.sh: New file.
86058         * tests/unicase/test-locale-language.c: New file.
86060         New module 'unicase/locale-language'.
86061         * lib/unicase/locale-language.c: New file.
86062         * lib/unicase/locale-languages.gperf: New file.
86063         * modules/unicase/locale-language: New file.
86065         Generate more tables for case conversion and case folding.
86066         * lib/gen-uni-tables.c (SCC_*): New enum items.
86067         (struct special_casing_rule): New type.
86068         (casing_rules, num_casing_rules, allocated_casing_rules): New
86069         variables.
86070         (add_casing_rule, fill_casing_rules): New functions.
86071         (struct casefold_rule): New type.
86072         (casefolding_rules, num_casefolding_rules,
86073         allocated_casefolding_rules): New variables.
86074         (fill_casefolding_rules): New function.
86075         (unicode_casefold): New variable.
86076         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
86077         sort_casing_rules, output_casing_rules): New functions.
86078         (main): Accept to more arguments: SpecialCasing.txt and
86079         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
86080         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
86081         Output mapping for casefolding.
86083         * lib/unicase.h: Include stdbool.h, uninorm.h.
86084         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
86085         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
86086         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
86087         arguments.
86088         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
86089         resultp arguments.
86090         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
86091         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
86092         resultp arguments.
86093         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
86094         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
86095         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
86096         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
86097         declarations.
86098         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
86100 2009-03-08  Bruno Haible  <bruno@clisp.org>
86102         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
86103         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
86104         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
86105         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
86107 2009-03-07  Bruno Haible  <bruno@clisp.org>
86109         Adjust u*_normcmp, u*_normcoll API.
86110         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
86111         u16_normcoll, u32_normcoll): Change failure conventions.
86112         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
86113         errno and return -1.
86114         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
86116 2009-03-07  Bruno Haible  <bruno@clisp.org>
86118         Tests for module 'uninorm/u32-normcoll'.
86119         * modules/uninorm/u32-normcoll-tests: New file.
86120         * tests/uninorm/test-u32-normcoll.c: New file.
86122         Tests for module 'uninorm/u16-normcoll'.
86123         * modules/uninorm/u16-normcoll-tests: New file.
86124         * tests/uninorm/test-u16-normcoll.c: New file.
86126         Tests for module 'uninorm/u8-normcoll'.
86127         * modules/uninorm/u8-normcoll-tests: New file.
86128         * tests/uninorm/test-u8-normcoll.c: New file.
86130 2009-03-07  Bruno Haible  <bruno@clisp.org>
86132         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
86133         tests/uninorm/test-u32-normcmp.c.
86134         * tests/uninorm/test-u32-normcmp.c: Include it.
86135         (test_nonascii): New function, extracted from main. Add some more
86136         tests.
86137         (main): Invoke test_ascii and test_nonascii.
86138         * modules/uninorm/u32-normcmp-tests (Files): Add
86139         tests/uninorm/test-u32-normcmp.h.
86140         (Depends-on): Remove uninorm/u32-normcmp.
86142         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
86143         tests/uninorm/test-u16-normcmp.c.
86144         * tests/uninorm/test-u16-normcmp.c: Include it.
86145         (test_nonascii): New function, extracted from main. Add some more
86146         tests.
86147         (main): Invoke test_ascii and test_nonascii.
86148         * modules/uninorm/u16-normcmp-tests (Files): Add
86149         tests/uninorm/test-u16-normcmp.h.
86150         (Depends-on): Remove uninorm/u16-normcmp.
86152         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
86153         tests/uninorm/test-u8-normcmp.c.
86154         * tests/uninorm/test-u8-normcmp.c: Include it.
86155         (test_nonascii): New function, extracted from main. Add some more
86156         tests.
86157         (main): Invoke test_ascii and test_nonascii.
86158         * modules/uninorm/u8-normcmp-tests (Files): Add
86159         tests/uninorm/test-u8-normcmp.h.
86160         (Depends-on): Remove uninorm/u8-normcmp.
86162 2009-03-07  Bruno Haible  <bruno@clisp.org>
86164         New module 'uninorm/u32-normcoll'.
86165         * lib/uninorm/u32-normcoll.c: New file.
86166         * modules/uninorm/u32-normcoll: New file.
86168         New module 'uninorm/u16-normcoll'.
86169         * lib/uninorm/u16-normcoll.c: New file.
86170         * modules/uninorm/u16-normcoll: New file.
86172         New module 'uninorm/u8-normcoll'.
86173         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
86174         declarations.
86175         * lib/uninorm/u8-normcoll.c: New file.
86176         * lib/uninorm/u-normcoll.h: New file.
86177         * modules/uninorm/u8-normcoll: New file.
86179         New module 'uninorm/u32-normxfrm'.
86180         * lib/uninorm/u32-normxfrm.c: New file.
86181         * modules/uninorm/u32-normxfrm: New file.
86183         New module 'uninorm/u16-normxfrm'.
86184         * lib/uninorm/u16-normxfrm.c: New file.
86185         * modules/uninorm/u16-normxfrm: New file.
86187         New module 'uninorm/u8-normxfrm'.
86188         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
86189         declarations.
86190         * lib/uninorm/u8-normxfrm.c: New file.
86191         * lib/uninorm/u-normxfrm.h: New file.
86192         * modules/uninorm/u8-normxfrm: New file.
86194 2009-03-07  Bruno Haible  <bruno@clisp.org>
86196         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
86197         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
86198         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
86200 2009-03-07  Bruno Haible  <bruno@clisp.org>
86202         New module 'memxfrm'.
86203         * lib/memxfrm.h: New file.
86204         * lib/memxfrm.c: New file.
86205         * modules/memxfrm: New file.
86207 2009-03-07  Bruno Haible  <bruno@clisp.org>
86209         New module 'memcmp2'.
86210         * lib/memcmp2.h: New file.
86211         * lib/memcmp2.c: New file.
86212         * modules/memcmp2: New file.
86214 2009-03-07  Bruno Haible  <bruno@clisp.org>
86216         Tests for module 'uninorm/decomposing-form'.
86217         * modules/uninorm/decomposing-form-tests: New file.
86218         * tests/uninorm/test-decomposing-form.c: New file.
86220         New module 'uninorm/decomposing-form'.
86221         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
86222         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
86223         Add 'decomposing_variant' field.
86224         * lib/uninorm/decomposing-form.c: New file.
86225         * lib/uninorm/nfc.c (uninorm_nfc): Update.
86226         * lib/uninorm/nfd.c (uninorm_nfd): Update.
86227         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
86228         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
86229         * modules/uninorm/decomposing-form: New file.
86230         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
86231         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
86233 2009-03-07  Bruno Haible  <bruno@clisp.org>
86235         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
86236         strings.
86238 2009-03-06  Bruno Haible  <bruno@clisp.org>
86240         Tests for module 'uninorm/u32-normcmp'.
86241         * tests/uninorm/test-u32-normcmp.c: New file.
86242         * modules/uninorm/u32-normcmp-tests: New file.
86244         Tests for module 'uninorm/u16-normcmp'.
86245         * tests/uninorm/test-u16-normcmp.c: New file.
86246         * modules/uninorm/u16-normcmp-tests: New file.
86248         Tests for module 'uninorm/u8-normcmp'.
86249         * tests/uninorm/test-u8-normcmp.c: New file.
86250         * modules/uninorm/u8-normcmp-tests: New file.
86252         New module 'uninorm/u32-normcmp'.
86253         * lib/uninorm/u32-normcmp.c: New file.
86254         * modules/uninorm/u32-normcmp: New file.
86256         New module 'uninorm/u16-normcmp'.
86257         * lib/uninorm/u16-normcmp.c: New file.
86258         * modules/uninorm/u16-normcmp: New file.
86260         New module 'uninorm/u8-normcmp'.
86261         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
86262         declarations.
86263         * lib/uninorm/u8-normcmp.c: New file.
86264         * lib/uninorm/u-normcmp.h: New file.
86265         * modules/uninorm/u8-normcmp: New file.
86267 2009-03-06  Bruno Haible  <bruno@clisp.org>
86269         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
86270         Reported by Eric Blake.
86272 2009-03-06  Eric Blake  <ebb9@byu.net>
86273             Bruno Haible  <bruno@clisp.org>
86275         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
86276         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
86277         condition.
86278         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
86279         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
86280         condition.
86281         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
86283 2009-03-06  Eric Blake  <ebb9@byu.net>
86285         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
86286         to avoid compiler warnings.
86287         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
86289 2009-03-05  Bruno Haible  <bruno@clisp.org>
86291         * tests/test-ftell.c (main): Disable test beyond end of file on
86292         FreeMiNT.
86293         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86295 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
86297         * lib/filevercmp.c: Move hidden files up in ordering.
86298         * tests/test-filevercmp.c: Add tests for hidden files.
86300 2009-03-04  Bruno Haible  <bruno@clisp.org>
86302         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
86303         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
86304         AM_CFLAGS.
86305         Reported by Simon Josefsson.
86307 2009-03-03  Bruno Haible  <bruno@clisp.org>
86309         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
86310         Reported by Simon Josefsson.
86312         * doc/ld-version-script.texi: Update node reference.
86314 2009-03-03  Bruno Haible  <bruno@clisp.org>
86316         * modules/visibility (License): Change to 'unlimited'.
86317         Suggested by Simon Josefsson.
86319 2009-03-03  Jim Meyering  <meyering@redhat.com>
86321         unlinkdir: cannot_unlink_dir may modify process state
86322         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
86323         it's neither thread-safe nor appropriate for use in a library.
86325 2009-03-03  Eric Blake  <ebb9@byu.net>
86327         test-closein: silence test under Darwin
86328         * tests/test-closein.sh: Ignore stderr from cat, since we don't
86329         care if it dies from EPIPE or EBADF.
86331 2009-03-03  Bruno Haible  <bruno@clisp.org>
86333         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
86334         earlier.
86335         * doc/visibility.texi: Fix @node and @section.
86337 2009-03-03  Simon Josefsson  <simon@josefsson.org>
86339         * doc/gnulib.texi: Link to sections for ld version script and
86340         visibility.
86341         * doc/visibility.texi: Add @node and @section.
86342         * modules/ld-version-script: New module.
86343         * m4/ld-version-script.m4: New file.
86344         * doc/ld-version-script.texi: New file.
86346 2009-03-02  David Lutterkort  <lutter@redhat.com>
86348         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
86349         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86351 2009-03-02  Bruno Haible  <bruno@clisp.org>
86353         * doc/visibility.texi: Mention libtool's -export-symbols option.
86355 2009-03-02  Jim Meyering  <meyering@redhat.com>
86357         announce-gen: new option: --no-print-checksums
86358         * build-aux/announce-gen (usage): Describe it.
86359         (print_checksums): Print a newline here, not in the [*] footnote.
86360         (main): Honor it.
86362 2009-03-01  Bruno Haible  <bruno@clisp.org>
86364         Use socklen_t in the native Windows replacements prototypes.
86365         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
86366         instead of 'int'.
86367         * lib/getsockopt.c (rpl_getsockopt): Likewise.
86368         * lib/setsockopt.c (rpl_setsockopt): Likewise.
86369         * modules/getsockopt (Depends-on): Add socklen.
86370         * modules/setsockopt (Depends-on): Add socklen.
86372 2009-03-01  Bruno Haible  <bruno@clisp.org>
86374         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
86375         least 4.2.
86377 2009-03-01  Eric Blake  <ebb9@byu.net>
86378             Bruno Haible  <bruno@clisp.org>
86380         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
86381         error messages.
86382         * lib/wait-process.c (wait_subprocess): Omit error message about
86383         deadly signal sent to the child of termsigp != NULL.
86385 2009-03-01  Eric Blake  <ebb9@byu.net>
86387         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
86389 2009-03-01  Bruno Haible  <bruno@clisp.org>
86391         Avoid a gcc warning.
86392         * tests/test-sched.c (b): Make global.
86393         Reported by Eric Blake.
86395 2009-01-19  Martin Lambers  <marlam@marlam.de>
86397         Provide POSIX semantics for socket timeout options on W32.
86398         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
86399         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
86400         * modules/setsockopt: Depend on sys_time module for struct timeval.
86401         * modules/getsockopt: Depend on sys_time module for struct timeval.
86403 2009-03-01  Simon Josefsson  <simon@josefsson.org>
86405         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
86406         __USE_GNU, for consistency with netdb.in.h.
86407         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86409 2009-03-01  Bruno Haible  <bruno@clisp.org>
86411         More support for FreeMiNT.
86412         * lib/fseeko.c (rpl_fseeko): Complete last commit.
86413         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86415 2009-03-01  Bruno Haible  <bruno@clisp.org>
86417         More support for FreeMiNT.
86418         * lib/fpurge.c (fpurge): Correct last commit.
86419         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86421 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86423         Fix unportable awk script in vc-list-files.
86424         * build-aux/vc-list-files: In the replacement awk script, use
86425         substr with a second argument of 1, not zero.
86426         Report by Simon Josefsson.
86428 2009-02-28  Bruno Haible  <bruno@clisp.org>
86430         More support for FreeMiNT.
86431         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
86432         to FreeMiNT today.
86433         * lib/fwriting.c (fwriting): Likewise.
86434         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
86436 2009-02-28  Bruno Haible  <bruno@clisp.org>
86438         * tests/test-freadseek.c (main): Disable test beyond end of file on
86439         FreeMiNT.
86440         * tests/test-ftello.c (main): Likewise.
86441         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86443 2009-02-28  Bruno Haible  <bruno@clisp.org>
86445         Add tentative support for FreeMiNT.
86446         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
86447         * lib/fpurge.c (fpurge): Likewise.
86448         * lib/freadable.c (freadable): Likewise.
86449         * lib/freading.c (freading): Likewise.
86450         * lib/freadptr.c (freadptr): Likewise.
86451         * lib/freadseek.c (freadptrinc): Likewise.
86452         * lib/fseeko.c (rpl_fseeko): Likewise.
86453         * lib/fseterr.c (fseterr): Likewise.
86454         * lib/fwritable.c (fwritable): Likewise.
86455         * lib/fwriting.c (fwriting): Likewise.
86456         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
86457         Hourihane.
86458         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86460 2009-02-28  Bruno Haible  <bruno@clisp.org>
86462         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
86463         SIGCHLD.
86464         Reported by Jim Meyering.
86466 2009-02-28  Bruno Haible  <bruno@clisp.org>
86468         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
86469         Mention the results of these tests on various platforms.
86470         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
86471         order.
86472         * doc/posix-functions/printf.texi: Likewise.
86473         * doc/posix-functions/snprintf.texi: Likewise.
86474         * doc/posix-functions/sprintf.texi: Likewise.
86475         * doc/posix-functions/vfprintf.texi: Likewise.
86476         * doc/posix-functions/vprintf.texi: Likewise.
86477         * doc/posix-functions/vsnprintf.texi: Likewise.
86478         * doc/posix-functions/vsprintf.texi: Likewise.
86479         * doc/glibc-functions/obstack_printf.texi: Likewise.
86480         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
86482 2009-02-28  Bruno Haible  <bruno@clisp.org>
86484         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
86485         Reported by Loïc Minier <lool@dooz.org>.
86487 2009-02-27  Bruno Haible  <bruno@clisp.org>
86489         * gnulib-tool (func_import): Make the sed expression used to create the
86490         sed script for updating the .gitignore file POSIX compliant.
86491         Reported by Eric Blake.
86493 2009-02-27  Bruno Haible  <bruno@clisp.org>
86495         * gnulib-tool (sed): Don't alias as "sed --posix".
86496         Reported by Eric Blake.
86498 2009-02-27  Bruno Haible  <bruno@clisp.org>
86500         Avoid test link errors.
86501         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
86502         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
86503         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
86504         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
86505         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86507 2009-02-27  Bruno Haible  <bruno@clisp.org>
86509         Avoid spurious "(cached)" in configure output.
86510         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
86511         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
86512         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
86513         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
86514         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
86515         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
86516         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
86517         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
86518         Reported by Eric Blake.
86520 2009-02-27  Eric Blake  <ebb9@byu.net>
86522         printf: fix regression in previous patch
86523         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
86525 2009-02-27  Bruno Haible  <bruno@clisp.org>
86527         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
86528         value.
86529         * lib/stdint.in.h: Likewise.
86530         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
86532 2009-02-27  Eric Blake  <ebb9@byu.net>
86534         doc: mention more functions added in cygwin 1.7.0
86535         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
86536         addition.
86537         * doc/posix-functions/open_wmemstream.texi: Likewise.
86538         * doc/posix-functions/wcsnlen.texi: Likewise.
86539         * doc/posix-functions/wcsnrtombs.texi: Likewise.
86540         * doc/posix-functions/wcstod.texi: Likewise.
86541         * doc/posix-functions/wcstof.texi: Likewise.
86542         * doc/posix-functions/wcstoimax.texi: Likewise.
86543         * doc/posix-functions/wcstok.texi: Likewise.
86544         * doc/posix-functions/wcstoumax.texi: Likewise.
86546         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
86547         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
86548         * doc/posix-functions/fprintf.texi: Update.
86549         * doc/posix-functions/printf.texi: Update.
86550         * doc/posix-functions/snprintf.texi: Update.
86551         * doc/posix-functions/sprintf.texi: Update.
86552         * doc/posix-functions/vfprintf.texi: Update.
86553         * doc/posix-functions/vprintf.texi: Update.
86554         * doc/posix-functions/vsnprintf.texi: Update.
86555         * doc/posix-functions/vsprintf.texi: Update.
86556         * doc/glibc-functions/obstack_printf.texi: Update.
86557         * doc/glibc-functions/obstack_vprintf.texi: Update.
86559 2009-02-26  Eric Blake  <ebb9@byu.net>
86561         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
86562         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
86563         compilation bug by using runtime conversion.
86564         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
86565         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
86566         * modules/ceill-tests (Files): Use nan.h.
86567         * modules/floorl-tests (Files): Likewise.
86568         * modules/frexpl-tests (Files): Likewise.
86569         * modules/isnanl-tests (Files): Likewise.
86570         * modules/ldexpl-tests (Files): Likewise.
86571         * modules/roundl-tests (Files): Likewise.
86572         * modules/truncl-tests (Files): Likewise.
86573         * tests/test-ceill.c (main): Use a working NaN.
86574         * tests/test-floorl.c (main): Likewise.
86575         * tests/test-frexpl.c (main): Likewise.
86576         * tests/test-isnan.c (test_long_double): Likewise.
86577         * tests/test-isnanl.h (main): Likewise.
86578         * tests/test-ldexpl.h (main): Likewise.
86579         * tests/test-roundl.h (main): Likewise.
86580         * tests/test-truncl.h (main): Likewise.
86581         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
86583 2009-02-26  Eric Blake  <ebb9@byu.net>
86584             Bruno Haible  <bruno@clisp.org>
86586         Work around a *printf bug with %ls on Solaris.
86587         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
86588         precision is specified, sprintf stops converting the wide string
86589         argument when the number of bytes that have been produced by this
86590         conversion equals or exceeds the precision.
86591         * doc/posix-functions/fprintf.texi: Update.
86592         * doc/posix-functions/printf.texi: Update.
86593         * doc/posix-functions/snprintf.texi: Update.
86594         * doc/posix-functions/sprintf.texi: Update.
86595         * doc/posix-functions/vfprintf.texi: Update.
86596         * doc/posix-functions/vprintf.texi: Update.
86597         * doc/posix-functions/vsnprintf.texi: Update.
86598         * doc/posix-functions/vsprintf.texi: Update.
86599         * doc/glibc-functions/obstack_printf.texi: Update.
86600         * doc/glibc-functions/obstack_vprintf.texi: Update.
86602 2009-02-26  Eric Blake  <ebb9@byu.net>
86604         stdlib: favor compiler check of random.h
86605         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
86606         to avoid an ObjC random.h installed by Swarm.
86608 2009-02-26  Bruno Haible  <bruno@clisp.org>
86610         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
86611         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
86612         Reported by Gary V. Vaughan <gary@gnu.org>.
86614 2009-02-26  Bruno Haible  <bruno@clisp.org>
86616         Fix *printf behaviour regarding the %ls directive.
86617         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
86618         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
86619         NEED_PRINTF_DIRECTIVE_LS.
86620         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
86621         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
86622         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86623         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
86624         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
86625         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
86626         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
86627         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86628         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86629         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86630         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86631         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
86632         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86633         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86634         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86635         * doc/posix-functions/fprintf.texi: Update.
86636         * doc/posix-functions/printf.texi: Update.
86637         * doc/posix-functions/snprintf.texi: Update.
86638         * doc/posix-functions/sprintf.texi: Update.
86639         * doc/posix-functions/vfprintf.texi: Update.
86640         * doc/posix-functions/vprintf.texi: Update.
86641         * doc/posix-functions/vsnprintf.texi: Update.
86642         * doc/posix-functions/vsprintf.texi: Update.
86643         * doc/glibc-functions/obstack_printf.texi: Update.
86644         * doc/glibc-functions/obstack_vprintf.texi: Update.
86645         Reported by Eric Blake.
86647 2009-02-25  Bruno Haible  <bruno@clisp.org>
86649         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
86650         with known value.
86651         Reported by Gary V. Vaughan <gary@gnu.org>.
86653 2009-02-25  Bruno Haible  <bruno@clisp.org>
86655         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
86656         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
86657         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
86658         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
86659         Reported by Gary V. Vaughan <gary@gnu.org>.
86661 2009-02-25  Bruno Haible  <bruno@clisp.org>
86663         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
86664         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
86665         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
86666         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
86667         Reported by Gary V. Vaughan <gary@gnu.org>.
86669 2009-02-25  Eric Blake  <ebb9@byu.net>
86671         tests: skip fseek/ftell tests if ungetc is broken
86672         * m4/ungetc.m4: New file.
86673         * modules/fseek-tests: Split test, so ungetc dependency is
86674         separate from rest of test.
86675         * modules/fseeko-tests: Likewise.
86676         * modules/ftell-tests: Likewise.
86677         * modules/ftello-tests: Likewise.
86678         * tests/test-fseek.c (main): Isolate ungetc dependency.
86679         * tests/test-fseeko.c (main): Likewise.
86680         * tests/test-ftell.c (main): Likewise.
86681         * tests/test-ftello.c (main): Likewise.
86682         * tests/test-fseek2.sh: New file.
86683         * tests/test-fseeko2.sh: Likewise.
86684         * tests/test-ftell2.sh: Likewise.
86685         * tests/test-ftello2.sh: Likewise.
86687 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
86689         test-getaddrinfo: fix usage of skip return code 77
86690         * tests/test-gettaddrinfo.c: Return skip code 77 only
86691         for first occurrence of skip (4x77 is not 77)
86693 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
86695         strtod: avoid C99 decl-after-statement
86696         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
86698 2009-02-24  Eric Blake  <ebb9@byu.net>
86700         strtod: detect HP-UX 11.31 bug
86701         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
86702         Reported by Gary V. Vaughan.
86704 2009-02-23  Bruno Haible  <bruno@clisp.org>
86706         Fix invalid read past end of memory block.
86707         * lib/vasnprintf.c (DCHAR_SET): Define.
86708         (local_wcslen): Define only when needed.
86709         (local_strnlen, local_wcsnlen): New functions.
86710         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
86711         directives that involve a conversion ourselves.
86712         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
86713         wcsnlen, mbrtowc, wcrtomb.
86714         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
86715         * tests/test-vasprintf-posix.c (test_function): Likewise.
86716         * tests/test-snprintf-posix.h (test_function): Likewise.
86717         * tests/test-sprintf-posix.h (test_function): Likewise.
86718         Reported by Ben Pfaff <blp@cs.stanford.edu>.
86720 2009-02-22  Bruno Haible  <bruno@clisp.org>
86722         Implement new clarified decomposition of Hangul syllables.
86723         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
86724         of type LTV, return only a pairwise decomposition.
86725         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
86726         Likewise.
86727         * tests/uninorm/test-decomposition.c (main): Updated expected result.
86728         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
86729         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
86731 2009-02-22  Bruno Haible  <bruno@clisp.org>
86733         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
86734         zero-length results and shrink excess allocated memory.
86735         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
86736         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
86737         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
86738         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
86739         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
86740         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
86741         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
86742         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
86743         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
86744         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
86745         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
86746         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
86748 2009-02-21  Bruno Haible  <bruno@clisp.org>
86750         * doc/gnulib.texi: Include safe-alloc.texi earlier.
86751         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
86752         spaces after a period. Put a space between a macro name and its
86753         argument list. Trivial rewordings.
86754         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
86755         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
86756         (main): Return 0 explicitly.
86758 2009-02-21  Bruno Haible  <bruno@clisp.org>
86760         Tests for module 'uninorm/filter'.
86761         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
86762         * modules/uninorm/filter-tests: New file.
86764         New module 'uninorm/filter'.
86765         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
86766         uninorm_filter_flush, uninorm_filter_free): New declarations.
86767         * lib/uninorm/uninorm-filter.c: New file.
86768         * modules/uninorm/filter: New file.
86770 2009-02-21  Bruno Haible  <bruno@clisp.org>
86772         Tests for module 'uninorm/nfkc'.
86773         * tests/uninorm/test-nfkc.c: New file.
86774         * tests/uninorm/test-u8-nfkc.c: New file.
86775         * tests/uninorm/test-u16-nfkc.c: New file.
86776         * tests/uninorm/test-u32-nfkc.c: New file.
86777         * tests/uninorm/test-u32-nfkc-big.sh: New file.
86778         * tests/uninorm/test-u32-nfkc-big.c: New file.
86779         * modules/uninorm/nfkc-tests: New file.
86781         New module 'uninorm/nfkc'.
86782         * lib/uninorm/nfkc.c: New file.
86783         * modules/uninorm/nfkc: New file.
86785         Tests for module 'uninorm/nfkd'.
86786         * tests/uninorm/test-nfkd.c: New file.
86787         * tests/uninorm/test-u8-nfkd.c: New file.
86788         * tests/uninorm/test-u16-nfkd.c: New file.
86789         * tests/uninorm/test-u32-nfkd.c: New file.
86790         * tests/uninorm/test-u32-nfkd-big.sh: New file.
86791         * tests/uninorm/test-u32-nfkd-big.c: New file.
86792         * modules/uninorm/nfkd-tests: New file.
86794         New module 'uninorm/nfkd'.
86795         * lib/uninorm/nfkd.c: New file.
86796         * modules/uninorm/nfkd: New file.
86798         Tests for module 'uninorm/nfc'.
86799         * tests/uninorm/test-nfc.c: New file.
86800         * tests/uninorm/test-u8-nfc.c: New file.
86801         * tests/uninorm/test-u16-nfc.c: New file.
86802         * tests/uninorm/test-u32-nfc.c: New file.
86803         * tests/uninorm/test-u32-nfc-big.sh: New file.
86804         * tests/uninorm/test-u32-nfc-big.c: New file.
86805         * modules/uninorm/nfc-tests: New file.
86807         New module 'uninorm/nfc'.
86808         * lib/uninorm/nfc.c: New file.
86809         * modules/uninorm/nfc: New file.
86811         Tests for module 'uninorm/nfd'.
86812         * tests/uninorm/test-nfd.c: New file.
86813         * tests/uninorm/test-u8-nfd.c: New file.
86814         * tests/uninorm/test-u16-nfd.c: New file.
86815         * tests/uninorm/test-u32-nfd.c: New file.
86816         * tests/uninorm/test-u32-nfd-big.sh: New file.
86817         * tests/uninorm/test-u32-nfd-big.c: New file.
86818         * tests/uninorm/test-u32-normalize-big.h: New file.
86819         * tests/uninorm/test-u32-normalize-big.c: New file.
86820         * tests/uninorm/NormalizationTest.txt: New file, created from
86821         Unicode 5.1.0 NormalizationTest.txt.
86822         * modules/uninorm/nfd-tests: New file.
86824         New module 'uninorm/nfd'.
86825         * lib/uninorm/nfd.c: New file.
86826         * modules/uninorm/nfd: New file.
86828         New module 'uninorm/u32-normalize'.
86829         * lib/uninorm/u32-normalize.c: New file.
86830         * modules/uninorm/u32-normalize: New file.
86832         New module 'uninorm/u16-normalize'.
86833         * lib/uninorm/u16-normalize.c: New file.
86834         * modules/uninorm/u16-normalize: New file.
86836         New module 'uninorm/u8-normalize'.
86837         * lib/uninorm/u8-normalize.c: New file.
86838         * lib/uninorm/normalize-internal.h: New file.
86839         * lib/uninorm/u-normalize-internal.h: New file.
86840         * modules/uninorm/u8-normalize: New file.
86842         New module 'uninorm/decompose-internal'.
86843         * lib/uninorm/decompose-internal.c: New file.
86844         * modules/uninorm/decompose-internal: New file.
86846         Tests for module 'uninorm/composition'.
86847         * tests/uninorm/test-composition.c: New file.
86848         * modules/uninorm/composition-tests: New file.
86850         New module 'uninorm/composition'.
86851         * lib/uninorm/composition.c: New file.
86852         * lib/uninorm/composition-table.gperf: New file, generated by
86853         gen-uni-tables.
86854         * modules/uninorm/composition: New file.
86856         Tests for module 'uninorm/compat-decomposition'.
86857         * tests/uninorm/test-compat-decomposition.c: New file.
86858         * modules/uninorm/compat-decomposition-tests: New file.
86860         New module 'uninorm/compat-decomposition'.
86861         * lib/uninorm/decompose-internal.h: New file.
86862         * lib/uninorm/compat-decomposition.c: New file.
86863         * modules/uninorm/compat-decomposition: New file.
86865         Tests for module 'uninorm/canonical-decomposition'.
86866         * tests/uninorm/test-canonical-decomposition.c: New file.
86867         * modules/uninorm/canonical-decomposition-tests: New file.
86869         New module 'uninorm/canonical-decomposition'.
86870         * lib/uninorm/canonical-decomposition.c: New file.
86871         * modules/uninorm/canonical-decomposition: New file.
86873         Tests for module 'uninorm/decomposition'.
86874         * tests/uninorm/test-decomposition.c: New file.
86875         * modules/uninorm/decomposition-tests: New file.
86877         New module 'uninorm/decomposition'.
86878         * lib/uninorm/decomposition.c: New file.
86879         * modules/uninorm/decomposition: New file.
86881         New module 'uninorm/decomposition-table'.
86882         * lib/uninorm/decomposition-table.h: New file.
86883         * lib/uninorm/decomposition-table.c: New file.
86884         * lib/uninorm/decomposition-table1.h: New file, generated by
86885         gen-uni-tables.
86886         * lib/uninorm/decomposition-table2.h: New file, generated by
86887         gen-uni-tables.
86888         * modules/uninorm/decomposition-table: New file.
86890         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
86891         (UC_DECOMP_*): New enumeration items.
86892         (get_decomposition): New function.
86893         (struct decomp_table): New type.
86894         (output_decomposition, output_decomposition_tables): New functions.
86895         (unicode_composition_exclusions): New variable.
86896         (fill_composition_exclusions, debug_output_composition_tables): New
86897         functions.
86898         (main): Accept one more argument. Invoke fill_composition_exclusions.
86899         Output decomposition and composition tables.
86901         New module 'uninorm/base'.
86902         * lib/uninorm.h: New file.
86903         * lib/unictype.h: Update comment.
86904         * modules/uninorm/base: New file.
86906 2009-02-21  David Lutterkort  <lutter@redhat.com>
86908         Tests for module 'safe-alloc'.
86909         * tests/test-safe-alloc.c: New file.
86910         * modules/safe-alloc-tests: New file.
86912         New module 'safe-alloc'.
86913         * lib/safe-alloc.h: New file.
86914         * lib/safe-alloc.c: New file.
86915         * m4/safe-alloc.m4: New file.
86916         * modules/safe-alloc: New file.
86917         * doc/safe-alloc.texi: New file.
86918         * doc/gnulib.texi: Include it.
86919         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
86920         safe-alloc.
86922 2009-02-18  Bruno Haible  <bruno@clisp.org>
86924         Fix link error on non-glibc systems.
86925         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
86926         variable.
86927         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86929 2009-02-18  Jim Meyering  <meyering@redhat.com>
86931         fts: avoid used-uninitialized error due to recent change
86932         * lib/fts.c (fts_read): Guard uses of the new member,
86933         parent->fts_n_dirs_remaining, since it's not relevant for
86934         the parent of a directory specified on the command-line.
86936 2009-02-17  James Youngman  <jay@gnu.org>
86937             Bruno Haible  <bruno@clisp.org>
86939         * m4/include_next.m4: Reformulate comment.
86941 2009-02-16  Jim Meyering  <meyering@redhat.com>
86943         fts: add #if guards so that the fts_lgpl module still builds
86944         * lib/fts.c: Guard just-added hash-table-using parts with
86945         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
86946         Reported by Simon Josefsson.
86948 2009-02-15  Bruno Haible  <bruno@clisp.org>
86950         * modules/array-mergesort-tests: New file.
86951         * tests/test-array-mergesort.c: New file.
86953         New module 'array-mergesort'.
86954         * modules/array-mergesort: New file.
86955         * lib/array-mergesort.h: New file.
86957 2009-02-15  Bruno Haible  <bruno@clisp.org>
86959         Fix 2009-02-07 commit.
86960         * lib/gen-uni-tables.c (output_predicate, output_category,
86961         output_combclass, output_bidi_category, output_decimal_digit,
86962         output_digit, output_numeric, output_mirror, output_scripts,
86963         output_ident_category, output_simple_mapping): Fix format directives.
86964         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
86966 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
86968         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
86969         fixes are available from IBM.
86971 2009-02-13  Jim Meyering  <meyering@redhat.com>
86973         fts: arrange not to stat non-directories in more cases
86974         This makes GNU find (when it doesn't need to stat each file)
86975         *much* more efficient at traversing reiserfs file systems.
86976         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
86977         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
86978         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
86979         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
86980         (leaf_optimization_applies): New function.
86981         (LCO_hash, LCO_compare): New helper functions.
86982         (link_count_optimize_ok): New function.
86983         (fts_stat): Initialize new member (if dir).
86984         (fts_read): Decrement parent's fts_n_dirs_remaining count if
86985         we've just stat'ed a directory.  Skip the stat call when possible.
86986         ---
86987         Note this AFS-related exchange:
86988         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
86989         and note find's pioctl call in find/fstype.c.
86990         But that is necessary only if you want to enable the
86991         optimization for AFS, and for now, I don't.
86993         fts: move a function definition "up" (no semantic change)
86994         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
86995         "up" to precede upcoming use of a related function.
86997 2009-02-11  Jim Meyering  <meyering@redhat.com>
86999         fts: correct internal computation of nlinks (optimization-related)
87000         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
87001         whether the current entry is a directory, so don't test it.
87003 2009-02-10  Bruno Haible  <bruno@clisp.org>
87005         Tests for module 'uniwbrk/ulc-wordbreaks'.
87006         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
87007         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
87008         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
87010         Tests for module 'uniwbrk/u32-wordbreaks'.
87011         * modules/uniwbrk/u32-wordbreaks-tests: New file.
87012         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
87014         Tests for module 'uniwbrk/u16-wordbreaks'.
87015         * modules/uniwbrk/u16-wordbreaks-tests: New file.
87016         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
87018         Tests for module 'uniwbrk/u8-wordbreaks'.
87019         * modules/uniwbrk/u8-wordbreaks-tests: New file.
87020         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
87022 2009-02-10  Bruno Haible  <bruno@clisp.org>
87024         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
87025         property.
87026         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
87027         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
87028         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
87030 2009-02-10  Simon Josefsson  <simon@josefsson.org>
87032         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
87033         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
87035 2009-02-10  Bruno Haible  <bruno@clisp.org>
87037         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
87038         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
87039         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
87040         * lib/unilbrk/u8-possible-linebreaks.c: Update.
87041         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
87042         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
87044 2009-02-09  Simon Josefsson  <simon@josefsson.org>
87046         * lib/sockets.h (gl_fd_to_handle): New function.
87048         * tests/test-sockets.c: Call gl_fd_to_handle.
87050 2009-02-09  Bruno Haible  <bruno@clisp.org>
87052         * doc/havelib.texi: Document the conventions on bi-arch systems.
87054 2009-02-08  Bruno Haible  <bruno@clisp.org>
87056         Document the AC_LIB_LINKFLAGS macro.
87057         * doc/havelib.texi: New file, mostly written on 2005-05-24.
87058         * doc/gnulib.texi: Include it.
87060 2009-02-08  Bruno Haible  <bruno@clisp.org>
87062         Fix wrong order of sections, compared to TOC.
87063         * doc/gnulib.texi: Include relocatable-maint.texi after the
87064         "Regular expressions" node, not before.
87066 2009-02-08  Bruno Haible  <bruno@clisp.org>
87068         Tests for module 'unicase/totitle'.
87069         * modules/unicase/totitle-tests: New file.
87071         Tests for module 'unicase/tolower'.
87072         * modules/unicase/tolower-tests: New file.
87074         Tests for module 'unicase/toupper'.
87075         * modules/unicase/toupper-tests: New file.
87076         * tests/unicase/test-mapping-part1.h: New file.
87077         * tests/unicase/test-mapping-part2.h: New file.
87079         New module 'unicase/totitle'.
87080         * modules/unicase/totitle: New file.
87081         * lib/unicase/totitle.c: New file.
87083         New module 'unicase/tolower'.
87084         * modules/unicase/tolower: New file.
87085         * lib/unicase/tolower.c: New file.
87087         New module 'unicase/toupper'.
87088         * modules/unicase/toupper: New file.
87089         * lib/unicase/toupper.c: New file.
87090         * lib/unicase/simple-mapping.h: New file.
87092         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
87093         (mapping_table): New structure.
87094         (output_simple_mapping): New function.
87095         (main): Invoke output_simple_mapping_test and output_simple_mapping.
87096         * modules/gen-uni-tables (Description): Update.
87097         * lib/unicase/toupper.h: New file, automatically generated by
87098         gen-uni-tables.
87099         * lib/unicase/tolower.h: New file, automatically generated by
87100         gen-uni-tables.
87101         * lib/unicase/totitle.h: New file, automatically generated by
87102         gen-uni-tables.
87103         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
87104         gen-uni-tables.
87105         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
87106         gen-uni-tables.
87107         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
87108         gen-uni-tables.
87110         New module 'unicase/base'.
87111         * modules/unicase/base: New file.
87112         * lib/unicase.h: New file.
87114 2009-02-08  Bruno Haible  <bruno@clisp.org>
87116         New module 'uniwbrk/ulc-wordbreaks'.
87117         * modules/uniwbrk/ulc-wordbreaks: New file.
87118         * lib/uniwbrk/ulc-wordbreaks.c: New file.
87120         New module 'uniwbrk/u32-wordbreaks'.
87121         * modules/uniwbrk/u32-wordbreaks: New file.
87122         * lib/uniwbrk/u32-wordbreaks.c: New file.
87124         New module 'uniwbrk/u16-wordbreaks'.
87125         * modules/uniwbrk/u16-wordbreaks: New file.
87126         * lib/uniwbrk/u16-wordbreaks.c: New file.
87128         New module 'uniwbrk/u8-wordbreaks'.
87129         * modules/uniwbrk/u8-wordbreaks: New file.
87130         * lib/uniwbrk/u8-wordbreaks.c: New file.
87131         * lib/uniwbrk/u-wordbreaks.h: New file.
87133         New module 'uniwbrk/table'.
87134         * modules/uniwbrk/table: New file.
87135         * lib/uniwbrk/wbrktable.h: New file.
87136         * lib/uniwbrk/wbrktable.c: New file.
87138         New module 'uniwbrk/wordbreak-property'.
87139         * modules/uniwbrk/wordbreak-property: New file.
87140         * lib/uniwbrk/wordbreak-property.c: New file.
87142         * lib/gen-uni-tables.c (WBP_*): New enum items.
87143         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
87144         (unicode_org_wbp): New variable.
87145         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
87146         New functions.
87147         (wbp_table): New structure.
87148         (output_wbp, output_wbrk_tables): New functions.
87149         (main): Accept additional argument. Invoke fill_org_wbp,
87150         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
87151         output_wbrk_tables.
87152         * modules/gen-uni-tables (Description): Update.
87153         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
87154         gen-uni-tables.
87156         New module 'uniwbrk/base'.
87157         * modules/uniwbrk/base: New file.
87158         * lib/uniwbrk.h: New file.
87160 2009-02-08  Bruno Haible  <bruno@clisp.org>
87162         Update to Unicode 5.1.0.
87163         * lib/gen-uni-tables.c (is_property_alphabetic): Include
87164         U+2185..U+2188.
87165         (is_property_default_ignorable_code_point): Don't include characters
87166         of category Cc or Cs and not-a-characters.
87167         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
87168         U+0D79, U+109E, U+109F, U+A60C.
87169         * lib/unictype/bidi_of.h: Regenerated.
87170         * lib/unictype/blocks.h: Regenerated.
87171         * lib/unictype/categ_C.h: Regenerated.
87172         * lib/unictype/categ_Cf.h: Regenerated.
87173         * lib/unictype/categ_Cn.h: Regenerated.
87174         * lib/unictype/categ_L.h: Regenerated.
87175         * lib/unictype/categ_Ll.h: Regenerated.
87176         * lib/unictype/categ_Lm.h: Regenerated.
87177         * lib/unictype/categ_Lo.h: Regenerated.
87178         * lib/unictype/categ_Lu.h: Regenerated.
87179         * lib/unictype/categ_M.h: Regenerated.
87180         * lib/unictype/categ_Mc.h: Regenerated.
87181         * lib/unictype/categ_Me.h: Regenerated.
87182         * lib/unictype/categ_Mn.h: Regenerated.
87183         * lib/unictype/categ_N.h: Regenerated.
87184         * lib/unictype/categ_Nd.h: Regenerated.
87185         * lib/unictype/categ_Nl.h: Regenerated.
87186         * lib/unictype/categ_No.h: Regenerated.
87187         * lib/unictype/categ_P.h: Regenerated.
87188         * lib/unictype/categ_Pd.h: Regenerated.
87189         * lib/unictype/categ_Pe.h: Regenerated.
87190         * lib/unictype/categ_Pf.h: Regenerated.
87191         * lib/unictype/categ_Pi.h: Regenerated.
87192         * lib/unictype/categ_Po.h: Regenerated.
87193         * lib/unictype/categ_Ps.h: Regenerated.
87194         * lib/unictype/categ_S.h: Regenerated.
87195         * lib/unictype/categ_Sk.h: Regenerated.
87196         * lib/unictype/categ_Sm.h: Regenerated.
87197         * lib/unictype/categ_So.h: Regenerated.
87198         * lib/unictype/categ_of.h: Regenerated.
87199         * lib/unictype/combining.h: Regenerated.
87200         * lib/unictype/ctype_alnum.h: Regenerated.
87201         * lib/unictype/ctype_alpha.h: Regenerated.
87202         * lib/unictype/ctype_graph.h: Regenerated.
87203         * lib/unictype/ctype_lower.h: Regenerated.
87204         * lib/unictype/ctype_print.h: Regenerated.
87205         * lib/unictype/ctype_punct.h: Regenerated.
87206         * lib/unictype/ctype_upper.h: Regenerated.
87207         * lib/unictype/decdigit.h: Regenerated.
87208         * lib/unictype/digit.h: Regenerated.
87209         * lib/unictype/mirror.h: Regenerated.
87210         * lib/unictype/numeric.h: Regenerated.
87211         * lib/unictype/pr_alphabetic.h: Regenerated.
87212         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
87213         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
87214         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
87215         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
87216         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
87217         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
87218         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
87219         * lib/unictype/pr_combining.h: Regenerated.
87220         * lib/unictype/pr_dash.h: Regenerated.
87221         * lib/unictype/pr_decimal_digit.h: Regenerated.
87222         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
87223         * lib/unictype/pr_deprecated.h: Regenerated.
87224         * lib/unictype/pr_diacritic.h: Regenerated.
87225         * lib/unictype/pr_extender.h: Regenerated.
87226         * lib/unictype/pr_format_control.h: Regenerated.
87227         * lib/unictype/pr_grapheme_base.h: Regenerated.
87228         * lib/unictype/pr_grapheme_extend.h: Regenerated.
87229         * lib/unictype/pr_grapheme_link.h: Regenerated.
87230         * lib/unictype/pr_id_continue.h: Regenerated.
87231         * lib/unictype/pr_id_start.h: Regenerated.
87232         * lib/unictype/pr_ideographic.h: Regenerated.
87233         * lib/unictype/pr_ignorable_control.h: Regenerated.
87234         * lib/unictype/pr_lowercase.h: Regenerated.
87235         * lib/unictype/pr_math.h: Regenerated.
87236         * lib/unictype/pr_numeric.h: Regenerated.
87237         * lib/unictype/pr_other_alphabetic.h: Regenerated.
87238         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
87239         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
87240         * lib/unictype/pr_other_id_continue.h: Regenerated.
87241         * lib/unictype/pr_other_lowercase.h: Regenerated.
87242         * lib/unictype/pr_other_math.h: Regenerated.
87243         * lib/unictype/pr_punctuation.h: Regenerated.
87244         * lib/unictype/pr_sentence_terminal.h: Regenerated.
87245         * lib/unictype/pr_soft_dotted.h: Regenerated.
87246         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
87247         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
87248         * lib/unictype/pr_unified_ideograph.h: Regenerated.
87249         * lib/unictype/pr_uppercase.h: Regenerated.
87250         * lib/unictype/pr_xid_continue.h: Regenerated.
87251         * lib/unictype/pr_xid_start.h: Regenerated.
87252         * lib/unictype/pr_zero_width.h: Regenerated.
87253         * lib/unictype/scripts.h: Regenerated.
87254         * lib/unictype/scripts_byname.gperf: Regenerated.
87255         * lib/unictype/sy_java_ident.h: Regenerated.
87256         * lib/unilbrk/lbrkprop1.h: Regenerated.
87257         * lib/unilbrk/lbrkprop2.h: Regenerated.
87258         * tests/unictype/test-categ_C.c: Regenerated.
87259         * tests/unictype/test-categ_Cf.c: Regenerated.
87260         * tests/unictype/test-categ_Cn.c: Regenerated.
87261         * tests/unictype/test-categ_L.c: Regenerated.
87262         * tests/unictype/test-categ_Ll.c: Regenerated.
87263         * tests/unictype/test-categ_Lm.c: Regenerated.
87264         * tests/unictype/test-categ_Lo.c: Regenerated.
87265         * tests/unictype/test-categ_Lu.c: Regenerated.
87266         * tests/unictype/test-categ_M.c: Regenerated.
87267         * tests/unictype/test-categ_Mc.c: Regenerated.
87268         * tests/unictype/test-categ_Me.c: Regenerated.
87269         * tests/unictype/test-categ_Mn.c: Regenerated.
87270         * tests/unictype/test-categ_N.c: Regenerated.
87271         * tests/unictype/test-categ_Nd.c: Regenerated.
87272         * tests/unictype/test-categ_Nl.c: Regenerated.
87273         * tests/unictype/test-categ_No.c: Regenerated.
87274         * tests/unictype/test-categ_P.c: Regenerated.
87275         * tests/unictype/test-categ_Pd.c: Regenerated.
87276         * tests/unictype/test-categ_Pe.c: Regenerated.
87277         * tests/unictype/test-categ_Pf.c: Regenerated.
87278         * tests/unictype/test-categ_Pi.c: Regenerated.
87279         * tests/unictype/test-categ_Po.c: Regenerated.
87280         * tests/unictype/test-categ_Ps.c: Regenerated.
87281         * tests/unictype/test-categ_S.c: Regenerated.
87282         * tests/unictype/test-categ_Sk.c: Regenerated.
87283         * tests/unictype/test-categ_Sm.c: Regenerated.
87284         * tests/unictype/test-categ_So.c: Regenerated.
87285         * tests/unictype/test-ctype_alnum.c: Regenerated.
87286         * tests/unictype/test-ctype_alpha.c: Regenerated.
87287         * tests/unictype/test-ctype_graph.c: Regenerated.
87288         * tests/unictype/test-ctype_lower.c: Regenerated.
87289         * tests/unictype/test-ctype_print.c: Regenerated.
87290         * tests/unictype/test-ctype_punct.c: Regenerated.
87291         * tests/unictype/test-ctype_upper.c: Regenerated.
87292         * tests/unictype/test-decdigit.h: Regenerated.
87293         * tests/unictype/test-digit.h: Regenerated.
87294         * tests/unictype/test-numeric.h: Regenerated.
87295         * tests/unictype/test-pr_alphabetic.c: Regenerated.
87296         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
87297         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
87298         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
87299         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
87300         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
87301         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
87302         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
87303         * tests/unictype/test-pr_combining.c: Regenerated.
87304         * tests/unictype/test-pr_dash.c: Regenerated.
87305         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
87306         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
87307         * tests/unictype/test-pr_deprecated.c: Regenerated.
87308         * tests/unictype/test-pr_diacritic.c: Regenerated.
87309         * tests/unictype/test-pr_extender.c: Regenerated.
87310         * tests/unictype/test-pr_format_control.c: Regenerated.
87311         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
87312         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
87313         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
87314         * tests/unictype/test-pr_id_continue.c: Regenerated.
87315         * tests/unictype/test-pr_id_start.c: Regenerated.
87316         * tests/unictype/test-pr_ideographic.c: Regenerated.
87317         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
87318         * tests/unictype/test-pr_lowercase.c: Regenerated.
87319         * tests/unictype/test-pr_math.c: Regenerated.
87320         * tests/unictype/test-pr_numeric.c: Regenerated.
87321         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
87322         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
87323         Regenerated.
87324         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
87325         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
87326         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
87327         * tests/unictype/test-pr_other_math.c: Regenerated.
87328         * tests/unictype/test-pr_punctuation.c: Regenerated.
87329         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
87330         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
87331         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
87332         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
87333         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
87334         * tests/unictype/test-pr_uppercase.c: Regenerated.
87335         * tests/unictype/test-pr_xid_continue.c: Regenerated.
87336         * tests/unictype/test-pr_xid_start.c: Regenerated.
87337         * tests/unictype/test-pr_zero_width.c: Regenerated.
87339         Update to Unicode 5.1.0.
87340         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
87341         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
87342         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
87343         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
87344         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
87345         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
87346         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
87347         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
87348         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
87349         (nonspacing_table_ind): Update.
87350         * tests/uniwidth/test-uc_width2.sh: Update expected result.
87352         Update to Unicode 5.1.0.
87353         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
87354         code transform.
87355         * lib/uniname/uniname.c (unicode_character_name,
87356         unicode_name_character): Add the range 0x1Fxxx to the code transform.
87357         * lib/uniname/uninames.h: Regenerated.
87358         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
87360 2009-02-07  Bruno Haible  <bruno@clisp.org>
87362         Merge gen-ctype and gen-lbrk into a single program.
87363         * lib/gen-uni-tables.c: New file, incorporating
87364         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
87365         Add directory prefixes to the names of the generated files.
87366         * lib/unictype/gen-ctype.c: Remove file.
87367         * lib/unilbrk/gen-lbrk.c: Remove file.
87368         * modules/gen-uni-tables: New file.
87369         * modules/unictype/gen-ctype: Remove file.
87370         * modules/unilbrk/gen-lbrk: Remove file.
87372 2009-02-07  Bruno Haible  <bruno@clisp.org>
87374         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
87376         New module 'unistr/u32-strcoll'.
87377         * modules/unistr/u32-strcoll: New file.
87378         * lib/unistr/u32-strcoll.c: New file.
87380         New module 'unistr/u16-strcoll'.
87381         * modules/unistr/u16-strcoll: New file.
87382         * lib/unistr/u16-strcoll.c: New file.
87384         New module 'unistr/u8-strcoll'.
87385         * modules/unistr/u8-strcoll: New file.
87386         * lib/unistr/u8-strcoll.c: New file.
87387         * lib/unistr/u-strcoll.h: New file.
87389 2009-02-07  Bruno Haible  <bruno@clisp.org>
87391         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
87392         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
87393         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
87394         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
87395         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
87396         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
87398 2009-02-07  Bruno Haible  <bruno@clisp.org>
87400         Make 64-bit clean.
87401         * lib/unictype/gen-ctype.c (output_predicate, output_category,
87402         output_combclass, output_bidi_category, output_decimal_digit,
87403         output_digit, output_numeric, output_mirror, output_scripts,
87404         output_ident_category): Use proper width specifier in format strings.
87406 2009-02-07  Bruno Haible  <bruno@clisp.org>
87408         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
87409         failure behaviour.
87411 2009-02-07  Jim Meyering  <meyering@redhat.com>
87413         regex: avoid compilation failure with upcoming gcc-4.4
87414         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
87415         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
87416         "... error: integer overflow in preprocessor expression".
87418 2009-02-05  Ben Pfaff  <blp@gnu.org>
87420         Fix link errors on Windows when close module is used.
87421         * modules/close: Add $(LIB_CLOSE) to Link section.
87422         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
87423         $(LIB_CLOSE) on Windows.
87425 2009-02-05  Jim Meyering  <meyering@redhat.com>
87427         still avoid unused-parameter warnings, but do it cleanly
87428         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
87429         (get_fs_usage): Cast to void instead.
87430         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
87431         (dev_from_mount_options, read_file_system_list): Cast to void.
87432         Prompted by Bruno Haible.
87434 2009-02-04  Jim Meyering  <meyering@redhat.com>
87436         fsusage.c: correct copyright year
87437         * lib/fsusage.c: Reflect year in which the change is pushed into
87439         avoid misc. warnings
87440         * lib/fsusage.c (UNUSED_PARAM): Define.
87441         (get_fs_usage): Mark parameter "disk" as unused.
87442         * lib/getugroups.c (getgrent): Use "void" in prototype.
87443         * lib/mountlist.c: Mark unused parameters.
87444         (read_file_system_list): Declare a local with "const".
87445         * lib/nanosleep.c (getnow): Declare static.
87446         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
87448         dirfd: set errno upon failure
87449         * lib/dirfd.c: Include <errno.h>.
87450         Set errno to ENOTSUP when returning -1.
87451         * modules/dirfd (Depends-on): Add errno.
87452         Suggested by John Kodis <kodis@comcast.net>.
87454 2009-02-01  Bruno Haible  <bruno@clisp.org>
87456         Don't assume sizeof (long) >= sizeof (void *).
87457         * lib/memcmp.c: Include stdint.h.
87458         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
87459         srcp2 to 'const byte *'.
87460         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
87461         types to uintptr_t.
87462         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
87463         * modules/memcmp (Depends-on): Add stdint.
87464         Reported by Ozkan Sezer <sezeroz@gmail.com>.
87466 2009-01-30  Eric Blake  <ebb9@byu.net>
87468         fix more require-before-expand issues
87469         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
87470         expand, AC_PROG_AWK.
87471         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
87473 2009-01-28  Eric Blake  <ebb9@byu.net>
87475         version-etc: use consistent URL formatting
87476         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
87477         Improve formatting.  Use fputs for string without %.
87479 2009-01-28  Jim Meyering  <meyering@redhat.com>
87481         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
87482         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
87483         "underquoted definition of NAME" from autoconf-2.59.
87485 2009-01-28  Bruno Haible  <bruno@clisp.org>
87487         * doc/gnulib.texi: Add "Obsolete modules" to index.
87489 2009-01-28  Jim Meyering  <meyering@redhat.com>
87491         useless-if-before-free: recognize more variants
87492         * build-aux/useless-if-before-free: Also recognize e.g.,
87493         if (NULL != p) free (p);
87495 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
87497         test-getaddrinfo: skip (don't fail) this test when there's no network
87498         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
87499         on the presumption that it means you lack network access.
87501 2009-01-26  Jim Meyering  <meyering@redhat.com>
87503         fflush: avoid warnings on modern systems
87504         * lib/fflush.c (rpl_fflush): Move declarations of locals,
87505         pos and result, into scopes where they're used.
87507 2009-01-26  Eric Blake  <ebb9@byu.net>
87509         Silence warning reintroduced by recent extensions patch.
87510         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
87511         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
87512         autoconf.
87514         Backport improved autoconf semantics of AC_DEFUN_ONCE.
87515         * m4/00gnulib.m4: New file.
87516         * gnulib-tool (func_get_filelist): Always use it.
87517         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
87518         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
87520 2009-01-25  Bruno Haible  <bruno@clisp.org>
87522         Make test-quotearg work on MacOS X and AIX.
87523         * tests/test-quotearg.sh: New file.
87524         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
87525         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
87526         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
87527         include <libintl.h>.
87528         (fake_locale): Remove variable.
87529         (gettext, dgettext, dcgettext): Remove functions.
87530         (main): Instead of setting a fake locale, set a real locale. Call
87531         textdomain and bindtextdomain.
87532         * modules/quotearg-tests (Files): Add the new files.
87533         (Depends-on): Add gettext, setenv, unsetenv.
87534         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
87535         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
87536         Augment TESTS_ENVIRONMENT.
87538 2009-01-25  Bruno Haible  <bruno@clisp.org>
87540         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
87541         fr_FR.ISO8859-1 locale on MacOS X.
87542         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
87543         ja_JP.eucJP locale on MacOS X.
87544         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
87545         zh_CN.GB18030 locale on MacOS X.
87547 2009-01-25  Bruno Haible  <bruno@clisp.org>
87549         Avoid link errors on MacOS X 10.3.
87550         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
87551         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
87553 2009-01-25  Bruno Haible  <bruno@clisp.org>
87555         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87556         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
87557         * modules/pipe (Files): Remove m4/posix_spawn.m4.
87558         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87559         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
87560         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87561         posix_spawnattr_init, posix_spawnattr_setsigmask,
87562         posix_spawnattr_setflags, posix_spawnattr_destroy.
87564         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87565         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
87566         * modules/execute (Files): Remove m4/posix_spawn.m4.
87567         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87568         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87569         posix_spawnattr_init, posix_spawnattr_setsigmask,
87570         posix_spawnattr_setflags, posix_spawnattr_destroy.
87572 2009-01-25  Bruno Haible  <bruno@clisp.org>
87574         * lib/glthread/threadlib.c: Include <stdlib.h>.
87576 2009-01-25  Bruno Haible  <bruno@clisp.org>
87578         * lib/glthread/threadlib.c (dummy): New declaration.
87580 2009-01-25  Bruno Haible  <bruno@clisp.org>
87582         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
87583         multibyte characters also for the GB18030 encoding. Don't crash when
87584         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
87586 2009-01-25  Bruno Haible  <bruno@clisp.org>
87588         Avoid redefining 'struct random_data' on OSF/1 5.1.
87589         * lib/stdlib.in.h: Include <random.h> if it exists.
87590         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
87591         HAVE_RANDOM_H. Include <random.h> when testing whether
87592         'struct random_data' exists.
87593         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
87595 2009-01-25  Bruno Haible  <bruno@clisp.org>
87597         Don't install charset.alias on MacOS X >= 10.3.
87598         * lib/localcharset.c (DARWIN7): New macro.
87599         (get_charset_aliases): Hardcode the result for Darwin7.
87600         * modules/localcharset (install-exec-local): Don't install
87601         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
87603 2009-01-25  Bruno Haible  <bruno@clisp.org>
87605         Don't install charset.alias on mingw and Cygwin.
87606         * modules/localcharset (install-exec-local): Don't install
87607         charset.alias on mingw and Cygwin, if the file does not yet exist.
87608         The result for these platforms is hardcoded in localcharset.c.
87610 2009-01-25  Bruno Haible  <bruno@clisp.org>
87612         Make it possible again to use AC_GNU_SOURCE together with gnulib.
87613         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
87614         before requiring AC_USE_SYSTEM_EXTENSIONS.
87616 2009-01-25  Jim Meyering  <meyering@redhat.com>
87618         c-strtod: avoid warnings
87619         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
87620         "assignment discards qualifiers from pointer target type" warnings.
87622 2009-01-24  Bruno Haible  <bruno@clisp.org>
87624         Add support for non-UTF-8 locales on MacOS X.
87625         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
87626         canonical encodings. For Darwin 7 and newer, don't map traditional
87627         encodings to UTF-8.
87628         Reported by Vincent Lefevre <vincent@vinc17.org>
87629         at <http://savannah.gnu.org/bugs/?25235>.
87631 2009-01-24  Bruno Haible  <bruno@clisp.org>
87633         * doc/gnulib.texi (Obsolete modules): New section.
87634         Reported by Mike Frysinger <vapier@gentoo.org>.
87636 2009-01-24  Bruno Haible  <bruno@clisp.org>
87638         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
87639         (%.dvi): New rule.
87641 2009-01-24  Bruno Haible  <bruno@clisp.org>
87643         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
87644         Reported by Eric Blake.
87646 2009-01-24  Bruno Haible  <bruno@clisp.org>
87648         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
87649         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
87650         Reported by Gary V. Vaughan <gary@gnu.org>.
87652 2009-01-24  Bruno Haible  <bruno@clisp.org>
87654         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
87656 2009-01-23  Bruno Haible  <bruno@clisp.org>
87658         Make c-strtod, c-strtold usable in libraries.
87659         * lib/c-strtod.c: Include string.h instead of xalloc.h.
87660         (C_STRTOD): Call strdup instead of xstrdup.
87661         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
87662         * modules/c-strtold (Depends-on): Likewise.
87663         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
87664         * NEWS: Mention the change.
87665         Reported by Michael Gold <mgold@ncf.ca>.
87667 2009-01-23  Jim Meyering  <meyering@redhat.com>
87669         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
87670         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
87671         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
87673 2009-01-23  Simon Josefsson  <simon@josefsson.org>
87675         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
87676         GNU CoreUtils.
87677         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
87678         * modules/version-etc (Description): Update.
87680 2009-01-22  Bruno Haible  <bruno@clisp.org>
87682         Cache the C locale object.
87683         * lib/c-strtod.c (c_locale_cache): New variable.
87684         (c_locale): New function.
87685         (C_STRTOD): Use it, and don't call freelocale.
87686         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
87687         Suggested by Paolo Bonzini.
87689 2009-01-21  Bruno Haible  <bruno@clisp.org>
87691         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
87692         conditions other than overflow.
87694 2009-01-21  Bruno Haible  <bruno@clisp.org>
87696         * lib/c-strtod.c: Include errno.h.
87697         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
87698         value from STRTOD_L and STRTOD.
87700 2009-01-21  Bruno Haible  <bruno@clisp.org>
87701         and Jim Meyering  <meyering@redhat.com>
87703         nanosleep: skip configure test (fail it) for apple universal builds
87704         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
87705         universal builds, assume that nanosleep does not work.
87706         * modules/nanosleep (Depends-on): Add multiarch.
87708         mktime: skip configure test (fail it) for apple universal builds
87709         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
87710         universal builds, assume that mktime does not work.
87711         * modules/mktime (Depends-on): Add multiarch.
87713 2009-01-21  Eric Blake  <ebb9@byu.net>
87715         multiarch: avoid expand-before-require warning
87716         * modules/multiarch (configure.ac): Require, rather than expand,
87717         gl_MULTIARCH.
87718         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
87719         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
87720         enforce that all clients require it.  Partial reversion of
87721         2008-12-29 patch.
87723         error: avoid expand-before-require warning
87724         * modules/errno (configure.ac): Require, rather than expand,
87725         gl_HEADER_ERRNO_H.
87726         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
87727         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
87728         enforce that all clients require it.
87730         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
87731         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
87732         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
87733         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
87735 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
87737         Revert:
87738         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87740         regex: do not depend on obsolete modules.
87741         * modules/regex: Remove memcmp and memmove.
87743 2009-01-20  Bruno Haible  <bruno@clisp.org>
87745         Make the 'link' module link on Windows NT 4.
87746         * lib/link.c (_WIN32_WINNT): Don't define.
87747         (CreateHardLinkFuncType): New type.
87748         (CreateHardLinkFunc, initialized): New variables.
87749         (initialize): New function.
87750         (link): Invoke CreateHardLink indirectly through the function pointer.
87752 2009-01-20  Bruno Haible  <bruno@clisp.org>
87754         Fix compilation failure on mingw.
87755         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
87757 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
87759         * doc/c-strtod.texi: Mention a couple of restrictions.
87761 2009-01-20  Jim Meyering  <meyering@redhat.com>
87763         gettimeofday: move more declarations out of functions
87764         * lib/gettimeofday.c: Move extern declarations of tzset and
87765         gmtime out of containing functions.  Prompted by Bruno Haible.
87767 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87769         regex: do not depend on obsolete modules.
87770         * modules/regex: Remove memcmp and memmove.
87772 2009-01-19  Bruno Haible  <bruno@clisp.org>
87774         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87775         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
87776         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87777         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
87778         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
87780 2009-01-19  Bruno Haible  <bruno@clisp.org>
87782         * tests/test-link.c: Include <errno.h>.
87783         (main): Exit with code 77 when a hard link cannot be created due to
87784         the file system.
87785         * tests/test-link.sh: Skip test when a hard link cannot be created due
87786         to the file system.
87787         Suggested by Eric Blake.
87789 2009-01-19  Martin Lambers  <marlam@marlam.de>
87791         * modules/link-tests: New file.
87792         * tests/test-link.sh: New file.
87793         * tests/test-link.c: New file.
87795 2009-01-19  Eric Blake  <ebb9@byu.net>
87797         doc: mention another function added in cygwin 1.7.0
87798         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
87799         Another new function in cygwin 1.7.
87801 2009-01-19  Bruno Haible  <bruno@clisp.org>
87803         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87804         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
87805         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
87806         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87807         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
87808         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
87809         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
87810         * m4/md4.m4 (gl_MD4): Likewise.
87811         * m4/md5.m4 (gl_MD5): Likewise.
87812         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
87813         * m4/sha1.m4 (gl_SHA1): Likewise.
87814         * m4/sha256.m4 (gl_SHA256): Likewise.
87815         * m4/sha512.m4 (gl_SHA512): Likewise.
87817 2009-01-19  Bruno Haible  <bruno@clisp.org>
87819         * modules/uniname/uniname-tests (Depends-on): Add progname.
87820         * tests/uniname/test-uninames.c: Include progname.h.
87821         (main): Call set_program_name.
87823         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
87824         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
87825         (main): Call set_program_name.
87827         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
87828         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
87829         (main): Call set_program_name.
87831         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
87832         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
87833         (main): Call set_program_name.
87835         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
87836         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
87837         (main): Call set_program_name.
87839         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
87840         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
87841         (main): Call set_program_name.
87843         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
87844         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
87845         (main): Call set_program_name.
87847         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
87848         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
87849         (main): Call set_program_name.
87851         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
87852         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
87853         (main): Call set_program_name.
87855 2009-01-19  Eric Blake  <ebb9@byu.net>
87857         test-unistd: test previous patch
87858         * tests/test-unistd.c: Test *_FILENO macros.
87860         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
87861         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87862         Guarantee a definition.
87863         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
87864         * modules/unistd-safer (Depends-on): Add dependency on unistd.
87865         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
87866         * lib/dup-safer.c (STDERR_FILENO): Likewise.
87867         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87868         Likewise.
87869         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
87870         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
87871         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87872         Likewise.
87873         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
87874         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
87875         (STDERR_FILENO): Likewise.
87876         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
87877         (STDERR_FILENO): Likewise.
87878         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
87879         (STDERR_FILENO): Likewise.
87880         Reported by Elbert Pol.
87882 2009-01-19  Eric Blake  <ebb9@byu.net>
87884         doc: mention more functions added in cygwin 1.7.0
87885         * doc/posix-functions/abort.texi (abort): Update wording related
87886         to cygwin.
87887         * doc/posix-functions/daylight.texi (daylight): Likewise.
87888         * doc/posix-functions/optarg.texi (optarg): Likewise.
87889         * doc/posix-functions/optarg.texi (opterr): Likewise.
87890         * doc/posix-functions/optarg.texi (optind): Likewise.
87891         * doc/posix-functions/optarg.texi (optopt): Likewise.
87892         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
87893         worked in 1.5.x, and was withdrawn in 1.7.
87894         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
87895         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
87896         cygwin versions.
87897         * doc/posix-functions/perror.texi (perror): Likewise.
87898         * doc/posix-functions/printf.texi (printf): Likewise.
87899         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
87900         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
87901         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
87902         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
87903         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
87904         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
87905         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
87906         Likewise.
87907         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
87908         Likewise.
87909         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
87910         this function.
87911         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
87912         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
87913         Likewise.
87914         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
87915         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
87916         * doc/posix-functions/confstr.texi (confstr): Likewise.
87917         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
87918         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
87919         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
87920         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
87921         * doc/posix-functions/fputws.texi (fputws): Likewise.
87922         * doc/posix-functions/fwide.texi (fwide): Likewise.
87923         * doc/posix-functions/getwc.texi (getwc): Likewise.
87924         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
87925         * doc/posix-functions/putwc.texi (putwc): Likewise.
87926         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
87927         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
87928         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
87929         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
87930         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
87931         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
87932         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
87933         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
87934         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
87935         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
87936         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
87938 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87940         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
87941         * lib/ioctl.c: Include <sys/ioctl.h>.
87943 2009-01-19  Simon Josefsson  <simon@josefsson.org>
87945         * modules/getdate-tests (Depends-on): Add progname.
87946         * tests/test-getdate.c: Use progname module, to avoid link errors
87947         on non-glibc systems.
87949 2009-01-18  Simon Josefsson  <simon@josefsson.org>
87951         * modules/filenamecat-tests (Depends-on): Add progname.
87952         * modules/fstrcmp-tests (Depends-on): Likewise.
87954         * tests/test-filenamecat.c: Use progname module, to avoid link
87955         errors on non-glibc systems.
87956         * tests/test-fstrcmp.c: Likewise.
87958 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87960         gettimeofday: avoid warning: nested extern declaration of 'localtime'
87961         * lib/gettimeofday.c: Move extern declaration out of function.
87963 2009-01-18  Bruno Haible  <bruno@clisp.org>
87965         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
87966         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
87967         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
87969 2009-01-18  Bruno Haible  <bruno@clisp.org>
87971         * lib/strftime.c (MEMPCPY): Remove unused macro.
87972         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
87974 2009-01-18  Martin Lambers  <marlam@marlam.de>
87976         New module 'link'.
87977         * lib/unistd.in.h (link): New declaration.
87978         * lib/link.c: New file.
87979         * m4/link.m4: New file.
87980         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
87981         HAVE_LINK.
87982         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
87983         * modules/link: New file.
87984         * doc/posix-functions/link.texi: Mention the new module.
87986 2009-01-18  Bruno Haible  <bruno@clisp.org>
87988         * tests/test-avltree_list.c (main): Call set_program_name.
87989         * tests/test-avltree_oset.c (main): Likewise.
87990         * tests/test-obstack-printf.c: Include progname.h.
87991         (main): Call set_program_name.
87992         * tests/test-quotearg.c: Include progname.h.
87993         (main): Call set_program_name.
87994         * tests/test-xmemdup0.c: Include progname.h.
87995         (main): Call set_program_name.
87997 2009-01-18  Bruno Haible  <bruno@clisp.org>
87999         New module 'alphasort'.
88000         * lib/dirent.in.h (alphasort): New declaration.
88001         * lib/alphasort.c: New file, from glibc with modifications.
88002         * m4/alphasort.m4: New file.
88003         * modules/alphasort: New file.
88004         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
88005         HAVE_ALPHASORT.
88006         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
88007         HAVE_ALPHASORT.
88008         * doc/posix-functions/alphasort.texi: Mention the new module and the
88009         portability problems.
88011 2009-01-18  Bruno Haible  <bruno@clisp.org>
88013         New module 'scandir'.
88014         * lib/dirent.in.h (scandir): New declaration.
88015         * lib/scandir.c: New file, from glibc with modifications.
88016         * m4/scandir.m4: New file.
88017         * modules/scandir: New file.
88018         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
88019         HAVE_SCANDIR.
88020         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
88021         HAVE_SCANDIR.
88022         * doc/posix-functions/scandir.texi: Mention the new module and the
88023         portability problems.
88025 2009-01-17  Bruno Haible  <bruno@clisp.org>
88027         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
88028         Update documentation.
88029         (func_remove_suffix): Escape all dots in the suffix. Update
88030         documentation.
88031         (func_filter_filelist): Update documentation.
88032         Reported by Ralf Wildenhues.
88034 2009-01-17  Bruno Haible  <bruno@clisp.org>
88036         * modules/dprintf-posix-tests: New file.
88037         * tests/test-dprintf-posix.sh: New file.
88038         * tests/test-dprintf-posix.c: New file.
88040         New modules 'dprintf', 'dprintf-posix'.
88041         * lib/stdio.in.h (dprintf): New declaration.
88042         * lib/dprintf.c: New file.
88043         * m4/dprintf.m4: New file.
88044         * m4/dprintf-posix.m4: New file.
88045         * modules/dprintf: New file.
88046         * modules/dprintf-posix: New file.
88047         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
88048         HAVE_DPRINTF, REPLACE_DPRINTF.
88049         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
88050         HAVE_DPRINTF, REPLACE_DPRINTF.
88051         * doc/posix-functions/dprintf.texi: Mention the new modules.
88053 2009-01-17  Bruno Haible  <bruno@clisp.org>
88055         * modules/vdprintf-posix-tests: New file.
88056         * tests/test-vdprintf-posix.sh: New file.
88057         * tests/test-vdprintf-posix.c: New file.
88059         New modules 'vdprintf', 'vdprintf-posix'.
88060         * lib/stdio.in.h (vdprintf): New declaration.
88061         * lib/vdprintf.c: New file.
88062         * m4/vdprintf.m4: New file.
88063         * m4/vdprintf-posix.m4: New file.
88064         * modules/vdprintf: New file.
88065         * modules/vdprintf-posix: New file.
88066         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
88067         HAVE_VDPRINTF, REPLACE_VDPRINTF.
88068         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
88069         HAVE_VDPRINTF, REPLACE_VDPRINTF.
88070         * doc/posix-functions/vdprintf.texi: Mention the new modules.
88072 2009-01-17  Bruno Haible  <bruno@clisp.org>
88074         Fix replacement of fopen on mingw.
88075         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
88076         mingw.
88078 2009-01-17  Bruno Haible  <bruno@clisp.org>
88080         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
88081         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
88083 2009-01-17  Bruno Haible  <bruno@clisp.org>
88085         Avoid test-fflush2.sh failure on mingw.
88086         * tests/test-fflush2.c: Include binary-io.h.
88087         (main): Put standard input into binary mode.
88088         * modules/fflush-tests (Depends-on): Add binary-io.
88090 2009-01-17  Bruno Haible  <bruno@clisp.org>
88092         * lib/wchar.in.h: In another particular situation, include only the
88093         system's <wchar.h> file.
88094         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
88095         Reported by Albert Chin-A-Young <china@thewrittenword.com>
88096         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
88098 2009-01-17  Bruno Haible  <bruno@clisp.org>
88100         Support for stripping executables in --enable-relocatable.
88101         * build-aux/install-reloc: Expect one more argument, or an environment
88102         variable RELOC_STRIP_PROG. If set, strip the destination program and
88103         its wrapper.
88104         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
88105         RELOC_STRIP_PROG.
88106         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
88107         to set RELOCATABLE_STRIP.
88108         * NEWS: Mention the new Makefile requirement.
88110 2009-01-17  Bruno Haible  <bruno@clisp.org>
88112         * build-aux/install-reloc: Remove debugging information left over by
88113         C compiler on MacOS X.
88115 2009-01-17  Bruno Haible  <bruno@clisp.org>
88117         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
88118         * lib/progreloc.c (find_executable): Fix type of pointer passed to
88119         _NSGetExecutablePath.
88121 2009-01-16  Jim Meyering  <meyering@redhat.com>
88123         strerror: avoid warnings about discarding "const"
88124         * lib/strerror.c (rpl_strerror): Instead of returning a const
88125         string from each and every "case", use a variable, and add a single
88126         cast after the switch.
88128 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
88130         * lib/arpa_inet.in.h: Add extern "C" block for C++.
88132 2009-01-16  Bruno Haible  <bruno@clisp.org>
88134         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
88135         array initializer syntax that also works in C++ mode.
88136         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88138 2009-01-16  Jim Meyering  <meyering@redhat.com>
88140         poll: suppress a warning
88141         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
88142         to ignore "...unsigned expression < 0 is always false" warnings.
88144 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
88146         poll: remove declarations of unused variables
88147         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
88148         sockbuf and optlen.
88150 2009-01-15  Bruno Haible  <bruno@clisp.org>
88152         Make fflush-after-ungetc POSIX compliant on BSD systems.
88153         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
88154         (clear_ungetc_buffer): Implement also for other systems.
88155         (rpl_fflush): On glibc systems, invoke
88156         clear_ungetc_buffer_preserving_position. Otherwise, invoke
88157         clear_ungetc_buffer after fetching the stream's position, not before.
88159 2009-01-15  Bruno Haible  <bruno@clisp.org>
88161         Make fflush-after-ungetc POSIX compliant on glibc systems.
88162         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
88163         after ungetc.
88164         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
88165         (rpl_fflush): On glibc systems, simply call the system's fflush
88166         function after clearing the ungetc buffer.
88167         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
88168         Instead, lseek only to the end of file, then use the system's fseeko
88169         for the rest. On glibc systems, reset the EOF indicator bit.
88171 2009-01-15  Jim Meyering  <meyering@redhat.com>
88173         openmp.m4: revert quote-adding change, for portability to older autoconf
88174         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
88175         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
88176         Simon Josefsson noticed the problem when using autoconf-2.61.
88178 2009-01-15  Bruno Haible  <bruno@clisp.org>
88180         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
88181         * tests/test-fflush2.c (ASSERT): Always fail.
88182         (main): Add two tests for fflush() after ungetc(), taking into account
88183         the Austin Group's clarification.
88184         Suggested by Eric Blake.
88186 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
88188         mktime.m4: remove K&R-style function prototypes
88189         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
88190         for the Sun C++ compiler.
88192 2009-01-14  Bruno Haible  <bruno@clisp.org>
88194         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
88195         while including <wchar.h>.
88196         * lib/wchar.in.h: In two particular situations on HP-UX, include only
88197         the system's <wchar.h> file.
88198         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88200 2009-01-14  Bruno Haible  <bruno@clisp.org>
88202         * m4/csharp.m4: Don't mention gettext on the serial number line.
88203         * m4/csharpexec.m4: Likewise.
88204         * m4/eaccess.m4: Likewise.
88205         * m4/javaexec.m4: Likewise.
88206         * m4/sig_atomic_t.m4: Likewise.
88207         * m4/tmpdir.m4: Likewise.
88208         * m4/intldir.m4: Bump gettext version.
88209         * m4/lib-ld.m4: Likewise.
88211 2009-01-14  Bruno Haible  <bruno@clisp.org>
88213         * lib/progname.c (set_program_name): Add more comments.
88214         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
88216 2009-01-14  Simon Josefsson  <simon@josefsson.org>
88218         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
88219         were sys/stat.h does not define it.
88221 2009-01-14  Jim Meyering  <meyering@redhat.com>
88223         many *.m4 files: improve m4 quoting
88224         99% of this change was performed by running the following commands:
88225         git ls-files | grep '\.m4$' | xargs perl -pi \
88226           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
88227           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
88228           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
88229           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
88230         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
88231         The remainder were to add Copyright dates, increment serial numbers,
88232         undo some changes in comments, exclude m4/intl.m4, and add quotes
88233         around the "1" in ",1" where the unusual spacing prohibited the
88234         above regexps from doing the job.  For more details, see
88235         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
88236         * m4/acl.m4: Modified.
88237         * m4/afs.m4: Likewise.
88238         * m4/alloca.m4: Likewise.
88239         * m4/argp.m4: Likewise.
88240         * m4/argz.m4: Likewise.
88241         * m4/atexit.m4: Likewise.
88242         * m4/bison-i18n.m4: Likewise.
88243         * m4/bison.m4: Likewise.
88244         * m4/byteswap.m4: Likewise.
88245         * m4/c-stack.m4: Likewise.
88246         * m4/c-strtod.m4: Likewise.
88247         * m4/calloc.m4: Likewise.
88248         * m4/canonicalize-lgpl.m4: Likewise.
88249         * m4/chown.m4: Likewise.
88250         * m4/clock_time.m4: Likewise.
88251         * m4/codeset.m4: Likewise.
88252         * m4/copy-file.m4: Likewise.
88253         * m4/csharp.m4: Likewise.
88254         * m4/csharpcomp.m4: Likewise.
88255         * m4/csharpexec.m4: Likewise.
88256         * m4/d-ino.m4: Likewise.
88257         * m4/d-type.m4: Likewise.
88258         * m4/dirfd.m4: Likewise.
88259         * m4/double-slash-root.m4: Likewise.
88260         * m4/eaccess.m4: Likewise.
88261         * m4/eealloc.m4: Likewise.
88262         * m4/environ.m4: Likewise.
88263         * m4/errno_h.m4: Likewise.
88264         * m4/euidaccess.m4: Likewise.
88265         * m4/execute.m4: Likewise.
88266         * m4/fatal-signal.m4: Likewise.
88267         * m4/fchdir.m4: Likewise.
88268         * m4/fcntl_h.m4: Likewise.
88269         * m4/fileblocks.m4: Likewise.
88270         * m4/filenamecat.m4: Likewise.
88271         * m4/findprog.m4: Likewise.
88272         * m4/flexmember.m4: Likewise.
88273         * m4/fnmatch.m4: Likewise.
88274         * m4/fopen.m4: Likewise.
88275         * m4/fpending.m4: Likewise.
88276         * m4/fprintf-posix.m4: Likewise.
88277         * m4/free.m4: Likewise.
88278         * m4/frexp.m4: Likewise.
88279         * m4/frexpl.m4: Likewise.
88280         * m4/fsusage.m4: Likewise.
88281         * m4/ftruncate.m4: Likewise.
88282         * m4/gc-camellia.m4: Likewise.
88283         * m4/gc-random.m4: Likewise.
88284         * m4/gc.m4: Likewise.
88285         * m4/getaddrinfo.m4: Likewise.
88286         * m4/getcwd-abort-bug.m4: Likewise.
88287         * m4/getcwd-path-max.m4: Likewise.
88288         * m4/getdate.m4: Likewise.
88289         * m4/getdomainname.m4: Likewise.
88290         * m4/getgroups.m4: Likewise.
88291         * m4/gethostname.m4: Likewise.
88292         * m4/gethrxtime.m4: Likewise.
88293         * m4/getline.m4: Likewise.
88294         * m4/getloadavg.m4: Likewise.
88295         * m4/getndelim2.m4: Likewise.
88296         * m4/getpass.m4: Likewise.
88297         * m4/gettext.m4: Likewise.
88298         * m4/gettime.m4: Likewise.
88299         * m4/gettimeofday.m4: Likewise.
88300         * m4/gnulib-common.m4: Likewise.
88301         * m4/group-member.m4: Likewise.
88302         * m4/host-os.m4: Likewise.
88303         * m4/iconv.m4: Likewise.
88304         * m4/iconv_open.m4: Likewise.
88305         * m4/inet_ntop.m4: Likewise.
88306         * m4/inet_pton.m4: Likewise.
88307         * m4/inline.m4: Likewise.
88308         * m4/intldir.m4: Likewise.
88309         * m4/intlmacosx.m4: Likewise.
88310         * m4/intmax.m4: Likewise.
88311         * m4/intmax_t.m4: Likewise.
88312         * m4/inttypes.m4: Likewise.
88313         * m4/inttypes_h.m4: Likewise.
88314         * m4/inttypes-pri.m4: Likewise.
88315         * m4/isapipe.m4: Likewise.
88316         * m4/isnand.m4: Likewise.
88317         * m4/isnanf.m4: Likewise.
88318         * m4/isnanl.m4: Likewise.
88319         * m4/javacomp.m4: Likewise.
88320         * m4/javaexec.m4: Likewise.
88321         * m4/jm-winsz1.m4: Likewise.
88322         * m4/jm-winsz2.m4: Likewise.
88323         * m4/lchown.m4: Likewise.
88324         * m4/lcmessage.m4: Likewise.
88325         * m4/ldexpl.m4: Likewise.
88326         * m4/lib-ld.m4: Likewise.
88327         * m4/lib-link.m4: Likewise.
88328         * m4/libsigsegv.m4: Likewise.
88329         * m4/link-follow.m4: Likewise.
88330         * m4/localcharset.m4: Likewise.
88331         * m4/locale-fr.m4: Likewise.
88332         * m4/locale-ja.m4: Likewise.
88333         * m4/locale-tr.m4: Likewise.
88334         * m4/locale-zh.m4: Likewise.
88335         * m4/lock.m4: Likewise.
88336         * m4/longlong.m4: Likewise.
88337         * m4/ls-mntd-fs.m4: Likewise.
88338         * m4/lstat.m4: Likewise.
88339         * m4/malloc.m4: Likewise.
88340         * m4/mathl.m4: Likewise.
88341         * m4/mbrtowc.m4: Likewise.
88342         * m4/mbstate_t.m4: Likewise.
88343         * m4/mbswidth.m4: Likewise.
88344         * m4/memchr.m4: Likewise.
88345         * m4/memcmp.m4: Likewise.
88346         * m4/memcpy.m4: Likewise.
88347         * m4/memmem.m4: Likewise.
88348         * m4/memmove.m4: Likewise.
88349         * m4/mempcpy.m4: Likewise.
88350         * m4/memrchr.m4: Likewise.
88351         * m4/memset.m4: Likewise.
88352         * m4/minmax.m4: Likewise.
88353         * m4/mkdir-slash.m4: Likewise.
88354         * m4/mkdtemp.m4: Likewise.
88355         * m4/mktime.m4: Likewise.
88356         * m4/mmap-anon.m4: Likewise.
88357         * m4/mountlist.m4: Likewise.
88358         * m4/nanosleep.m4: Likewise.
88359         * m4/nls.m4: Likewise.
88360         * m4/nocrash.m4: Likewise.
88361         * m4/open.m4: Likewise.
88362         * m4/openat.m4: Likewise.
88363         * m4/openmp.m4: Likewise.
88364         * m4/pathmax.m4: Likewise.
88365         * m4/perl.m4: Likewise.
88366         * m4/physmem.m4: Likewise.
88367         * m4/pipe.m4: Likewise.
88368         * m4/po.m4: Likewise.
88369         * m4/poll.m4: Likewise.
88370         * m4/posixtm.m4: Likewise.
88371         * m4/posixver.m4: Likewise.
88372         * m4/printf-frexp.m4: Likewise.
88373         * m4/printf-frexpl.m4: Likewise.
88374         * m4/printf-posix.m4: Likewise.
88375         * m4/printf-posix-rpl.m4: Likewise.
88376         * m4/printf.m4: Likewise.
88377         * m4/progtest.m4: Likewise.
88378         * m4/putenv.m4: Likewise.
88379         * m4/readline.m4: Likewise.
88380         * m4/readlink.m4: Likewise.
88381         * m4/readutmp.m4: Likewise.
88382         * m4/realloc.m4: Likewise.
88383         * m4/regex.m4: Likewise.
88384         * m4/relocatable.m4: Likewise.
88385         * m4/relocatable-lib.m4: Likewise.
88386         * m4/rename-dest-slash.m4: Likewise.
88387         * m4/rename.m4: Likewise.
88388         * m4/rmdir-errno.m4: Likewise.
88389         * m4/rmdir.m4: Likewise.
88390         * m4/roundf.m4: Likewise.
88391         * m4/roundl.m4: Likewise.
88392         * m4/rpmatch.m4: Likewise.
88393         * m4/save-cwd.m4: Likewise.
88394         * m4/selinux-selinux-h.m4: Likewise.
88395         * m4/setenv.m4: Likewise.
88396         * m4/settime.m4: Likewise.
88397         * m4/sig2str.m4: Likewise.
88398         * m4/sig_atomic_t.m4: Likewise.
88399         * m4/signalblocking.m4: Likewise.
88400         * m4/signbit.m4: Likewise.
88401         * m4/sigpipe.m4: Likewise.
88402         * m4/sockets.m4: Likewise.
88403         * m4/sockpfaf.m4: Likewise.
88404         * m4/st_dm_mode.m4: Likewise.
88405         * m4/stat-time.m4: Likewise.
88406         * m4/stdbool.m4: Likewise.
88407         * m4/stdint.m4: Likewise.
88408         * m4/stdint_h.m4: Likewise.
88409         * m4/stpcpy.m4: Likewise.
88410         * m4/stpncpy.m4: Likewise.
88411         * m4/strcase.m4: Likewise.
88412         * m4/strchrnul.m4: Likewise.
88413         * m4/strcspn.m4: Likewise.
88414         * m4/strdup.m4: Likewise.
88415         * m4/strftime.m4: Likewise.
88416         * m4/strndup.m4: Likewise.
88417         * m4/strnlen.m4: Likewise.
88418         * m4/strpbrk.m4: Likewise.
88419         * m4/strptime.m4: Likewise.
88420         * m4/strsep.m4: Likewise.
88421         * m4/strtod.m4: Likewise.
88422         * m4/strtoimax.m4: Likewise.
88423         * m4/strtok_r.m4: Likewise.
88424         * m4/strtol.m4: Likewise.
88425         * m4/strtoll.m4: Likewise.
88426         * m4/strtoul.m4: Likewise.
88427         * m4/strtoull.m4: Likewise.
88428         * m4/strtoumax.m4: Likewise.
88429         * m4/strverscmp.m4: Likewise.
88430         * m4/threadlib.m4: Likewise.
88431         * m4/timegm.m4: Likewise.
88432         * m4/tm_gmtoff.m4: Likewise.
88433         * m4/tmpdir.m4: Likewise.
88434         * m4/tmpfile.m4: Likewise.
88435         * m4/tzset.m4: Likewise.
88436         * m4/uintmax_t.m4: Likewise.
88437         * m4/unlinkdir.m4: Likewise.
88438         * m4/unlocked-io.m4: Likewise.
88439         * m4/uptime.m4: Likewise.
88440         * m4/userspec.m4: Likewise.
88441         * m4/utimbuf.m4: Likewise.
88442         * m4/utime.m4: Likewise.
88443         * m4/utimes-null.m4: Likewise.
88444         * m4/utimes.m4: Likewise.
88445         * m4/vararrays.m4: Likewise.
88446         * m4/vasnprintf.m4: Likewise.
88447         * m4/vfprintf-posix.m4: Likewise.
88448         * m4/vprintf-posix.m4: Likewise.
88449         * m4/wait-process.m4: Likewise.
88450         * m4/wchar_t.m4: Likewise.
88451         * m4/wint_t.m4: Likewise.
88452         * m4/write-any-file.m4: Likewise.
88453         * m4/yield.m4: Likewise.
88455 2009-01-13  Bruno Haible  <bruno@clisp.org>
88457         Avoid test-copy-file.sh failures when ACL support insufficient.
88458         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
88459         TESTS_ENVIRONMENT.
88460         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
88461         Reported by Jim Meyering.
88463 2009-01-13  Bruno Haible  <bruno@clisp.org>
88465         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
88466         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
88467         * modules/unistdio/u8-printf-parse (Files): Likewise.
88468         * modules/unistdio/u32-printf-parse (Files): Likewise.
88469         * modules/unistdio/ulc-printf-parse (Files): Likewise.
88471 2009-01-13  Simon Josefsson  <simon@josefsson.org>
88473         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
88474         and m4/inttypes_h.m4 too.
88476 2009-01-12  Eric Blake  <ebb9@byu.net>
88478         tests: IRIX 6.2 cc can't compile -0.0 into .data
88479         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
88480         rather than at compile-time.
88481         * tests/test-floorl.c (minus_zero): Likewise.
88482         * tests/test-frexpl.c (minus_zero): Likewise.
88483         * tests/test-isnan.c (minus_zerol): Likewise.
88484         * tests/test-isnanl.h (minus_zero): Likewise.
88485         * tests/test-ldexpl.c (minus_zero): Likewise.
88486         * tests/test-roundl.c (minus_zero): Likewise.
88487         * tests/test-signbit.c (minus_zerol): Likewise.
88488         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
88489         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
88490         * tests/test-truncl.c (minus_zero): Likewise.
88491         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
88492         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
88493         Reported by Tom G. Christensen and Nelson H. F. Beebe.
88495 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88497         regex: fix glibc bug 9697
88498         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
88499         handling.
88501 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88503         regex: fix glibc bug 697
88504         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
88505         being NULL also if there are no backreferences.
88507 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88509         regex: merge glibc changes
88510         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
88511         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
88512         re_string_skip_chars, re_string_reconstruct): Likewise.
88513         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
88515 2009-01-07  Jim Meyering  <meyering@redhat.com>
88517         poll: filter through cppi
88518         * lib/poll.c: Indent cpp directives to reflect nesting.
88520 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
88522         poll: don't return uninitialized
88523         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
88525 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
88527         avoid compile failure on AIX 6.1
88528         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
88529         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
88531 2009-01-04  Jim Meyering  <meyering@redhat.com>
88533         remove duplicate inclusion of <stdio.h>
88534         * tests/test-fprintf-posix.c: Likewise.
88535         * tests/test-printf-posix.c: Likewise.
88536         * tests/test-snprintf-posix.c: Likewise.
88537         * tests/test-sprintf-posix.c: Likewise.
88538         * tests/test-vasprintf-posix.c: Likewise.
88539         * tests/test-vfprintf-posix.c: Likewise.
88540         * tests/test-vprintf-posix.c: Likewise.
88541         * tests/test-vsnprintf-posix.c: Likewise.
88542         * tests/test-vsprintf-posix.c: Likewise.
88544 2009-01-03  Jim Meyering  <meyering@redhat.com>
88546         gnulib-tool: fix sed-based filtering
88547         * gnulib-tool (func_filter_filelist): Remove extra backslash
88548         in sed_fff_filter definition.
88550 2009-01-02  Jim Meyering  <meyering@redhat.com>
88552         strftime: avoid compilation failure on Solaris 2.6
88553         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
88554         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
88555         Don't #define mbrlen or mbsinit, since now they're guaranteed to
88556         be available.  Reported by Tom G. Christensen.  Details in
88557         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
88559 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88560             Bruno Haible  <bruno@clisp.org>
88562         Speed up gnulib-tool by doing more string processing through shell
88563         built-ins.
88564         * gnulib-tool (fast_func_append): New variable.
88565         (func_remove_prefix, func_remove_suffix): New functions.
88566         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
88567         (func_filter_filelist): New function.
88568         (func_get_dependencies): Use func_remove_suffix instead of sed.
88569         (func_get_automake_snippet): Use func_filter_filelist instead of a
88570         subshell and sed invocation.
88572 2009-01-01  Bruno Haible  <bruno@clisp.org>
88574         Fix a security bug.
88575         * gnulib-tool (func_import, import, update): Don't allow the characters
88576         '"', '$', '`', '\' in macro arguments that become part of commands that
88577         are evaluated.
88579 2009-01-01  Bruno Haible  <bruno@clisp.org>
88581         * gnulib-tool (func_reset_sigpipe): Add more comments.
88583 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88585         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
88586         func_emit_tests_Makefile_am, func_import): Abort loops early if we
88587         already know the answer.
88589 2009-01-01  Jim Meyering  <meyering@redhat.com>
88591         * lib/version-etc.c (version_etc_va): Update copyright year.
88593 2008-12-30  Bruno Haible  <bruno@clisp.org>
88595         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
88596         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
88597         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
88599 2008-12-29  Eric Blake  <ebb9@byu.net>
88601         multiarch: avoid autoconf AC_REQUIRE bug
88602         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
88603         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
88604         2.63 and older.
88605         Reported by Bruno Haible, and analyzed in
88606         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
88608 2008-12-29  Bruno Haible  <bruno@clisp.org>
88610         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
88611         files in subdirectories correctly.
88612         Reported by Ralf Wildenhues.
88614 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88616         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
88617         rather than 'join FILE -', for Solaris join.
88619 2008-12-29  Bruno Haible  <bruno@clisp.org>
88621         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
88622         quoting.
88623         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88624         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
88625         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
88626         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
88627         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
88628         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
88629         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
88630         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
88631         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
88632         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
88633         * m4/nls.m4 (AM_NLS): Likewise.
88634         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
88635         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
88636         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
88637         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
88638         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
88639         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
88640         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
88641         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
88642         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
88643         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
88644         * m4/xsize.m4 (gl_XSIZE): Likewise.
88645         Suggested by Jim Meyering.
88647 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88649         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
88650         * lib/parse-duration.c: use a switch instead of cascading if's.
88652 2008-12-29  Eric Blake  <ebb9@byu.net>
88654         wchar.h: supply WEOF on Irix 5.3
88655         * lib/wchar.in.h (wint_t): Also supply WEOF.
88656         * lib/wctype.in.h (wint_t): Likewise.
88657         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
88658         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
88659         Reported by Tom G. Christensen.
88661 2008-12-26  Bruno Haible  <bruno@clisp.org>
88663         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
88664         i486, i586, i686.
88666 2008-12-26  Bruno Haible  <bruno@clisp.org>
88668         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
88670 2008-12-26  Bruno Haible  <bruno@clisp.org>
88672         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
88673         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
88674         not __STDC_CONSTANT_MACROS.
88675         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
88677 2008-12-25  Bruno Haible  <bruno@clisp.org>
88679         Add support for universal builds to vasnprintf.
88680         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
88681         universal builds, guess no.
88682         * modules/vasnprintf-posix (Depends-on): Add multiarch.
88683         * modules/vasprintf-posix (Depends-on): Likewise.
88684         * modules/fprintf-posix (Depends-on): Likewise.
88685         * modules/vfprintf-posix (Depends-on): Likewise.
88686         * modules/snprintf-posix (Depends-on): Likewise.
88687         * modules/vsnprintf-posix (Depends-on): Likewise.
88688         * modules/sprintf-posix (Depends-on): Likewise.
88689         * modules/vsprintf-posix (Depends-on): Likewise.
88690         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
88691         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
88692         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
88693         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
88694         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
88695         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
88696         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
88698         Add support for universal builds to <inttypes.h>.
88699         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
88700         _SCNu64_PREFIX): In Apple
88701         universal builds, define directly, using _LP64.
88702         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
88703         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
88704         * modules/inttypes (Depends-on): Add multiarch.
88705         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88707         Add support for universal builds to <stdint.h>.
88708         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
88709         universal builds, define directly, using _LP64.
88710         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
88711         Apple universal builds, don't test for the size and suffix of ptrdiff_t
88712         and size_t.
88713         * modules/stdint (Depends-on): Add multiarch.
88714         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88716         New module 'multiarch'.
88717         * modules/multiarch: New file.
88718         * m4/multiarch.m4: New file.
88720 2008-12-25  Bruno Haible  <bruno@clisp.org>
88722         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
88724 2008-12-25  Bruno Haible  <bruno@clisp.org>
88726         * modules/btowc (License): Relicense under LGPLv2+.
88727         * modules/mbsinit (License): Likewise.
88728         * modules/mbrtowc (License): Likewise.
88729         * modules/wcrtomb (License): Likewise.
88730         * modules/streq (License): Likewise.
88731         Reported by David Lutterkort <lutter@redhat.com>.
88733 2008-12-23  Bruno Haible  <bruno@clisp.org>
88735         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
88737 2008-12-23  Bruno Haible  <bruno@clisp.org>
88739         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
88740         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
88741         GETADDRINFO_LIB, not in LIBS.
88742         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
88743         * modules/canon-host (Link): Likewise.
88744         * NEWS: Mention the change.
88745         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
88746         GETADDRINFO_LIB.
88748 2008-12-22  Bruno Haible  <bruno@clisp.org>
88750         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
88751         * doc/posix-functions/iswalpha_l.texi: Likewise.
88752         * doc/posix-functions/iswblank_l.texi: Likewise.
88753         * doc/posix-functions/iswcntrl_l.texi: Likewise.
88754         * doc/posix-functions/iswctype_l.texi: Likewise.
88755         * doc/posix-functions/iswdigit_l.texi: Likewise.
88756         * doc/posix-functions/iswgraph_l.texi: Likewise.
88757         * doc/posix-functions/iswlower_l.texi: Likewise.
88758         * doc/posix-functions/iswprint_l.texi: Likewise.
88759         * doc/posix-functions/iswpunct_l.texi: Likewise.
88760         * doc/posix-functions/iswspace_l.texi: Likewise.
88761         * doc/posix-functions/iswupper_l.texi: Likewise.
88762         * doc/posix-functions/iswxdigit_l.texi: Likewise.
88763         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
88764         * doc/posix-functions/open_wmemstream.texi: Likewise.
88765         * doc/posix-functions/swscanf.texi: Likewise.
88766         * doc/posix-functions/towctrans_l.texi: Likewise.
88767         * doc/posix-functions/towlower.texi: Likewise.
88768         * doc/posix-functions/towlower_l.texi: Likewise.
88769         * doc/posix-functions/towupper.texi: Likewise.
88770         * doc/posix-functions/towupper_l.texi: Likewise.
88771         * doc/posix-functions/vfwprintf.texi: Likewise.
88772         * doc/posix-functions/vfwscanf.texi: Likewise.
88773         * doc/posix-functions/vswscanf.texi: Likewise.
88774         * doc/posix-functions/vwprintf.texi: Likewise.
88775         * doc/posix-functions/vwscanf.texi: Likewise.
88776         * doc/posix-functions/wcpcpy.texi: Likewise.
88777         * doc/posix-functions/wcpncpy.texi: Likewise.
88778         * doc/posix-functions/wcscasecmp.texi: Likewise.
88779         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
88780         * doc/posix-functions/wcscoll_l.texi: Likewise.
88781         * doc/posix-functions/wcsdup.texi: Likewise.
88782         * doc/posix-functions/wcsncasecmp.texi: Likewise.
88783         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
88784         * doc/posix-functions/wcsnlen.texi: Likewise.
88785         * doc/posix-functions/wcsnrtombs.texi: Likewise.
88786         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
88787         * doc/posix-functions/wctrans_l.texi: Likewise.
88788         * doc/posix-functions/wctype_l.texi: Likewise.
88789         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
88790         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
88791         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
88792         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
88793         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
88794         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
88795         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
88796         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
88797         * doc/glibc-functions/wcschrnul.texi: Likewise.
88798         * doc/glibc-functions/wcsftime_l.texi: Likewise.
88799         * doc/glibc-functions/wcstod_l.texi: Likewise.
88800         * doc/glibc-functions/wcstof_l.texi: Likewise.
88801         * doc/glibc-functions/wcstol_l.texi: Likewise.
88802         * doc/glibc-functions/wcstold_l.texi: Likewise.
88803         * doc/glibc-functions/wcstoll_l.texi: Likewise.
88804         * doc/glibc-functions/wcstoq.texi: Likewise.
88805         * doc/glibc-functions/wcstoul_l.texi: Likewise.
88806         * doc/glibc-functions/wcstoull_l.texi: Likewise.
88807         * doc/glibc-functions/wcstouq.texi: Likewise.
88808         * doc/glibc-functions/wmempcpy.texi: Likewise.
88810 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
88811             Eric Blake  <ebb9@byu.net>
88812             Paolo Bonzini  <bonzini@gnu.org>
88813             Bruno Haible  <bruno@clisp.org>
88815         Make c-stack work on Haiku.
88816         * lib/c-stack.c (SA_ONSTACK): Define fallback.
88817         (c_stack_action): Use SA_ONSTACK flag.
88819 2008-12-22  Bruno Haible  <bruno@clisp.org>
88821         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
88823 2008-12-22  Bruno Haible  <bruno@clisp.org>
88825         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
88826         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
88827         being overridden.
88828         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
88829         New macros.
88830         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
88831         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
88832         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
88833         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
88835 2008-12-22  Bruno Haible  <bruno@clisp.org>
88837         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
88838         from test code.
88840 2008-12-22  Eric Blake  <ebb9@byu.net>
88842         Avoid gcc warnings on cygwin.
88843         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
88844         Avoid unused variable.
88845         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
88846         Likewise.
88848 2008-12-22  Bruno Haible  <bruno@clisp.org>
88850         Remove HAVE_MBRTOWC conditionals.
88851         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
88852         (mbscasecmp): Assume mbrtowc function.
88853         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
88854         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
88855         * lib/mbschr.c: Include mbuiter.h unconditionally.
88856         (mbschr): Assume mbrtowc function.
88857         * lib/mbscspn.c: Include mbuiter.h unconditionally.
88858         (mbscspn): Assume mbrtowc function.
88859         * lib/mbslen.c: Include mbuiter.h unconditionally.
88860         (mbslen): Assume mbrtowc function.
88861         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
88862         (mbsncasecmp): Assume mbrtowc function.
88863         * lib/mbsnlen.c: Include mbiter.h unconditionally.
88864         (mbsnlen): Assume mbrtowc function.
88865         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
88866         (mbspbrk): Assume mbrtowc function.
88867         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
88868         (mbspcasecmp): Assume mbrtowc function.
88869         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
88870         (mbsrchr): Assume mbrtowc function.
88871         * lib/mbssep.c: Include mbuiter.h unconditionally.
88872         (mbssep): Assume mbrtowc function.
88873         * lib/mbsspn.c: Include mbuiter.h unconditionally.
88874         (mbsspn): Assume mbrtowc function.
88875         * lib/mbsstr.c: Include mbuiter.h unconditionally.
88876         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
88877         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
88878         (mbstok_r): Assume mbrtowc function.
88879         * lib/propername.c: Include mbuiter.h unconditionally.
88880         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
88881         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
88882         (trim2): Assume mbrtowc function.
88883         * lib/mbswidth.c (mbsinit): Remove fallback definition.
88884         (mbsnwidth): Assume mbrtowc function.
88885         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
88886         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
88887         fallback definitions.
88888         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
88890 2008-12-22  Bruno Haible  <bruno@clisp.org>
88892         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
88894 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
88896         * modules/regex: Request emulations for the mb*/wc* functions we need.
88897         * m4/regex.m4: Don't look for those functions here.
88898         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
88900 2008-12-22  Bruno Haible  <bruno@clisp.org>
88902         * modules/fnmatch (Depends-on): Remove duplicated dependency.
88904 2008-12-21  Bruno Haible  <bruno@clisp.org>
88906         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
88907         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
88908         (Include): Remove conditionalization.
88909         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
88910         (Include): Remove conditionalization.
88911         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
88912         (Include): Remove conditionalization.
88913         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
88914         * m4/mbfile.m4 (gl_MBFILE): Likewise.
88915         * NEWS: Mention the change.
88916         Reported by Alan Hourihane <alanh@fairlite.co.uk>
88917         via Sergey Poznyakoff <gray@gnu.org.ua>.
88919 2008-12-21  Bruno Haible  <bruno@clisp.org>
88921         * MODULES.html.sh (Extended multibyte and wide character utilities
88922         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
88923         wcrtomb, wcsrtombs.
88924         (Support for systems lacking POSIX:2008): Add accept, bind, close,
88925         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
88926         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
88927         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
88929 2008-12-21  Bruno Haible  <bruno@clisp.org>
88931         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
88933 2008-12-21  Bruno Haible  <bruno@clisp.org>
88935         * modules/wcsnrtombs-tests: New file.
88936         * tests/test-wcsnrtombs1.sh: New file.
88937         * tests/test-wcsnrtombs2.sh: New file.
88938         * tests/test-wcsnrtombs3.sh: New file.
88939         * tests/test-wcsnrtombs4.sh: New file.
88940         * tests/test-wcsnrtombs.c: New file.
88942         New module 'wcsnrtombs'.
88943         * lib/wchar.in.h (wcsnrtombs): New declaration.
88944         * lib/wcsnrtombs.c: New file.
88945         * lib/wcsrtombs-state.c: New file.
88946         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
88947         (internal_state): Remove variable.
88948         * m4/wcsnrtombs.m4: New file.
88949         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
88950         compilation units.
88951         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
88952         HAVE_WCSNRTOMBS.
88953         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
88954         HAVE_WCSNRTOMBS.
88955         * modules/wcsnrtombs: New file.
88956         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
88957         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
88959 2008-12-21  Bruno Haible  <bruno@clisp.org>
88961         * modules/wcsrtombs-tests: New file.
88962         * tests/test-wcsrtombs1.sh: New file.
88963         * tests/test-wcsrtombs2.sh: New file.
88964         * tests/test-wcsrtombs3.sh: New file.
88965         * tests/test-wcsrtombs4.sh: New file.
88966         * tests/test-wcsrtombs.c: New file.
88968         New module 'wcsrtombs'.
88969         * lib/wchar.in.h (wcsrtombs): New declaration.
88970         * lib/wcsrtombs.c: New file.
88971         * m4/wcsrtombs.m4: New file.
88972         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
88973         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88974         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
88975         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88976         * modules/wcsrtombs: New file.
88977         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
88978         bugs.
88980 2008-12-21  Bruno Haible  <bruno@clisp.org>
88982         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
88983         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
88984         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
88985         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
88986         if not correct.
88987         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
88988         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
88989         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88990         m4/locale-zh.m4, m4/codeset.m4.
88991         * doc/posix-functions/wcrtomb.texi: Document the bug.
88993 2008-12-21  Bruno Haible  <bruno@clisp.org>
88995         Work around a btowc() bug on IRIX 6.5.
88996         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
88997         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
88998         REPLACE_WTOBC if not.
88999         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
89000         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
89001         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
89003 2008-12-21  Bruno Haible  <bruno@clisp.org>
89005         * modules/wcrtomb-tests: New file.
89006         * tests/test-wcrtomb.sh: New file.
89007         * tests/test-wcrtomb.c: New file.
89009         New module 'wcrtomb'.
89010         * lib/wchar.in.h (wcrtomb): New declaration.
89011         * lib/wcrtomb.c: New file.
89012         * m4/wcrtomb.m4: New file.
89013         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
89014         HAVE_WCRTOMB.
89015         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
89016         HAVE_WCRTOMB.
89017         * modules/wcrtomb: New file.
89018         * doc/posix-functions/wcrtomb.texi: Mention the new module.
89020 2008-12-21  Bruno Haible  <bruno@clisp.org>
89022         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
89023         * modules/mbsrtowcs (Files): Likewise.
89024         * modules/wctob (Files): Likewise.
89025         * modules/c-strcase-tests (Files): Likewise.
89026         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
89027         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
89028         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
89029         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
89030         * modules/vasnprintf-posix-tests (Files): Likewise.
89032 2008-12-21  William Pursell  <bill.pursell@gmail.com>
89034         gitlog-to-changelog: pass all command-line arguments to git-log
89035         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
89036         it is sometimes convenient to filter the commits in various ways.
89037         gitlog-to-changelog only allows --since to specify a start date,
89038         but git-log itself supports many other filtering mechanisms.
89039         At the moment, I want to filter by branch name.  Rather than
89040         adding a --branch option to gitlog-to-changelog, it seems more
89041         flexible to simply pass all options directly to git-log and let
89042         git do the work.  Notice that this effectively makes --since a
89043         redundant option for gitlog-to-changelog, but removing it would
89044         require current usage to change since calls would then require
89045         an additional '--'.
89047 2008-12-21  Bruno Haible  <bruno@clisp.org>
89049         * modules/mbsnrtowcs-tests: New file.
89050         * tests/test-mbsnrtowcs1.sh: New file.
89051         * tests/test-mbsnrtowcs2.sh: New file.
89052         * tests/test-mbsnrtowcs3.sh: New file.
89053         * tests/test-mbsnrtowcs4.sh: New file.
89054         * tests/test-mbsnrtowcs.c: New file.
89056         New module 'mbsnrtowcs'.
89057         * lib/wchar.in.h (mbsnrtowcs): New declaration.
89058         * lib/mbsnrtowcs.c: New file.
89059         * lib/mbsrtowcs-state.c: New file.
89060         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
89061         (internal_state): Remove variable.
89062         * m4/mbsnrtowcs.m4: New file.
89063         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
89064         compilation units.
89065         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
89066         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
89067         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
89068         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
89069         * modules/mbsnrtowcs: New file.
89070         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
89071         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
89072         portability problem.
89074 2008-12-21  Bruno Haible  <bruno@clisp.org>
89076         Work around mbsrtowcs bug.
89077         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
89078         (gl_FUNC_MBSRTOWCS): Invoke it.
89079         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
89080         m4/locale-zh.m4.
89081         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
89083 2008-12-21  Bruno Haible  <bruno@clisp.org>
89085         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
89087 2008-12-21  Bruno Haible  <bruno@clisp.org>
89089         Update doc for AIX.
89090         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
89091         16-bit wchar_t type.
89092         * doc/posix-functions/btowc.texi: Likewise.
89093         * doc/posix-functions/fgetwc.texi: Likewise.
89094         * doc/posix-functions/fgetws.texi: Likewise.
89095         * doc/posix-functions/fputwc.texi: Likewise.
89096         * doc/posix-functions/fputws.texi: Likewise.
89097         * doc/posix-functions/fwide.texi: Likewise.
89098         * doc/posix-functions/fwprintf.texi: Likewise.
89099         * doc/posix-functions/fwscanf.texi: Likewise.
89100         * doc/posix-functions/getwchar.texi: Likewise.
89101         * doc/posix-functions/getwc.texi: Likewise.
89102         * doc/posix-functions/iswalnum.texi: Likewise.
89103         * doc/posix-functions/iswalpha.texi: Likewise.
89104         * doc/posix-functions/iswblank.texi: Likewise.
89105         * doc/posix-functions/iswcntrl.texi: Likewise.
89106         * doc/posix-functions/iswctype.texi: Likewise.
89107         * doc/posix-functions/iswdigit.texi: Likewise.
89108         * doc/posix-functions/iswgraph.texi: Likewise.
89109         * doc/posix-functions/iswlower.texi: Likewise.
89110         * doc/posix-functions/iswprint.texi: Likewise.
89111         * doc/posix-functions/iswpunct.texi: Likewise.
89112         * doc/posix-functions/iswspace.texi: Likewise.
89113         * doc/posix-functions/iswupper.texi: Likewise.
89114         * doc/posix-functions/iswxdigit.texi: Likewise.
89115         * doc/posix-functions/mbrtowc.texi: Likewise.
89116         * doc/posix-functions/mbsrtowcs.texi: Likewise.
89117         * doc/posix-functions/mbstowcs.texi: Likewise.
89118         * doc/posix-functions/mbtowc.texi: Likewise.
89119         * doc/posix-functions/putwchar.texi: Likewise.
89120         * doc/posix-functions/putwc.texi: Likewise.
89121         * doc/posix-functions/swprintf.texi: Likewise.
89122         * doc/posix-functions/tolower.texi: Likewise.
89123         * doc/posix-functions/toupper.texi: Likewise.
89124         * doc/posix-functions/towctrans.texi: Likewise.
89125         * doc/posix-functions/ungetwc.texi: Likewise.
89126         * doc/posix-functions/vswprintf.texi: Likewise.
89127         * doc/posix-functions/wcrtomb.texi: Likewise.
89128         * doc/posix-functions/wcscat.texi: Likewise.
89129         * doc/posix-functions/wcschr.texi: Likewise.
89130         * doc/posix-functions/wcscmp.texi: Likewise.
89131         * doc/posix-functions/wcscoll.texi: Likewise.
89132         * doc/posix-functions/wcscpy.texi: Likewise.
89133         * doc/posix-functions/wcscspn.texi: Likewise.
89134         * doc/posix-functions/wcsftime.texi: Likewise.
89135         * doc/posix-functions/wcslen.texi: Likewise.
89136         * doc/posix-functions/wcsncat.texi: Likewise.
89137         * doc/posix-functions/wcsncmp.texi: Likewise.
89138         * doc/posix-functions/wcsncpy.texi: Likewise.
89139         * doc/posix-functions/wcspbrk.texi: Likewise.
89140         * doc/posix-functions/wcsrchr.texi: Likewise.
89141         * doc/posix-functions/wcsrtombs.texi: Likewise.
89142         * doc/posix-functions/wcsspn.texi: Likewise.
89143         * doc/posix-functions/wcsstr.texi: Likewise.
89144         * doc/posix-functions/wcstod.texi: Likewise.
89145         * doc/posix-functions/wcstof.texi: Likewise.
89146         * doc/posix-functions/wcstoimax.texi: Likewise.
89147         * doc/posix-functions/wcstok.texi: Likewise.
89148         * doc/posix-functions/wcstold.texi: Likewise.
89149         * doc/posix-functions/wcstoll.texi: Likewise.
89150         * doc/posix-functions/wcstol.texi: Likewise.
89151         * doc/posix-functions/wcstombs.texi: Likewise.
89152         * doc/posix-functions/wcstoull.texi: Likewise.
89153         * doc/posix-functions/wcstoul.texi: Likewise.
89154         * doc/posix-functions/wcstoumax.texi: Likewise.
89155         * doc/posix-functions/wcswidth.texi: Likewise.
89156         * doc/posix-functions/wcsxfrm.texi: Likewise.
89157         * doc/posix-functions/wctob.texi: Likewise.
89158         * doc/posix-functions/wctomb.texi: Likewise.
89159         * doc/posix-functions/wctrans.texi: Likewise.
89160         * doc/posix-functions/wctype.texi: Likewise.
89161         * doc/posix-functions/wcwidth.texi: Likewise.
89162         * doc/posix-functions/wmemchr.texi: Likewise.
89163         * doc/posix-functions/wmemcmp.texi: Likewise.
89164         * doc/posix-functions/wmemcpy.texi: Likewise.
89165         * doc/posix-functions/wmemmove.texi: Likewise.
89166         * doc/posix-functions/wmemset.texi: Likewise.
89167         * doc/posix-functions/wprintf.texi: Likewise.
89168         * doc/posix-functions/wscanf.texi: Likewise.
89170 2008-12-21  Bruno Haible  <bruno@clisp.org>
89172         Update doc for HP-UX 11.11.
89173         * doc/posix-functions/btowc.texi: Clarify that the function is missing
89174         in HP-UX version 11.00, not in all versions of HP-UX 11.
89175         * doc/posix-functions/fwide.texi: Likewise.
89176         * doc/posix-functions/fwprintf.texi: Likewise.
89177         * doc/posix-functions/fwscanf.texi: Likewise.
89178         * doc/posix-functions/inet_ntop.texi: Likewise.
89179         * doc/posix-functions/inet_pton.texi: Likewise.
89180         * doc/posix-functions/mbrlen.texi: Likewise.
89181         * doc/posix-functions/mbrtowc.texi: Likewise.
89182         * doc/posix-functions/mbsinit.texi: Likewise.
89183         * doc/posix-functions/mbsrtowcs.texi: Likewise.
89184         * doc/posix-functions/swprintf.texi: Likewise.
89185         * doc/posix-functions/swscanf.texi: Likewise.
89186         * doc/posix-functions/towctrans.texi: Likewise.
89187         * doc/posix-functions/vfwprintf.texi: Likewise.
89188         * doc/posix-functions/vswprintf.texi: Likewise.
89189         * doc/posix-functions/vwprintf.texi: Likewise.
89190         * doc/posix-functions/wcrtomb.texi: Likewise.
89191         * doc/posix-functions/wcsrtombs.texi: Likewise.
89192         * doc/posix-functions/wcsstr.texi: Likewise.
89193         * doc/posix-functions/wctob.texi: Likewise.
89194         * doc/posix-functions/wctrans.texi: Likewise.
89195         * doc/posix-functions/wmemchr.texi: Likewise.
89196         * doc/posix-functions/wmemcmp.texi: Likewise.
89197         * doc/posix-functions/wmemcpy.texi: Likewise.
89198         * doc/posix-functions/wmemmove.texi: Likewise.
89199         * doc/posix-functions/wmemset.texi: Likewise.
89200         * doc/posix-functions/wprintf.texi: Likewise.
89201         * doc/posix-functions/wscanf.texi: Likewise.
89203 2008-12-21  Bruno Haible  <bruno@clisp.org>
89205         Work around a portability problem.
89206         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
89207         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
89209 2008-12-20  Bruno Haible  <bruno@clisp.org>
89211         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
89212         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
89213         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
89214         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
89215         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
89217         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
89218         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
89219         set.
89220         (GNULIB_defined_mbstate_t): New macro.
89221         (mbsinit): Redefine if REPLACE_MBSINIT is set.
89222         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
89223         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
89224         reuses the system's mbrtowc function but works around the bugs.
89225         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
89226         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
89227         macros.
89228         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
89229         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
89230         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
89231         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
89232         REPLACE_MBSINIT if mbsinit needs to be overridden.
89233         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
89234         REPLACE_MBSINIT, REPLACE_MBRTOWC.
89235         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
89236         REPLACE_MBSINIT, REPLACE_MBRTOWC.
89237         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
89238         m4/locale-zh.m4.
89239         (Depends): Add mbsinit.
89240         * modules/mbsinit (Depends): Add mbrtowc.
89241         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
89243 2008-12-20  Bruno Haible  <bruno@clisp.org>
89245         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
89246         so that there are no conversion errors on AIX.
89247         * tests/test-mbsrtowcs.c (main): LIkewise.
89249 2008-12-20  Bruno Haible  <bruno@clisp.org>
89251         Work around wctob bug on Solaris <= 9.
89252         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
89253         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
89254         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
89255         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
89256         * modules/wctob (Files): Add m4/locale-fr.m4.
89257         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
89259 2008-12-20  Bruno Haible  <bruno@clisp.org>
89261         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
89262         /dev/null.
89263         * tests/test-select-in.sh: Likewise.
89264         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
89266 2008-12-20  Bruno Haible  <bruno@clisp.org>
89268         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
89269         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
89270         Cygwin 1.5.x.
89272 2008-12-20  Bruno Haible  <bruno@clisp.org>
89274         Ensure mbstate_t is defined on HP-UX 11.11.
89275         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
89276         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
89277         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
89278         AC_USE_SYSTEM_EXTENSIONS.
89279         * modules/fnmatch (Depends-on): Add extensions.
89280         * modules/mbrlen (Depends-on): Likewise.
89281         * modules/mbrtowc (Depends-on): Likewise.
89282         * modules/mbsinit (Depends-on): Likewise.
89283         * modules/mbsrtowcs (Depends-on): Likewise.
89284         * modules/mbswidth (Depends-on): Likewise.
89285         * modules/quotearg (Depends-on): Likewise.
89286         * modules/strftime (Depends-on): Likewise.
89288 2008-12-20  Bruno Haible  <bruno@clisp.org>
89290         Ensure wctob is declared on IRIX 6.5.
89291         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
89292         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
89293         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
89294         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
89295         of HAVE_WCTOB.
89296         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
89297         HAVE_WCTOB.
89298         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
89300 2008-12-19  Bruno Haible  <bruno@clisp.org>
89302         * modules/mbsrtowcs-tests: New file.
89303         * tests/test-mbsrtowcs1.sh: New file.
89304         * tests/test-mbsrtowcs2.sh: New file.
89305         * tests/test-mbsrtowcs3.sh: New file.
89306         * tests/test-mbsrtowcs4.sh: New file.
89307         * tests/test-mbsrtowcs.c: New file.
89309         New module 'mbsrtowcs'.
89310         * lib/wchar.in.h (mbsrtowcs): New declaration.
89311         * lib/mbsrtowcs.c: New file.
89312         * m4/mbsrtowcs.m4: New file.
89313         * modules/mbsrtowcs: New file.
89314         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
89315         HAVE_MBSRTOWCS.
89316         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
89317         HAVE_MBSRTOWCS.
89318         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
89320 2008-12-19  Bruno Haible  <bruno@clisp.org>
89322         New module 'mbrlen'.
89323         * lib/wchar.in.h (mbrlen): New declaration.
89324         * lib/mbrlen.c: New file.
89325         * m4/mbrlen.m4: New file.
89326         * modules/mbrlen: New file.
89327         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
89328         HAVE_MBRLEN.
89329         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
89330         HAVE_MBRLEN.
89331         * doc/posix-functions/mbrlen.texi: Document the new module.
89333 2008-12-19  Bruno Haible  <bruno@clisp.org>
89335         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
89336         * modules/mbrtowc (Depends-on): Add verify.
89337         Suggested by Paul Eggert.
89339 2008-12-18  Bruno Haible  <bruno@clisp.org>
89341         * modules/mbsinit-tests: New file.
89342         * tests/test-mbsinit.sh: New file.
89343         * tests/test-mbsinit.c: New file.
89345 2008-12-18  Bruno Haible  <bruno@clisp.org>
89347         * modules/mbrtowc-tests: New file.
89348         * tests/test-mbrtowc1.sh: New file.
89349         * tests/test-mbrtowc2.sh: New file.
89350         * tests/test-mbrtowc3.sh: New file.
89351         * tests/test-mbrtowc4.sh: New file.
89352         * tests/test-mbrtowc.c: New file.
89354         New module 'mbrtowc'.
89355         * lib/wchar.in.h (mbstate_t): Override when the system does not have
89356         mbsinit and mbrtowc.
89357         (mbrtowc): New declaration.
89358         * lib/mbrtowc.c: New file.
89359         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
89360         * modules/mbrtowc: New file.
89361         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
89362         HAVE_MBRTOWC.
89363         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
89364         HAVE_MBRTOWC.
89365         * doc/posix-functions/mbrtowc.texi: Document the new module.
89367 2008-12-18  Bruno Haible  <bruno@clisp.org>
89369         New module 'wctob'.
89370         * lib/wchar.in.h (wctob): New declaration.
89371         * lib/wctob.c: New file.
89372         * m4/wctob.m4: New file.
89373         * modules/wctob: New file.
89374         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
89375         HAVE_WCTOB.
89376         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
89377         * doc/posix-functions/wctob.texi: Document the new module.
89379 2008-12-18  Bruno Haible  <bruno@clisp.org>
89381         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
89382         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
89384 2008-12-18  Simon Josefsson  <simon@josefsson.org>
89386         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
89387         G. Christensen" <tgc@jupiterrise.com>.
89389         * lib/flock.c: Need to include errno.h.  Reported by "Tom
89390         G. Christensen" <tgc@jupiterrise.com>.
89392         * lib/flock.c: Need to include string.h.  Reported by "Tom
89393         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
89394         <ebb9@byu.net>.
89396 2008-12-18  Bruno Haible  <bruno@clisp.org>
89398         * m4/locale-ja.m4: New file, from GNU gettext.
89400 2008-12-17  Bruno Haible  <bruno@clisp.org>
89402         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
89403         Suggested by Eric Blake.
89405 2008-12-17  Bruno Haible  <bruno@clisp.org>
89407         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
89409 2008-12-17  Bruno Haible  <bruno@clisp.org>
89411         * lib/mbsinit.c: Include verify.h. Verify an assumption.
89412         * modules/mbsinit (Depends-on): Add verify.
89413         Suggested by Paul Eggert.
89415 2008-12-17  Bruno Haible  <bruno@clisp.org>
89417         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
89418         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
89419         gl_FUNC_MBRTOWC.
89420         * m4/mbiter.m4 (gl_MBITER): LIkewise.
89421         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
89422         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
89423         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
89424         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
89425         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
89426         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
89427         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
89428         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
89429         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
89430         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
89431         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
89432         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
89433         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
89434         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
89435         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
89436         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
89437         * modules/trim (configure.ac): Likewise.
89439 2008-12-17  Bruno Haible  <bruno@clisp.org>
89441         * modules/btowc-tests: New file.
89442         * tests/test-btowc1.sh: New file.
89443         * tests/test-btowc2.sh: New file.
89444         * tests/test-btowc.c: New file.
89446         New module 'btowc'.
89447         * lib/wchar.in.h (btowc): New declaration.
89448         * lib/btowc.c: New file.
89449         * m4/btowc.m4: New file.
89450         * modules/btowc: New file.
89451         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
89452         HAVE_BTOWC.
89453         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
89454         * doc/posix-functions/btowc.texi: Document the new module.
89456 2008-12-17  Bruno Haible  <bruno@clisp.org>
89458         New module 'mbsinit'.
89459         * lib/wchar.in.h (mbsinit): New declaration.
89460         * lib/mbsinit.c: New file.
89461         * m4/mbsinit.m4: New file.
89462         * modules/mbsinit: New file.
89463         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
89464         HAVE_MBSINIT.
89465         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
89466         HAVE_MBSINIT.
89467         * doc/posix-functions/mbsinit.texi: Document the new module.
89469 2008-12-16  Bruno Haible  <bruno@clisp.org>
89471         * lib/unistd.in.h: Add comment.
89472         * tests/test-environ.c: Don't include <stdlib.h>.
89474 2008-12-16  Bruno Haible  <bruno@clisp.org>
89476         * lib/parse-duration.h (parse_duration): Document return value
89477         convention.
89478         * lib/parse-duration.c: Include specification header first. Add
89479         comments.
89480         (_): Remove macro.
89481         (parse_year_month_day, parse_hour_minute_second): Move side effects
89482         outside of strchr call.
89483         (parse_non_iso8601): Move side effects outside of isspace call.
89484         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
89485         call.
89487 2008-12-16  Bruno Haible  <bruno@clisp.org>
89489         * tests/test-parse-duration.sh: Produce no output when the test
89490         succeeds.
89492 2008-12-16  Bruno Haible  <bruno@clisp.org>
89494         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
89495         expressions.
89497 2008-12-15  Bruno Haible  <bruno@clisp.org>
89499         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
89500         * doc/glibc-functions/flistxattr.texi: Likewise.
89501         * doc/glibc-functions/fopencookie.texi: Likewise.
89502         * doc/glibc-functions/fremovexattr.texi: Likewise.
89503         * doc/glibc-functions/fsetxattr.texi: Likewise.
89504         * doc/glibc-functions/getxattr.texi: Likewise.
89505         * doc/glibc-functions/lgetxattr.texi: Likewise.
89506         * doc/glibc-functions/listxattr.texi: Likewise.
89507         * doc/glibc-functions/llistxattr.texi: Likewise.
89508         * doc/glibc-functions/lremovexattr.texi: Likewise.
89509         * doc/glibc-functions/lsetxattr.texi: Likewise.
89510         * doc/glibc-functions/removexattr.texi: Likewise.
89511         * doc/glibc-functions/setxattr.texi: Likewise.
89512         * doc/posix-functions/open_memstream.texi: Likewise.
89514 2008-12-15  Eric Blake  <ebb9@byu.net>
89516         Update doc for cygwin 1.7.
89517         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
89518         functions.
89519         * doc/posix-functions/fchmodat.texi: Likewise.
89520         * doc/posix-functions/fchownat.texi: Likewise.
89521         * doc/posix-functions/fdopendir.texi: Likewise.
89522         * doc/posix-functions/fmemopen.texi: Likewise.
89523         * doc/posix-functions/freeaddrinfo.texi: Likewise.
89524         * doc/posix-functions/fstatat.texi: Likewise.
89525         * doc/posix-functions/futimens.texi: Likewise.
89526         * doc/posix-functions/gai_strerror.texi: Likewise.
89527         * doc/posix-functions/getaddrinfo.texi: Likewise.
89528         * doc/posix-functions/getnameinfo.texi: Likewise.
89529         * doc/posix-functions/if_freenameindex.texi: Likewise.
89530         * doc/posix-functions/if_indextoname.texi: Likewise.
89531         * doc/posix-functions/if_nameindex.texi: Likewise.
89532         * doc/posix-functions/if_nametoindex.texi: Likewise.
89533         * doc/posix-functions/insque.texi: Likewise.
89534         * doc/posix-functions/linkat.texi: Likewise.
89535         * doc/posix-functions/llrint.texi: Likewise.
89536         * doc/posix-functions/llrintf.texi: Likewise.
89537         * doc/posix-functions/llrintl.texi: Likewise.
89538         * doc/posix-functions/lockf.texi: Likewise.
89539         * doc/posix-functions/lrintl.texi: Likewise.
89540         * doc/posix-functions/mkdirat.texi: Likewise.
89541         * doc/posix-functions/mkfifoat.texi: Likewise.
89542         * doc/posix-functions/mknodat.texi: Likewise.
89543         * doc/posix-functions/mq_close.texi: Likewise.
89544         * doc/posix-functions/mq_getattr.texi: Likewise.
89545         * doc/posix-functions/mq_notify.texi: Likewise.
89546         * doc/posix-functions/mq_open.texi: Likewise.
89547         * doc/posix-functions/mq_receive.texi: Likewise.
89548         * doc/posix-functions/mq_send.texi: Likewise.
89549         * doc/posix-functions/mq_setattr.texi: Likewise.
89550         * doc/posix-functions/mq_timedreceive.texi: Likewise.
89551         * doc/posix-functions/mq_timedsend.texi: Likewise.
89552         * doc/posix-functions/mq_unlink.texi: Likewise.
89553         * doc/posix-functions/open_memstream.texi: Likewise.
89554         * doc/posix-functions/openat.texi: Likewise.
89555         * doc/posix-functions/posix_fadvise.texi: Likewise.
89556         * doc/posix-functions/posix_fallocate.texi: Likewise.
89557         * doc/posix-functions/posix_madvise.texi: Likewise.
89558         * doc/posix-functions/posix_memalign.texi: Likewise.
89559         * doc/posix-functions/posix_openpt.texi: Likewise.
89560         * doc/posix-functions/readlinkat.texi: Likewise.
89561         * doc/posix-functions/remque.texi: Likewise.
89562         * doc/posix-functions/renameat.texi: Likewise.
89563         * doc/posix-functions/rintl.texi: Likewise.
89564         * doc/posix-functions/sem_unlink.texi: Likewise.
89565         * doc/posix-functions/shm_open.texi: Likewise.
89566         * doc/posix-functions/shm_unlink.texi: Likewise.
89567         * doc/posix-functions/signgam.texi: Likewise.
89568         * doc/posix-functions/sigset.texi: Likewise.
89569         * doc/posix-functions/stpcpy.texi: Likewise.
89570         * doc/posix-functions/stpncpy.texi: Likewise.
89571         * doc/posix-functions/strerror.texi: Likewise.
89572         * doc/posix-functions/strtod.texi: Likewise.
89573         * doc/posix-functions/symlinkat.texi: Likewise.
89574         * doc/posix-functions/unlinkat.texi: Likewise.
89575         * doc/posix-functions/utimensat.texi: Likewise.
89576         * doc/glibc-functions/bindresvport.texi: Likewise.
89577         * doc/glibc-functions/dn_expand.texi: Likewise.
89578         * doc/glibc-functions/exp10.texi: Likewise.
89579         * doc/glibc-functions/exp10f.texi: Likewise.
89580         * doc/glibc-functions/fgetxattr.texi: Likewise.
89581         * doc/glibc-functions/flistxattr.texi: Likewise.
89582         * doc/glibc-functions/fopencookie.texi: Likewise.
89583         * doc/glibc-functions/freeifaddrs.texi: Likewise.
89584         * doc/glibc-functions/fremovexattr.texi: Likewise.
89585         * doc/glibc-functions/fsetxattr.texi: Likewise.
89586         * doc/glibc-functions/getifaddrs.texi: Likewise.
89587         * doc/glibc-functions/getxattr.texi: Likewise.
89588         * doc/glibc-functions/lgetxattr.texi: Likewise.
89589         * doc/glibc-functions/listxattr.texi: Likewise.
89590         * doc/glibc-functions/llistxattr.texi: Likewise.
89591         * doc/glibc-functions/lremovexattr.texi: Likewise.
89592         * doc/glibc-functions/lsetxattr.texi: Likewise.
89593         * doc/glibc-functions/pow10.texi: Likewise.
89594         * doc/glibc-functions/pow10f.texi: Likewise.
89595         * doc/glibc-functions/rcmd_af.texi: Likewise.
89596         * doc/glibc-functions/removexattr.texi: Likewise.
89597         * doc/glibc-functions/res_init.texi: Likewise.
89598         * doc/glibc-functions/res_mkquery.texi: Likewise.
89599         * doc/glibc-functions/res_query.texi: Likewise.
89600         * doc/glibc-functions/res_querydomain.texi: Likewise.
89601         * doc/glibc-functions/res_send.texi: Likewise.
89602         * doc/glibc-functions/rresvport_af.texi: Likewise.
89603         * doc/glibc-functions/setxattr.texi: Likewise.
89604         * doc/glibc-functions/strcasestr.texi: Likewise.
89606 2008-12-15  Bruno Haible  <bruno@clisp.org>
89608         Fix compilation error on OSF/1 4.0.
89609         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
89610         <sys/time.h>, simply delegate to the system header.
89611         Reported by Daniel Richard G. <oss@teragram.com>.
89613 2008-12-15  Bruno Haible  <bruno@clisp.org>
89615         * doc/posix-functions/openat.texi: Mention the 'openat' module.
89616         * doc/posix-functions/fchmodat.texi: Likewise.
89617         * doc/posix-functions/fchownat.texi: Likewise.
89618         * doc/posix-functions/fdopendir.texi: Likewise.
89619         * doc/posix-functions/fstatat.texi: Likewise.
89620         * doc/posix-functions/mkdirat.texi: Likewise.
89621         * doc/posix-functions/unlinkat.texi: Likewise.
89623 2008-12-14  Bruno Haible  <bruno@clisp.org>
89625         Update doc for POSIX:2008.
89626         * doc/posix-functions/faccessat.texi: New file.
89627         * doc/posix-functions/fchmodat.texi: New file.
89628         * doc/posix-functions/fchownat.texi: New file.
89629         * doc/posix-functions/fdopendir.texi: New file.
89630         * doc/posix-functions/fstatat.texi: New file.
89631         * doc/posix-functions/futimens.texi: New file.
89632         * doc/posix-functions/linkat.texi: New file.
89633         * doc/posix-functions/mkdirat.texi: New file.
89634         * doc/posix-functions/mkfifoat.texi: New file.
89635         * doc/posix-functions/mknodat.texi: New file.
89636         * doc/posix-functions/open_wmemstream.texi: New file.
89637         * doc/posix-functions/openat.texi: New file.
89638         * doc/posix-functions/psiginfo.texi: New file.
89639         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
89640         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
89641         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
89642         * doc/posix-functions/readlinkat.texi: New file.
89643         * doc/posix-functions/renameat.texi: New file.
89644         * doc/posix-functions/strerror_l.texi: New file.
89645         * doc/posix-functions/symlinkat.texi: New file.
89646         * doc/posix-functions/unlinkat.texi: New file.
89647         * doc/posix-functions/utimensat.texi: New file.
89648         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89650 2008-12-14  Bruno Haible  <bruno@clisp.org>
89652         Update doc for POSIX:2008.
89653         * doc/posix-functions/alphasort.texi: Renamed from
89654         doc/glibc-functions/alphasort.texi.
89655         * doc/posix-functions/dirfd.texi: Renamed from
89656         doc/glibc-functions/dirfd.texi.
89657         * doc/posix-functions/dprintf.texi: Renamed from
89658         doc/glibc-functions/dprintf.texi.
89659         * doc/posix-functions/duplocale.texi: Renamed from
89660         doc/glibc-functions/duplocale.texi.
89661         * doc/posix-functions/fexecve.texi: Renamed from
89662         doc/glibc-functions/fexecve.texi.
89663         * doc/posix-functions/fmemopen.texi: Renamed from
89664         doc/glibc-functions/fmemopen.texi.
89665         * doc/posix-functions/freelocale.texi: Renamed from
89666         doc/glibc-functions/freelocale.texi.
89667         * doc/posix-functions/getdate_err.texi: Renamed from
89668         doc/glibc-functions/getdate_err.texi.
89669         * doc/posix-functions/isalnum_l.texi: Renamed from
89670         doc/glibc-functions/isalnum_l.texi.
89671         * doc/posix-functions/isalpha_l.texi: Renamed from
89672         doc/glibc-functions/isalpha_l.texi.
89673         * doc/posix-functions/isblank_l.texi: Renamed from
89674         doc/glibc-functions/isblank_l.texi.
89675         * doc/posix-functions/iscntrl_l.texi: Renamed from
89676         doc/glibc-functions/iscntrl_l.texi.
89677         * doc/posix-functions/isdigit_l.texi: Renamed from
89678         doc/glibc-functions/isdigit_l.texi.
89679         * doc/posix-functions/isgraph_l.texi: Renamed from
89680         doc/glibc-functions/isgraph_l.texi.
89681         * doc/posix-functions/islower_l.texi: Renamed from
89682         doc/glibc-functions/islower_l.texi.
89683         * doc/posix-functions/isprint_l.texi: Renamed from
89684         doc/glibc-functions/isprint_l.texi.
89685         * doc/posix-functions/ispunct_l.texi: Renamed from
89686         doc/glibc-functions/ispunct_l.texi.
89687         * doc/posix-functions/isspace_l.texi: Renamed from
89688         doc/glibc-functions/isspace_l.texi.
89689         * doc/posix-functions/isupper_l.texi: Renamed from
89690         doc/glibc-functions/isupper_l.texi.
89691         * doc/posix-functions/iswalnum_l.texi: Renamed from
89692         doc/glibc-functions/iswalnum_l.texi.
89693         * doc/posix-functions/iswalpha_l.texi: Renamed from
89694         doc/glibc-functions/iswalpha_l.texi.
89695         * doc/posix-functions/iswblank_l.texi: Renamed from
89696         doc/glibc-functions/iswblank_l.texi.
89697         * doc/posix-functions/iswcntrl_l.texi: Renamed from
89698         doc/glibc-functions/iswcntrl_l.texi.
89699         * doc/posix-functions/iswctype_l.texi: Renamed from
89700         doc/glibc-functions/iswctype_l.texi.
89701         * doc/posix-functions/iswdigit_l.texi: Renamed from
89702         doc/glibc-functions/iswdigit_l.texi.
89703         * doc/posix-functions/iswgraph_l.texi: Renamed from
89704         doc/glibc-functions/iswgraph_l.texi.
89705         * doc/posix-functions/iswlower_l.texi: Renamed from
89706         doc/glibc-functions/iswlower_l.texi.
89707         * doc/posix-functions/iswprint_l.texi: Renamed from
89708         doc/glibc-functions/iswprint_l.texi.
89709         * doc/posix-functions/iswpunct_l.texi: Renamed from
89710         doc/glibc-functions/iswpunct_l.texi.
89711         * doc/posix-functions/iswspace_l.texi: Renamed from
89712         doc/glibc-functions/iswspace_l.texi.
89713         * doc/posix-functions/iswupper_l.texi: Renamed from
89714         doc/glibc-functions/iswupper_l.texi.
89715         * doc/posix-functions/iswxdigit_l.texi: Renamed from
89716         doc/glibc-functions/iswxdigit_l.texi.
89717         * doc/posix-functions/isxdigit_l.texi: Renamed from
89718         doc/glibc-functions/isxdigit_l.texi.
89719         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
89720         doc/glibc-functions/mbsnrtowcs.texi.
89721         * doc/posix-functions/mkdtemp.texi: Renamed from
89722         doc/glibc-functions/mkdtemp.texi.
89723         * doc/posix-functions/newlocale.texi: Renamed from
89724         doc/glibc-functions/newlocale.texi.
89725         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
89726         doc/glibc-functions/nl_langinfo_l.texi.
89727         * doc/posix-functions/open_memstream.texi: Renamed from
89728         doc/glibc-functions/open_memstream.texi.
89729         * doc/posix-functions/opterr.texi: Renamed from
89730         doc/glibc-functions/opterr.texi.
89731         * doc/posix-functions/optind.texi: Renamed from
89732         doc/glibc-functions/optind.texi.
89733         * doc/posix-functions/optopt.texi: Renamed from
89734         doc/glibc-functions/optopt.texi.
89735         * doc/posix-functions/psignal.texi: Renamed from
89736         doc/glibc-functions/psignal.texi.
89737         * doc/posix-functions/scandir.texi: Renamed from
89738         doc/glibc-functions/scandir.texi.
89739         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
89740         doc/glibc-functions/sched_get_priority_min.texi.
89741         * doc/posix-functions/signgam.texi: Renamed from
89742         doc/glibc-functions/signgam.texi.
89743         * doc/posix-functions/stpcpy.texi: Renamed from
89744         doc/glibc-functions/stpcpy.texi.
89745         * doc/posix-functions/stpncpy.texi: Renamed from
89746         doc/glibc-functions/stpncpy.texi.
89747         * doc/posix-functions/strcasecmp_l.texi: Renamed from
89748         doc/glibc-functions/strcasecmp_l.texi.
89749         * doc/posix-functions/strcoll_l.texi: Renamed from
89750         doc/glibc-functions/strcoll_l.texi.
89751         * doc/posix-functions/strfmon_l.texi: Renamed from
89752         doc/glibc-functions/strfmon_l.texi.
89753         * doc/posix-functions/strftime_l.texi: Renamed from
89754         doc/glibc-functions/strftime_l.texi.
89755         * doc/posix-functions/strncasecmp_l.texi: Renamed from
89756         doc/glibc-functions/strncasecmp_l.texi.
89757         * doc/posix-functions/strndup.texi: Renamed from
89758         doc/glibc-functions/strndup.texi.
89759         * doc/posix-functions/strnlen.texi: Renamed from
89760         doc/glibc-functions/strnlen.texi.
89761         * doc/posix-functions/strsignal.texi: Renamed from
89762         doc/glibc-functions/strsignal.texi.
89763         * doc/posix-functions/strxfrm_l.texi: Renamed from
89764         doc/glibc-functions/strxfrm_l.texi.
89765         * doc/posix-functions/timer_gettime.texi: Renamed from
89766         doc/glibc-functions/timer_gettime.texi.
89767         * doc/posix-functions/tolower_l.texi: Renamed from
89768         doc/glibc-functions/tolower_l.texi.
89769         * doc/posix-functions/toupper_l.texi: Renamed from
89770         doc/glibc-functions/toupper_l.texi.
89771         * doc/posix-functions/towctrans_l.texi: Renamed from
89772         doc/glibc-functions/towctrans_l.texi.
89773         * doc/posix-functions/towlower_l.texi: Renamed from
89774         doc/glibc-functions/towlower_l.texi.
89775         * doc/posix-functions/towupper_l.texi: Renamed from
89776         doc/glibc-functions/towupper_l.texi.
89777         * doc/posix-functions/uselocale.texi: Renamed from
89778         doc/glibc-functions/uselocale.texi.
89779         * doc/posix-functions/vdprintf.texi: Renamed from
89780         doc/glibc-functions/vdprintf.texi.
89781         * doc/posix-functions/wcpcpy.texi:
89782         Renamed from doc/glibc-functions/wcpcpy.texi.
89783         * doc/posix-functions/wcpncpy.texi: Renamed from
89784         doc/glibc-functions/wcpncpy.texi.
89785         * doc/posix-functions/wcscasecmp.texi: Renamed from
89786         doc/glibc-functions/wcscasecmp.texi.
89787         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
89788         doc/glibc-functions/wcscasecmp_l.texi.
89789         * doc/posix-functions/wcscoll_l.texi: Renamed from
89790         doc/glibc-functions/wcscoll_l.texi.
89791         * doc/posix-functions/wcsdup.texi: Renamed from
89792         doc/glibc-functions/wcsdup.texi.
89793         * doc/posix-functions/wcsncasecmp.texi: Renamed from
89794         doc/glibc-functions/wcsncasecmp.texi.
89795         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
89796         doc/glibc-functions/wcsncasecmp_l.texi.
89797         * doc/posix-functions/wcsnlen.texi: Renamed from
89798         doc/glibc-functions/wcsnlen.texi.
89799         * doc/posix-functions/wcsnrtombs.texi: Renamed from
89800         doc/glibc-functions/wcsnrtombs.texi.
89801         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
89802         doc/glibc-functions/wcsxfrm_l.texi.
89803         * doc/posix-functions/wctrans_l.texi: Renamed from
89804         doc/glibc-functions/wctrans_l.texi.
89805         * doc/posix-functions/wctype_l.texi: Renamed from
89806         doc/glibc-functions/wctype_l.texi.
89807         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89808         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
89809         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
89810         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
89811         these subsections.
89812         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
89813         Remove sections.
89815 2008-12-14  Bruno Haible  <bruno@clisp.org>
89817         Update doc for POSIX:2008.
89818         * doc/posix-functions/*.texi: Update URL of POSIX specification.
89820 2008-12-14  Bruno Haible  <bruno@clisp.org>
89822         Update doc for POSIX:2008.
89823         * doc/pastposix-functions/bcmp.texi: Renamed from
89824         doc/posix-functions/bcmp.texi.
89825         * doc/pastposix-functions/bcopy.texi: Renamed from
89826         doc/posix-functions/bcopy.texi.
89827         * doc/pastposix-functions/bsd_signal.texi: Renamed from
89828         doc/posix-functions/bsd_signal.texi.
89829         * doc/pastposix-functions/bzero.texi: Renamed from
89830         doc/posix-functions/bzero.texi.
89831         * doc/pastposix-functions/ecvt.texi: Renamed from
89832         doc/posix-functions/ecvt.texi.
89833         * doc/pastposix-functions/fcvt.texi: Renamed from
89834         doc/posix-functions/fcvt.texi.
89835         * doc/pastposix-functions/ftime.texi: Renamed from
89836         doc/posix-functions/ftime.texi.
89837         * doc/pastposix-functions/gcvt.texi: Renamed from
89838         doc/posix-functions/gcvt.texi.
89839         * doc/pastposix-functions/getcontext.texi: Renamed from
89840         doc/posix-functions/getcontext.texi.
89841         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
89842         doc/posix-functions/gethostbyaddr.texi.
89843         * doc/pastposix-functions/gethostbyname.texi: Renamed from
89844         doc/posix-functions/gethostbyname.texi.
89845         * doc/pastposix-functions/getwd.texi: Renamed from
89846         doc/posix-functions/getwd.texi.
89847         * doc/pastposix-functions/h_errno.texi: Renamed from
89848         doc/posix-functions/h_errno.texi.
89849         * doc/pastposix-functions/index.texi: Renamed from
89850         doc/posix-functions/index.texi.
89851         * doc/pastposix-functions/makecontext.texi: Renamed from
89852         doc/posix-functions/makecontext.texi.
89853         * doc/pastposix-functions/mktemp.texi: Renamed from
89854         doc/posix-functions/mktemp.texi.
89855         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
89856         doc/posix-functions/pthread_attr_getstackaddr.texi.
89857         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
89858         doc/posix-functions/pthread_attr_setstackaddr.texi.
89859         * doc/pastposix-functions/rindex.texi: Renamed from
89860         doc/posix-functions/rindex.texi.
89861         * doc/pastposix-functions/scalb.texi: Renamed from
89862         doc/posix-functions/scalb.texi.
89863         * doc/pastposix-functions/setcontext.texi: Renamed from
89864         doc/posix-functions/setcontext.texi.
89865         * doc/pastposix-functions/swapcontext.texi: Renamed from
89866         doc/posix-functions/swapcontext.texi.
89867         * doc/pastposix-functions/ualarm.texi: Renamed from
89868         doc/posix-functions/ualarm.texi.
89869         * doc/pastposix-functions/usleep.texi: Renamed from
89870         doc/posix-functions/usleep.texi.
89871         * doc/pastposix-functions/vfork.texi: Renamed from
89872         doc/posix-functions/vfork.texi.
89873         * doc/pastposix-functions/wcswcs.texi: Renamed from
89874         doc/posix-functions/wcswcs.texi.
89875         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
89876         (Function Substitutes): Update.
89878 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89880         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
89881         m4/strerror.m4.
89883 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89884             Bruno Haible  <bruno@clisp.org>
89886         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
89888 2008-12-13  Bruno Haible  <bruno@clisp.org>
89890         * modules/strtoull (Depends-on): Remove unistd.
89892 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89894         * modules/strtoull (Depends-on): Add stdlib.
89896 2008-12-11  Simon Josefsson  <simon@josefsson.org>
89898         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
89900 2008-12-10  Jim Meyering  <meyering@redhat.com>
89902         gl_ASSERT: don't say assertions are disabled when they're not
89903         * m4/assert.m4 (gl_ASSERT): Do not make configure report
89904         "checking whether to enable assertions... no", when they are in
89905         fact enabled.  This is solely a bug in the output of configure.
89906         In spite of saying "no", NDEBUG was not defined in that case.
89907         Also, as noted by Eric Blake, leave assertions enabled upon
89908         --enable-assert=INVALID.
89910 2008-12-10  Bruno Haible  <bruno@clisp.org>
89912         Change MODULES.html to refer to POSIX:2008 where possible.
89913         * MODULES.html.sh (POSIX2008_URL): New variable.
89914         (posix_headers): Remove sys/timeb, ucontext.
89915         (posix2001_headers): New variable.
89916         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
89917         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
89918         index, makecontext, mktemp, pthread_attr_getstackaddr,
89919         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
89920         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
89921         (posix2001_functions): New variable.
89922         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
89923         otherwise.
89925 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89927         add missing include to parse-duration.c
89928         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
89929         * modules/parse-duration (Depends-on): Add xalloc.
89931         fix sed script reading maint.mk
89932         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
89933         (syntax-check-rules): Use it.
89935 2008-12-09  Bruno Haible  <bruno@clisp.org>
89937         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
89938         MacOS X 10.4/PowerPC.
89939         Reported by Simon Josefsson.
89941 2008-12-08  Jim Meyering  <meyering@redhat.com>
89943         work around mingw's lack of some S_IF definitions
89944         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
89945         Reported by Simon Josefsson.
89947 2008-12-08  Bruno Haible  <bruno@clisp.org>
89949         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
89950         applied to variables. Needed on MacOS X 10.4/PowerPC.
89951         Reported by Simon Josefsson.
89953 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
89954         and Eric Blake  <ebb9@byu.net>
89956         assert: honor --enable-assert
89957         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
89958         order to honor --enable-assert, rather than treating it as a
89959         synonym for --disable-assert.
89961 2008-12-08  Jim Meyering  <meyering@redhat.com>
89963         * lib/posixtm.c: Remove now-useless declaration of mktime.
89965         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
89967 2008-12-07  Bruno Haible  <bruno@clisp.org>
89969         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
89970         test_once): Mark functions as static.
89971         * tests/test-tls.c (test_tls): Likewise.
89973 2008-12-07  Bruno Haible  <bruno@clisp.org>
89975         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
89976         iconv_register_autodetect.
89978 2008-12-07  Jim Meyering  <meyering@redhat.com>
89980         posixtm.c: avoid a warning
89981         * lib/posixtm.c (posixtime): Don't initialize tm0.
89982         It's no longer needed to placate gcc4's -Wuninitialized,
89983         and the attempt to placate would elicit a new warning.
89985         unicodeio.c: mark unused parameters
89986         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89987         (fallback_failure_callback): Likewise.
89989 2008-12-07  Bruno Haible  <bruno@clisp.org>
89991         * gnulib-tool (func_create_testdir): When building the tests
89992         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
89993         Reported by Simon Josefsson.
89995 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89997         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
89999 2008-12-06  Bruno Haible  <bruno@clisp.org>
90001         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
90002         Suggested by Eric Blake.
90004 2008-12-06  Bruno Haible  <bruno@clisp.org>
90006         Fix a c-stack test failure on MacOS X.
90007         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
90008         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
90009         handler for SIGBUS as well.
90010         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
90011         install a signal handler for SIGBUS as well.
90012         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
90014 2008-12-06  Bruno Haible  <bruno@clisp.org>
90016         Advocacy documentation.
90017         * doc/gnulib-intro.texi (Benefits): New section.
90018         * doc/gnulib.texi: Update.
90020 2008-12-06  Bruno Haible  <bruno@clisp.org>
90022         Document the 'manywarnings' module.
90023         * doc/manywarnings.texi: New file.
90024         * doc/gnulib.texi: Include it.
90026 2008-12-05  Eric Blake  <ebb9@byu.net>
90028         tests: silence some gcc warnings
90029         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
90030         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
90031         type mismatches.
90033 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90034             Bruno Haible  <bruno@clisp.org>
90036         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
90038 2008-11-29  Jim Meyering  <meyering@redhat.com>
90040         unicodeio.c: mark unused parameters
90041         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
90042         (fallback_failure_callback): Likewise.
90044         fts: fix a thinko
90045         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
90046         (set_stat_type): Return S_IF*-valued "type" directly.
90047         Prompted by James Youngman's spotting a related bug.
90048         Confirmed by further testing through find.
90050         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
90051         * lib/fts.c (D_TYPE): Define.
90052         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
90053         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
90054         (s_ifmt_shift_bits): New function.
90055         (set_stat_type): New function.
90056         (fts_build): When not calling fts_stat, call set_stat_type
90057         to propagate dirent.d_type info to fts_read caller.
90058         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
90059         fts_statp->st_mode type information may be valid.
90061 2008-11-28  Simon Josefsson  <simon@josefsson.org>
90063         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
90064         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
90065         <sds@gnu.org>.
90067 2008-11-20  Bruno Haible  <bruno@clisp.org>
90069         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
90070         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
90071         INCLUDE_NEXT.
90072         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
90073         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
90074         * modules/math (Makefile.am): Substitute
90075         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
90076         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90078 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
90079             Bruno Haible  <bruno@clisp.org>
90081         * lib/stdint.in.h: Define all type macros so that their expansion is
90082         a single typedef'ed token. Fixes a compilation failure in Boost which
90083         does "using ::int8_t;".
90085 2008-11-18  Simon Josefsson  <simon@josefsson.org>
90087         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
90088         gl_MANYWARN_ALL_GCC.
90089         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
90090         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
90091         * modules/manywarnings: New file.
90092         * MODULES.html.sh: Mention manywarnings module.
90094 2008-11-18  Bruno Haible  <bruno@clisp.org>
90096         * doc/gnulib-tool.texi (Unit tests): New section.
90098 2008-11-18  Simon Josefsson  <simon@josefsson.org>
90100         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
90101         paths like 'lib/po/foo.po'.
90103 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90105         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
90106         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
90108 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90110         * m4/warnings.m4: Use CPPFLAGS to really check whether the
90111         parameter works.
90113 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90115         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
90117 2008-11-17  Bruce Korb  <bkorb@gnu.org>
90119         * modules/parse-duration-tests: New file.
90120         * tests/test-parse-duration.sh: New file.
90121         * tests/test-parse-duration.c: New file.
90123         New module 'parse-duration'.
90124         * lib/parse-duration.h: New file.
90125         * lib/parse-duration.c: New file.
90126         * modules/parse-duration: New file.
90128 2008-11-17  Bruno Haible  <bruno@clisp.org>
90130         * tests/test-select-out.sh: Comment out the first pipe test.
90131         Reported by Simon Josefsson.
90133 2008-11-17  Bruno Haible  <bruno@clisp.org>
90135         * modules/getaddrinfo (Depends-on): Add servent, hostent.
90136         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
90137         gl_HOSTENT.
90139 2008-11-17  Bruno Haible  <bruno@clisp.org>
90141         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
90142         -lnetwork and -lnet. Needed for Haiku and BeOS.
90144 2008-11-16  Bruno Haible  <bruno@clisp.org>
90146         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
90148 2008-11-16  Bruno Haible  <bruno@clisp.org>
90150         Avoid test failure on Haiku.
90151         * tests/test-fsync.c: Include <errno.h>.
90152         (main): Don't require that fsync (0) fails.
90154 2008-11-15  Bruno Haible  <bruno@clisp.org>
90156         New module 'hostent'.
90157         * modules/hostent: New file.
90158         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
90160 2008-11-15  Bruno Haible  <bruno@clisp.org>
90162         New module 'servent'.
90163         * modules/servent: New file.
90164         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
90166 2008-11-15  Bruno Haible  <bruno@clisp.org>
90168         Avoid generating same test program with two different rules.
90169         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
90170         test-frexp to test-frexp-nolibm.
90171         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
90172         test-frexpl to test-frexpl-nolibm.
90174 2008-11-15  Bruno Haible  <bruno@clisp.org>
90176         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
90177         $(FREXPL_LIBM).
90179 2008-11-15  Bruno Haible  <bruno@clisp.org>
90181         * lib/netdb.in.h: Activate the definitions also when the system's
90182         <netdb.h> has 'struct addrinfo'.
90183         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
90184         EAI_OVERFLOW or AI_NUMERICSERV.
90185         * doc/posix-headers/netdb.texi: Document the problem.
90187 2008-11-15  Bruno Haible  <bruno@clisp.org>
90189         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
90191         Make the 'sched' module work on platforms where <sched.h> exists but
90192         is incomplete (such as Haiku).
90193         * lib/sched.in.h; Include the system's <sched.h> if it exists.
90194         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
90195         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
90196         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
90197         HAVE_STRUCT_SCHED_PARAM.
90198         * modules/sched (Depends-on): Add include_next.
90199         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
90200         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
90201         * doc/posix-headers/sched.texi: Document the issue.
90203 2008-11-13  Jim Meyering  <meyering@redhat.com>
90205         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
90206         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
90207         test would fail due to the difference in the Report bugs to ...
90208         line.  The expected address is empty, "<>", while the actual
90209         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
90211 2008-11-12  Bruno Haible  <bruno@clisp.org>
90213         lstat: don't compile lstat.c on systems lacking lstat
90214         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
90215         which don't have lstat; this is handled by lib/sys_stat.in.h already.
90216         Reported by Daniel P. Berrange via Jim Meyering.
90218 2008-11-12  Jim Meyering  <meyering@redhat.com>
90220         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
90222 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90224         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
90225         instead.
90227 2008-11-12  Bruno Haible  <bruno@clisp.org>
90229         * lib/unicodeio.c: Include unistr.h.
90230         (utf8_wctomb): Remove function.
90231         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
90233 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90235         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
90236         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
90237         <bruno@clisp.org>.
90238         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
90240 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90242         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
90243         * doc/gnulib.texi: Add section for warnings.
90245 2008-11-11  Bruno Haible  <bruno@clisp.org>
90247         * lib/sockets.h: Add a comment.
90249 2008-11-11  Karl Berry  <karl@gnu.org>
90251         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
90253 2008-11-11  Eric Blake  <ebb9@byu.net>
90255         fdl.texi: avoid git symlinks
90256         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
90258 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90260         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
90262 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90264         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
90265         (gl_WARN_ADD): Substitute $2 if literal.
90267 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90269         * m4/warning.m4: Remove.
90271 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90273         * m4/warnings.m4: Almost complete rewrite. :-)
90275 2008-11-10  Simon Josefsson  <simon@josefsson.org>
90277         * modules/warnings: New module.
90278         * m4/warnings.m4: New file.
90279         * MODULES.html.sh: Mention warnings module.
90280         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
90281         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90283 2008-11-10  Eric Blake  <ebb9@byu.net>
90285         fdl.texi: make a symlink to the latest version
90286         * doc/standards.texi: Revert today's earlier change.
90287         * doc/fdl-1.2.texi: Rename from old fdl.texi...
90288         * doc/fdl.texi: ...and replace this with a symlink to the newer
90289         fdl-1.3.texi.
90291 2008-11-10  Bruno Haible  <bruno@clisp.org>
90293         * tests/test-select-fd.c (main): Accept the result file name as fourth
90294         argument.
90295         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
90296         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
90298 2008-11-10  Bruno Haible  <bruno@clisp.org>
90300         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
90301         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
90302         as autoconf-substituted macros.
90303         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
90304         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
90305         gl_NETDB_H_DEFAULTS. Set these variables.
90306         * modules/netdb (Makefile.am): Substitute these variables.
90308 2008-11-10  Eric Blake  <ebb9@byu.net>
90310         standards.texi: include correct file for FDL 1.3
90311         * doc/standards.texi (GNU Free Documentation License): Change
90312         include file to pull in FDL 1.3, not 1.2.
90314         fdl.texi: revert accidental change to license
90315         * doc/fdl.texi: This is FDL 1.2, not 1.3.
90317 2008-11-10  Bruno Haible  <bruno@clisp.org>
90319         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
90320         cross-compiling guesses also when the native compile gives no result.
90322 2008-11-10  Bruno Haible  <bruno@clisp.org>
90324         * lib/spawni.c (__spawni): Force variable into the stack.
90326 2008-11-10  Bruno Haible  <bruno@clisp.org>
90328         Add support for Haiku.
90329         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
90330         glibc and BeOS, but also on Haiku.
90331         * lib/fpurge.c (fpurge): Likewise.
90332         * lib/freadable.c (freadable): Likewise.
90333         * lib/freadahead.c (freadahead): Likewise.
90334         * lib/freading.c (freading): Likewise.
90335         * lib/freadptr.c (freadptr): Likewise.
90336         * lib/freadseek.c (freadptrinc): Likewise.
90337         * lib/fseeko.c (rpl_fseeko): Likewise.
90338         * lib/fseterr.c (fseterr): Likewise.
90339         * lib/fwritable.c (fwritable): Likewise.
90340         * lib/fwriting.c (fwriting): Likewise.
90341         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
90343 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
90345         * lib/config.charset: Treat Haiku like BeOS.
90347 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
90349         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
90350         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
90352 2008-11-08  Bruno Haible  <bruno@clisp.org>
90354         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
90355         AC_CACHE_CHECK.
90357 2008-11-08  Bruno Haible  <bruno@clisp.org>
90359         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
90361 2008-11-08  Bruno Haible  <bruno@clisp.org>
90363         * tests/test-select-fd.c: New file.
90364         * tests/test-select-in.sh: New file.
90365         * tests/test-select-out.sh: New file.
90366         * tests/test-select-stdin.c: New file.
90367         * modules/select-tests (Files): Add the new files.
90368         (Depends-on): Add gettimeofday.
90369         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
90370         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
90371         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
90373 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
90374             Bruno Haible  <bruno@clisp.org>
90376         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
90378 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
90380         * build-aux/pmccabe2html: Added support for C++ source files.
90382 2008-11-05  Ben Pfaff  <blp@gnu.org>
90384         Fix lib/close.c build on Windows.
90385         * modules/close (Files): Add lib/w32sock.h.
90387 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
90389         Accept Bison's NEWS format.
90390         * build-aux/announce-gen (print_news_deltas): Tweak
90391         $re_prefix.
90393 2008-11-04  Bruno Haible  <bruno@clisp.org>
90395         * modules/random_r (Maintainer): Add glibc.
90397 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90399         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
90400         by karl@freefriends.org (Karl Berry).
90401         * doc/alloca.texi: Likewise.
90402         * doc/c-ctype.texi: Likewise.
90403         * doc/c-strcase.texi: Likewise.
90404         * doc/c-strcaseeq.texi: Likewise.
90405         * doc/c-strcasestr.texi: Likewise.
90406         * doc/c-strstr.texi: Likewise.
90407         * doc/c-strtod.texi: Likewise.
90408         * doc/c-strtold.texi: Likewise.
90409         * doc/ctime.texi: Likewise.
90410         * doc/error.texi: Likewise.
90411         * doc/fdl.texi: Likewise.
90412         * doc/gcd.texi: Likewise.
90413         * doc/getdate.texi: Likewise.
90414         * doc/gnulib-intro.texi: Likewise.
90415         * doc/gnulib-tool.texi: Likewise.
90416         * doc/gnulib.texi: Likewise.
90417         * doc/inet_ntoa.texi: Likewise.
90418         * doc/maintain.texi: Likewise.
90419         * doc/make-stds.texi: Likewise.
90420         * doc/quote.texi: Likewise.
90421         * doc/regexprops-generic.texi: Likewise.
90422         * doc/standards.texi: Likewise.
90423         * doc/verify.texi: Likewise.
90424         * doc/visibility.texi: Likewise.
90425         * doc/gnulib.texi (GNU Free Documentation License): Include
90426         fdl-1.3.texi instead of fdl.texi.
90428 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90430         * doc/fdl-1.3.texi: New file, from
90431         <http://www.gnu.org/licenses/fdl-1.3.texi>.
90432         * modules/fdl-1.3: Add.
90433         * MODULES.html.sh: Add fdl-1.3.
90435 2008-11-03  Bruno Haible  <bruno@clisp.org>
90437         Make determination of absolute name of header file work with AIX xlc.
90438         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
90439         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
90440         preprocessing.
90441         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
90442         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
90444 2008-11-03  Simon Josefsson  <simon@josefsson.org>
90446         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
90447         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
90448         <ludo@gnu.org>.
90450 2008-11-02  Bruno Haible  <bruno@clisp.org>
90452         Mark 'strpbrk' obsolete.
90453         * modules/strpbrk (Status, Notice): New sections.
90454         * modules/strtok_r (Depends-on): Add strpbrk.
90456 2008-11-02  Bruno Haible  <bruno@clisp.org>
90458         Mark 'strdup' obsolete.
90459         * modules/strdup (Status, Notice): New sections.
90460         * modules/findprog (Depends-on): Add strdup.
90461         * modules/getaddrinfo (Depends-on): Likewise.
90462         * modules/localename (Depends-on): Likewise.
90463         * modules/relocatable-lib (Depends-on): Likewise.
90464         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
90465         * modules/relocatable-prog (Depends-on): Likewise.
90466         * modules/trim (Depends-on): Likewise.
90467         * modules/unictype/gen-ctype (Depends-on): Likewise.
90468         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90470 2008-11-02  Bruno Haible  <bruno@clisp.org>
90472         Mark 'strcspn' obsolete.
90473         * modules/strcspn (Status, Notice): New sections.
90475 2008-11-02  Bruno Haible  <bruno@clisp.org>
90477         Mark 'rmdir' obsolete.
90478         * modules/rmdir (Status, Notice): New sections.
90479         * modules/clean-temp (Depends-on): Add rmdir.
90480         * modules/openat (Depends-on): Likewise.
90482 2008-11-02  Bruno Haible  <bruno@clisp.org>
90484         Mark 'raise' obsolete.
90485         * modules/raise (Status, Notice): New sections.
90486         (Include): Specify <signal.h>.
90487         * modules/stdio (Depends-on): Add raise.
90488         * modules/write (Depends-on): Likewise.
90490 2008-11-02  Bruno Haible  <bruno@clisp.org>
90492         Mark 'memset' obsolete.
90493         * modules/memset (Status, Notice): New sections.
90495 2008-11-02  Bruno Haible  <bruno@clisp.org>
90497         Mark 'memmove' obsolete.
90498         * modules/memmove (Status, Notice): New sections.
90499         * modules/argp (Depends-on): Add memmove.
90500         * modules/argz (Depends-on): Likewise.
90501         * modules/canonicalize (Depends-on): Likewise.
90502         * modules/canonicalize-lgpl (Depends-on): Likewise.
90503         * modules/fts (Depends-on): Likewise.
90504         * modules/getcwd (Depends-on): Likewise.
90505         * modules/human (Depends-on): Likewise.
90506         * modules/regex (Depends-on): Likewise.
90507         * modules/striconveh (Depends-on): Likewise.
90508         * modules/trim (Depends-on): Likewise.
90509         * modules/unistr/u8-move (Depends-on): Likewise.
90510         * modules/unistr/u16-move (Depends-on): Likewise.
90511         * modules/unistr/u32-move (Depends-on): Likewise.
90513 2008-11-02  Bruno Haible  <bruno@clisp.org>
90515         Mark 'memcpy' obsolete.
90516         * modules/memcpy (Status, Notice): New sections.
90518 2008-11-02  Bruno Haible  <bruno@clisp.org>
90520         Mark 'memcmp' obsolete.
90521         * modules/memcmp (Status, Notice): New sections.
90522         * modules/argmatch (Depends-on): Add memchr.
90523         * modules/backupfile (Depends-on): Likewise.
90524         * modules/c-strcasestr (Depends-on): Likewise.
90525         * modules/crypto/des (Depends-on): Likewise.
90526         * modules/csharpcomp (Depends-on): Likewise.
90527         * modules/fnmatch (Depends-on): Likewise.
90528         * modules/git-merge-changelog (Depends-on): Likewise.
90529         * modules/isnand (Depends-on): Likewise.
90530         * modules/isnand-nolibm (Depends-on): Likewise.
90531         * modules/isnanf (Depends-on): Likewise.
90532         * modules/isnanf-nolibm (Depends-on): Likewise.
90533         * modules/isnanl (Depends-on): Likewise.
90534         * modules/isnanl-nolibm (Depends-on): Likewise.
90535         * modules/mbchar (Depends-on): Likewise.
90536         * modules/memcoll (Depends-on): Likewise.
90537         * modules/quotearg (Depends-on): Likewise.
90538         * modules/regex (Depends-on): Likewise.
90539         * modules/relocatable-prog (Depends-on): Likewise.
90540         * modules/same (Depends-on): Likewise.
90541         * modules/signbit (Depends-on): Likewise.
90542         * modules/strcasestr-simple (Depends-on): Likewise.
90543         * modules/unictype/gen-ctype (Depends-on): Likewise.
90544         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90545         * modules/uniname/uniname (Depends-on): Likewise.
90546         * modules/unistr/u8-cmp (Depends-on): Likewise.
90548 2008-11-02  Bruno Haible  <bruno@clisp.org>
90550         Mark 'memchr' obsolete.
90551         * modules/memchr (Status, Notice): New sections.
90552         * modules/argp (Depends-on): Add memchr.
90553         * modules/base64 (Depends-on): Likewise.
90554         * modules/c-strcasestr (Depends-on): Likewise.
90555         * modules/chdir-long (Depends-on): Likewise.
90556         * modules/fnmatch (Depends-on): Likewise.
90557         * modules/getsubopt (Depends-on): Likewise.
90558         * modules/git-merge-changelog (Depends-on): Likewise.
90559         * modules/glob (Depends-on): Likewise.
90560         * modules/strcasestr-simple (Depends-on): Likewise.
90561         * modules/strnlen (Depends-on): Likewise.
90563 2008-11-02  Bruno Haible  <bruno@clisp.org>
90565         Mark 'atexit' obsolete.
90566         * modules/atexit (Status, Notice): New sections.
90567         * modules/chdir-long (Depends-on): Add atexit.
90568         * modules/wait-process (Depends-on): Likewise.
90570 2008-11-02  Bruno Haible  <bruno@clisp.org>
90572         * gnulib-tool: New option --with-obsolete.
90573         (func_usage): Document it.
90574         (func_modules_transitive_closure): Drop obsolete dependencies if
90575         incobsolete is not true.
90576         (func_import): Read and save the incobsolete variable to the cache.
90578 2008-11-02  Bruno Haible  <bruno@clisp.org>
90580         * modules/TEMPLATE-EXTENDED: New field 'Status'.
90581         * gnulib-tool: New option --extract-status.
90582         (func_usage): Document it.
90583         (sed_extract_prog): Recognize it.
90584         (func_get_status): New function.
90586 2008-10-30  Simon Josefsson  <simon@josefsson.org>
90588         * modules/sockets (License): Change from LGPL to LGPLv2+.
90590 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90592         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
90594 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90596         * MODULES.html.sh (Support for systems lacking POSIX:2001):
90597         Mention times and sys_times.
90598         * modules/sys_times, modules/sys_times-tests: New modules.
90599         * modules/times, modules/times-tests: Likewise
90600         * m4/sys_times_h.m4: New file.
90601         * lib/sys_times.in.h: Likewise
90602         * lib/times.c: Likewise.
90603         * tests/test-sys_times.c: Likewise.
90604         * tests/test-times.c: Likewise.
90605         * doc/posix-headers/sys_times.texi: Update.
90606         * doc/posix-functions/times.texi: Update.
90608 2008-10-28  Jim Meyering  <meyering@redhat.com>
90610         * modules/tempname (Depends-on): Add lstat.
90612         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
90614 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90616         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
90617         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
90618         using idiom used elsewhere in gnulib.
90620 2008-10-27  Jim Meyering  <meyering@redhat.com>
90622         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
90624 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90626         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
90627         TESTS_ENVIRONMENT, for shell scripts that needs to call built
90628         programs.
90629         * tests/test-argp-2.sh: Use $EXEEXT when needed.
90631 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90633         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
90635 2008-10-27  Bruno Haible  <bruno@clisp.org>
90637         * tests/test-lstat.c: Include <stdio.h>.
90639 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90641         * modules/lstat-tests: New module.
90642         * tests/test-lstat.c: New file.
90644 2008-10-26  Jim Meyering  <meyering@redhat.com>
90646         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
90648 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90649             Bruno Haible  <bruno@clisp.org>
90651         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
90652         * modules/configmake (Include): Add a note that the include must come
90653         after all system headers.
90654         * lib/javaversion.c: Include configmake.h after all other includes.
90656 2008-10-26  Bruno Haible  <bruno@clisp.org>
90658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
90659         HAVE_STRUCT_RANDOM_DATA to 1.
90660         (gl_STDLIB_H): Simplify.
90662 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90664         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
90665         substitute HAVE_STRUCT_RANDOM_DATA.
90666         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
90667         random_data.
90668         * modules/stdlib (Makefile.am): Substitute
90669         HAVE_STRUCT_RANDOM_DATA.
90671 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90673         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
90674         * doc/gnulib-intro.texi (Copyright): Likewise.
90676 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90678         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
90679         findings.
90681 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
90682             Bruno Haible  <bruno@clisp.org>
90684         * lib/unistd.in.h: Include <winsock2.h>.
90685         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
90686         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
90687         Provide dummy declarations.
90688         (gethostname): Override.
90689         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
90690         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
90691         gl_PREREQ_SYS_H_WINSOCK2.
90692         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
90693         * doc/posix-functions/gethostname.texi: More details.
90695 2008-10-25  Bruno Haible  <bruno@clisp.org>
90697         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90698         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
90699         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
90701         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
90702         here ...
90703         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
90704         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
90705         gl_UNISTD_H_DEFAULTS.
90707 2008-10-25  Eric Blake  <ebb9@byu.net>
90709         signbit: avoid spurious compiler failure
90710         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
90711         declarations inside function.
90713 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90714             Bruno Haible  <bruno@clisp.org>
90716         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
90717         * modules/random_r (Depends-on): Add stdint.
90719 2008-10-24  Bruno Haible  <bruno@clisp.org>
90721         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
90722         Eggert.
90723         * modules/strerror (License): Likewise.
90725 2008-10-24  Jim Meyering  <meyering@redhat.com>
90727         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
90728         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
90730 2008-10-24  Eric Blake  <ebb9@byu.net>
90732         getgroups: fix compilation when getgroups is available
90733         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
90734         but with <config.h> override of getgroups disabled.
90736 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90738         * doc/gnulib.texi (Header files): Add note about C++ problems.
90739         Explained by Bruno Haible <bruno@clisp.org>.
90741 2008-10-23  Bruno Haible  <bruno@clisp.org>
90743         Define a dummy SA_NODEFER macro on Interix.
90744         * lib/signal.in.h (SA_NODEFER): Define fallback.
90745         Reported by Aleksey Cheusov <cheusov@tut.by> via
90746         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
90748 2008-10-23  Bruno Haible  <bruno@clisp.org>
90750         * modules/freadahead (License): Change to LGPLv2+.
90751         Suggested by Simon Josefsson.
90753 2008-10-23  Jim Meyering  <meyering@redhat.com>
90755         random_r: new module
90756         * modules/random_r: New file.
90757         * m4/random_r.m4: New file.
90758         * lib/random_r.c: New file, from glibc.
90759         * modules/random_r-tests: New file.
90760         * tests/test-random_r.c: New file.
90761         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
90762          Declare.
90763         (RAND_MAX): Define.
90764         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
90765         * modules/stdlib: Substitute them, too.
90766         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
90767         * doc/glibc-functions/initstate_r.texi: Mention the new module.
90768         * doc/glibc-functions/random_r.texi: Likewise.
90769         * doc/glibc-functions/setstate_r.texi: Likewise.
90770         * doc/glibc-functions/srandom_r.texi: Likewise.
90771         * config/srclist.txt: Mention it.
90773 2008-10-23  David Lutterkort  <lutter@redhat.com>
90775         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
90776         link requirement
90778 2008-10-23  Jim Meyering  <meyering@redhat.com>
90780         selinux-h: mark parameters of stub functions as intentionally unused
90781         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
90782         * lib/se-context.in.h: Likewise.
90784 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90786         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
90788 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90790         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
90792 2008-10-22  Eric Blake  <ebb9@byu.net>
90794         glthread/thread: avoid compiler warning
90795         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
90796         Add unreachable abort to silence compiler.
90798 2008-10-22  Eric Blake  <ebb9@byu.net>
90800         netdb: also supply struct addrinfo for cygwin 1.5.x
90801         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
90802         older cygwin.
90803         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
90804         cygwin.
90805         * doc/posix-headers/netdb.texi (netdb.h): Document this.
90807 2008-10-22  Bruno Haible  <bruno@clisp.org>
90809         * users.txt: Update entry about pspp.
90811 2008-10-21  Bruno Haible  <bruno@clisp.org>
90813         Simplification.
90814         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
90815         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
90817         Simplification.
90818         * lib/ioctl.c (ioctl): Don't undefine.
90819         * lib/socket.c (socket): Don't undefine.
90821         Remove unused module indicator macros.
90822         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
90823         GNULIB_$1 as a C macro.
90825         * doc/posix-functions/close.texi: Undo last change.
90826         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
90827         Windows platforms.
90829 2008-10-21  Bruno Haible  <bruno@clisp.org>
90831         Add gethostname() declaration to <unistd.h>.
90832         * lib/unistd.in.h (gethostname): New declaration.
90833         * lib/gethostname.c: Include <unistd.h>.
90834         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
90835         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
90836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
90837         and HAVE_GETHOSTNAME.
90838         * modules/gethostname (Depends-on): Add unistd.
90839         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90840         (Include): Specify <unistd.h>.
90841         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
90842         HAVE_GETHOSTNAME.
90843         * tests/test-gethostname.c: Include <unistd.h> first.
90845 2008-10-21  Bruno Haible  <bruno@clisp.org>
90847         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
90848         * modules/select-tests (Depends-on): Likewise.
90849         Reported by Simon Josefsson.
90851 2008-10-21  Simon Josefsson  <simon@josefsson.org>
90853         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
90854         * lib/accept.c: New file, based on winsock.c.
90855         * lib/bind.c: New file, based on winsock.c.
90856         * lib/connect.c: New file, based on winsock.c.
90857         * lib/getpeername.c: New file, based on winsock.c.
90858         * lib/getsockname.c: New file, based on winsock.c.
90859         * lib/getsockopt.c: New file, based on winsock.c.
90860         * lib/ioctl.c: New file, based on winsock.c.
90861         * lib/listen.c: New file, based on winsock.c.
90862         * lib/recv.c: New file, based on winsock.c.
90863         * lib/recvfrom.c: New file, based on winsock.c.
90864         * lib/send.c: New file, based on winsock.c.
90865         * lib/sendto.c: New file, based on winsock.c.
90866         * lib/setsockopt.c: New file, based on winsock.c.
90867         * lib/shutdown.c: New file, based on winsock.c.
90868         * lib/socket.c: New file, based on winsock.c.
90869         * lib/w32sock.h: New file, based on winsock.c.
90870         * lib/winsock.c: Remove file.
90871         * modules/accept: Likewise.
90872         * modules/bind: Likewise.
90873         * modules/connect: Likewise.
90874         * modules/getpeername: Likewise.
90875         * modules/getsockname: Likewise.
90876         * modules/getsockopt: Likewise.
90877         * modules/ioctl: Likewise.
90878         * modules/listen: Likewise.
90879         * modules/recv: Likewise.
90880         * modules/recvfrom: Likewise.
90881         * modules/send: Likewise.
90882         * modules/sendto: Likewise.
90883         * modules/setsockopt: Likewise.
90884         * modules/shutdown: Likewise.
90885         * modules/socket: Use socket.c instead of winsock.c.
90886         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
90887         * doc/posix-functions/accept.texi: Doc fix.
90888         * doc/posix-functions/bind.texi: Doc fix.
90889         * doc/posix-functions/close.texi: Doc fix.
90890         * doc/posix-functions/connect.texi: Doc fix.
90891         * doc/posix-functions/getpeername.texi: Doc fix.
90892         * doc/posix-functions/getsockname.texi: Doc fix.
90893         * doc/posix-functions/getsockopt.texi: Doc fix.
90894         * doc/posix-functions/ioctl.texi: Doc fix.
90895         * doc/posix-functions/listen.texi: Doc fix.
90896         * doc/posix-functions/recv.texi: Doc fix.
90897         * doc/posix-functions/recvfrom.texi: Doc fix.
90898         * doc/posix-functions/send.texi: Doc fix.
90899         * doc/posix-functions/sendto.texi: Doc fix.
90900         * doc/posix-functions/setsockopt.texi: Doc fix.
90901         * doc/posix-functions/shutdown.texi: Doc fix.
90902         * doc/posix-functions/socket.texi: Doc fix.
90904 2008-10-20  Bruno Haible  <bruno@clisp.org>
90906         Take into account the role of SIGABRT_COMPAT on Windows 2008.
90907         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
90908         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
90909         as an alias for SIGABRT.
90910         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
90911         (sigaction): Map it to SIGABRT.
90912         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
90914 2008-10-20  Bruno Haible  <bruno@clisp.org>
90916         * lib/fts.c: Don't include lstat.h.
90917         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
90919         Move the lstat() declaration to <sys/stat.h>.
90920         * lib/lstat.h: Remove file.
90921         * lib/sys_stat.in.h: Add special invocation convention.
90922         (lstat): New declaration.
90923         * lib/lstat.c (orig_lstat): New function.
90924         (rpl_lstat): Use orig_lstat instead of lstat.
90925         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
90926         AC_C_INLINE. Set REPLACE_LSTAT.
90927         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
90928         and REPLACE_LSTAT.
90929         * modules/lstat (Files): Remove lib/lstat.h.
90930         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90931         (Include): Specify <sys/stat.h> instead of lstat.h.
90932         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
90933         REPLACE_LSTAT.
90934         * NEWS: Mention the change.
90936 2008-10-20  Bruno Haible  <bruno@clisp.org>
90938         * modules/posix_spawn-tests: New file.
90939         * tests/test-posix_spawn3.c: New file.
90941 2008-10-20  Bruno Haible  <bruno@clisp.org>
90943         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
90944         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90945         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
90946         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90947         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
90949 2008-10-20  Bruno Haible  <bruno@clisp.org>
90951         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
90952         of posix_spawn on AIX 5.3.
90954 2008-10-20  Bruno Haible  <bruno@clisp.org>
90956         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
90958 2008-10-20  Bruno Haible  <bruno@clisp.org>
90960         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
90961         of AC_LANG_PROGRAM.
90963 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90965         * lib/netdb.in.h: Don't define GNU specific constants until they
90966         are supported or needed.  Reported by Bruno Haible
90967         <bruno@clisp.org>.
90969 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90971         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
90973 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90975         * lib/getaddrinfo.h: Remove file.
90976         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
90977         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
90978         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
90979         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
90980         * modules/netdb: Substitute GNULIB_GETADDRINFO.
90981         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
90982         * tests/test-getaddrinfo.c: Likewise.
90983         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
90984         * NEWS: Mention change.
90986 2008-10-19  Bruno Haible  <bruno@clisp.org>
90988         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
90990 2008-10-19  Bruno Haible  <bruno@clisp.org>
90992         * lib/wait-process.c: Include simply <sys/wait.h>.
90993         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
90994         WIFSTOPPED): Remove fallback definitions.
90995         * modules/wait-process (Depends-on): Add sys_wait.
90997         New module 'sys_wait'.
90998         * modules/sys_wait: New file.
90999         * lib/sys_wait.in.h: New file, partially copied from
91000         lib/wait-process.c.
91001         * m4/sys_wait_h.m4: New file.
91002         * doc/posix-headers/sys_wait.texi: Mention the new module.
91004 2008-10-19  Bruno Haible  <bruno@clisp.org>
91006         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
91008 2008-10-19  Bruno Haible  <bruno@clisp.org>
91010         Assume that waitpid() fills an 'int' status, not a 'union wait'.
91011         * lib/wait-process.c (WAIT_T): Remove type.
91012         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
91013         (wait_subprocess): Update.
91015 2008-10-19  Bruno Haible  <bruno@clisp.org>
91017         New module 'atoll'.
91018         * modules/atoll: New file.
91019         * lib/stdlib.in.h (atoll): New declaration.
91020         * lib/atoll.c: New file, from glibc with modifications.
91021         * m4/atoll.m4: New file.
91022         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
91023         HAVE_ATOLL.
91024         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
91025         * doc/posix-functions/atoll.texi: Mention the new module.
91027 2008-10-19  Bruno Haible  <bruno@clisp.org>
91029         Add strtoull() declaration to <stdlib.h>.
91030         * lib/stdlib.in.h (strtoull): New declaration.
91031         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
91032         Set HAVE_STRTOULL.
91033         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
91034         HAVE_STRTOULL.
91035         * modules/strtoull (Depends-on): Add stdlib.
91036         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91037         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
91038         HAVE_STRTOULL.
91040 2008-10-19  Bruno Haible  <bruno@clisp.org>
91042         Add strtoll() declaration to <stdlib.h>.
91043         * lib/stdlib.in.h (strtoll): New declaration.
91044         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
91045         Set HAVE_STRTOLL.
91046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
91047         HAVE_STRTOLL.
91048         * modules/strtoll (Depends-on): Add stdlib.
91049         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91050         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
91052 2008-10-19  Bruno Haible  <bruno@clisp.org>
91054         * modules/bcopy (Depends-on): Add strings.
91055         (Include): Specify <strings.h>.
91057 2008-10-19  Bruno Haible  <bruno@clisp.org>
91059         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
91061 2008-10-19  Bruno Haible  <bruno@clisp.org>
91063         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
91064         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
91065         mingw.
91067 2008-10-19  Bruno Haible  <bruno@clisp.org>
91069         * lib/atanl.c: Don't include isnanl.h.
91070         * lib/cosl.c: Likewise.
91071         * lib/ldexpl.c: Likewise.
91072         * lib/logl.c: Likewise.
91073         * lib/sinl.c: Likewise.
91074         * lib/sqrtl.c: Likewise.
91075         * lib/tanl.c: Likewise.
91077         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
91078         * lib/isnanf.h: Remove file.
91079         * lib/isnand.h: Remove file.
91080         * lib/isnanl.h: Remove file.
91081         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
91082         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
91083         macros.
91084         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
91085         HAVE_ISNANF, don't define it as a C macro.
91086         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
91087         HAVE_ISNAND, don't define it as a C macro.
91088         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
91089         HAVE_ISNANL, don't define it as a C macro.
91090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
91091         HAVE_ISNAN[FDL].
91092         * modules/isnanf (Files): Remove lib/isnanf.h.
91093         (Depends-on): Add math.
91094         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91095         (Include): Specify <math.h> instead of isnanf.h.
91096         * modules/isnand (Files): Remove lib/isnand.h.
91097         (Depends-on): Add math.
91098         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91099         (Include): Specify <math.h> instead of isnand.h.
91100         * modules/isnanl (Files): Remove lib/isnanl.h.
91101         (Depends-on): Add math.
91102         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91103         (Include): Specify <math.h> instead of isnanl.h.
91104         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
91105         HAVE_ISNAN[FDL].
91106         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
91107         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
91108         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
91109         * NEWS: Mention the change.
91111 2008-10-18  Bruno Haible  <bruno@clisp.org>
91113         Add getusershell(), setusershell(), endusershell() declarations to
91114         <unistd.h>.
91115         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
91116         declarations.
91117         * lib/getusershell.c: Include unistd.h.
91118         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
91119         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
91120         HAVE_GETUSERSHELL.
91121         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
91122         and HAVE_GETUSERSHELL.
91123         * modules/getusershell (Depends-on): Add unistd, extensions.
91124         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91125         (Include): Specify <unistd.h>.
91126         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
91127         HAVE_GETUSERSHELL.
91129 2008-10-18  Bruno Haible  <bruno@clisp.org>
91131         Add a getloadavg() declaration to <stdlib.h>.
91132         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
91133         getloadavg declaration.
91134         (getloadavg): New declaration.
91135         * lib/getloadavg.c: Include <stdlib.h> first.
91136         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
91137         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
91138         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
91139         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
91140         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
91141         * modules/getloadavg (Depends-on): Add stdlib, extensions.
91142         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91143         (Include): Specify <stdlib.h>.
91144         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
91145         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
91147 2008-10-18  Bruno Haible  <bruno@clisp.org>
91149         * lib/dirchownmod.c: Don't include lchmod.h.
91151         Move the lchmod() declaration to <sys/stat.h>.
91152         * lib/lchmod.h: Remove file.
91153         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
91154         (lchmod): New declaration, moved here from lib/lchown.h.
91155         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
91156         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
91157         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
91158         and HAVE_LCHMOD.
91159         * modules/lchmod (Files): Remove lib/lchmod.h.
91160         (Depends-on): Add sys_stat, extensions.
91161         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
91162         (Include): Specify <sys/stat.h> instead of lchmod.h.
91163         * modules/sys_stat (Depends-on): Add link-warning.
91164         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
91165         definition of GL_LINK_WARNING.
91166         * NEWS: Mention the change.
91168 2008-10-18  Bruno Haible  <bruno@clisp.org>
91170         * lib/fchdir.c: Don't include dirfd.h.
91171         * lib/fts.c: Likewise.
91172         * lib/getcwd.c: Likewise.
91173         * lib/glob.c: Likewise.
91175         Move the dirfd() declaration to <dirent.h>.
91176         * lib/dirfd.h: Remove file.
91177         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
91178         (dirfd): New declaration.
91179         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
91180         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
91181         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
91182         HAVE_DECL_DIRFD.
91183         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
91184         HAVE_DECL_DIRFD.
91185         * modules/dirfd (Files): Remove lib/dirfd.h.
91186         (Depends-on): Add dirent, extensions.
91187         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
91188         (Include): Specify <dirent.h> instead of dirfd.h.
91189         * modules/dirent (Depends-on): Add link-warning.
91190         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
91191         definition of GL_LINK_WARNING.
91192         * NEWS: Mention the change.
91194 2008-10-18  Bruno Haible  <bruno@clisp.org>
91196         Move the euidaccess() declaration to <unistd.h>.
91197         * lib/euidaccess.h: Remove file.
91198         * lib/unistd.in.h (euidaccess): New declaration.
91199         * lib/euidaccess.c: Don't include euidaccess.h.
91200         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
91201         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
91202         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
91203         and HAVE_EUIDACCESS.
91204         * modules/euidaccess (Files): Remove lib/euidaccess.h.
91205         (Depends-on): Add unistd.
91206         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91207         (Include): Specify <unistd.h> instead of euidaccess.h.
91208         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
91209         HAVE_EUIDACCESS.
91210         * NEWS: Mention the change.
91212 2008-10-18  Bruno Haible  <bruno@clisp.org>
91214         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
91216         Move the getdomainname() declaration to <unistd.h>.
91217         * lib/getdomainname.h: Remove file.
91218         * lib/unistd.in.h (getdomainname): New declaration.
91219         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
91220         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
91221         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
91222         HAVE_GETDOMAINNAME.
91223         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91224         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
91225         * modules/getdomainname (Files): Remove lib/getdomainname.h.
91226         (Depends-on): Add unistd, extensions.
91227         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91228         (Includes): Specify <unistd.h> instead of getdomainname.h.
91229         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
91230         HAVE_GETDOMAINNAME.
91231         * NEWS: Mention the change.
91233 2008-10-18  Bruno Haible  <bruno@clisp.org>
91235         * modules/dirent: New file.
91236         * m4/dirent_h.m4: New file.
91237         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
91238         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
91239         * modules/fchdir (Files): Remove lib/dirent.in.h.
91240         (Depends-on): Add dirent.
91241         (Makefile.am): Move rules to modules/dirent.
91242         * doc/posix-headers/dirent.texi: Mention the new module.
91244 2008-10-18  Bruno Haible  <bruno@clisp.org>
91246         Avoid -Wunused-parameter warnings in public gnulib header files.
91247         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
91248         macro.
91249         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
91251 2008-10-18  Bruno Haible  <bruno@clisp.org>
91253         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
91254         * doc/glibc-functions/error.texi: Mention the module 'error'.
91255         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
91256         * doc/glibc-functions/getdomainname.texi: Mention the module
91257         'getdomainname'.
91258         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
91259         * doc/glibc-functions/getpagesize.texi: Mention the module
91260         'getpagesize'.
91261         * doc/glibc-functions/getusershell.texi: Mention the module
91262         'getusershell'.
91263         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
91264         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
91265         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
91266         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
91267         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
91268         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
91269         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
91270         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
91271         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
91272         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
91273         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
91274         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
91275         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
91276         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
91278 2008-10-17  Bruno Haible  <bruno@clisp.org>
91280         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
91281         HP-UX and IRIX, use -0.0L.
91282         * tests/test-ceill.c (minus_zero): Likewise.
91283         * tests/test-floorl.c (minus_zero): Likewise.
91284         * tests/test-frexpl.c (minus_zero): Likewise.
91285         * tests/test-isnan.c (minus_zerol): Likewise.
91286         * tests/test-isnanl.h (minus_zero): Likewise.
91287         * tests/test-ldexpl.c (minus_zero): Likewise.
91288         * tests/test-roundl.c (minus_zero): Likewise.
91289         * tests/test-signbit.c (minus_zerol): Likewise.
91290         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
91291         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
91292         * tests/test-truncl.c (minus_zero): Likewise.
91293         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
91294         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
91295         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
91296         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
91298 2008-10-17  Bruno Haible  <bruno@clisp.org>
91300         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
91301         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
91302         that it gets activated only for gcc >= 3.0.
91303         * lib/dirent.in.h: Likewise.
91304         * lib/errno.in.h: Likewise.
91305         * lib/fcntl.in.h: Likewise.
91306         * lib/float.in.h: Likewise.
91307         * lib/iconv.in.h: Likewise.
91308         * lib/inttypes.in.h: Likewise.
91309         * lib/locale.in.h: Likewise.
91310         * lib/math.in.h: Likewise.
91311         * lib/netdb.in.h: Likewise.
91312         * lib/netinet_in.in.h: Likewise.
91313         * lib/search.in.h: Likewise.
91314         * lib/signal.in.h: Likewise.
91315         * lib/spawn.in.h: Likewise.
91316         * lib/stdarg.in.h: Likewise.
91317         * lib/stdint.in.h: Likewise.
91318         * lib/stdio.in.h: Likewise.
91319         * lib/stdlib.in.h: Likewise.
91320         * lib/string.in.h: Likewise.
91321         * lib/strings.in.h: Likewise.
91322         * lib/sys_file.in.h: Likewise.
91323         * lib/sys_ioctl.in.h: Likewise.
91324         * lib/sys_select.in.h: Likewise.
91325         * lib/sys_socket.in.h: Likewise.
91326         * lib/sys_stat.in.h: Likewise.
91327         * lib/sys_time.in.h: Likewise.
91328         * lib/sysexits.in.h: Likewise.
91329         * lib/time.in.h: Likewise.
91330         * lib/unistd.in.h: Likewise.
91331         * lib/wchar.in.h: Likewise.
91332         * lib/wctype.in.h: Likewise.
91333         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91335 2008-10-17  Jim Meyering  <meyering@redhat.com>
91337         ignore-value: don't depend on inline module
91338         * modules/ignore-value (Depends-on): Remove 'inline'.
91339         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
91340         Suggestion from Bruno Haible.
91342 2008-10-17  Bruno Haible  <bruno@clisp.org>
91344         New implementation of condition variables for Win32.
91345         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
91346         (gl_linked_waitqueue_t): New type.
91347         (gl_cond_t): Use it.
91348         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
91349         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
91350         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
91351         (glthread_cond_init_func, glthread_cond_wait_func,
91352         glthread_cond_timedwait_func, glthread_cond_signal_func,
91353         glthread_cond_broadcast_func, glthread_cond_destroy_func):
91354         Reimplemented on the basis of gl_linked_waitqueue_t.
91355         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
91356         gl_waitqueue_t.
91357         (gl_rwlock_t): Update.
91358         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
91360 2008-10-17  Simon Josefsson  <simon@josefsson.org>
91362         * modules/recvfrom (Depends-on): Add dependency on getpeername.
91363         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91365 2008-10-17  Jim Meyering  <meyering@redhat.com>
91367         ignore-value: new module
91368         * modules/ignore-value: New file.
91369         * lib/ignore-value.h: New file.
91370         * MODULES.html.sh (Compiler warning management): New section,
91371         just for this module.  More to come.
91373 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
91375         open-safer.c: avoid 'signed and unsigned in conditional...' warning
91376         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
91377         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
91379 2008-10-16  Jim Meyering  <meyering@redhat.com>
91381         openat-die.c: avoid 'no previous prototype' warning
91382         * lib/openat-die.c: Include "openat.h".
91383         Reported by Reuben Thomas <rrt@sc3d.org>.
91385 2008-10-16  Simon Josefsson  <simon@josefsson.org>
91387         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
91388         * lib/netdb.in.h: Fix typo.
91389         Reported by Bruno Haible  <bruno@clisp.org>
91391         * lib/netdb.in.h: Include sys/socket.h for platforms without
91392         netdb.h, to get structures like hostent on MinGW.
91393         * modules/netdb (Depends-on): Add sys_socket.
91395 2008-10-15  Simon Josefsson  <simon@josefsson.org>
91397         * modules/netdb, modules/netdb-tests: New file.
91398         * m4/netdb_h.m4: New file.
91399         * lib/netdb.in.h: Add, currently just an empty file pending
91400         definitions.
91401         * tests/test-netdb.c: New file.
91402         * doc/posix-headers/netdb.texi: Mention that we replace it if
91403         needed.
91404         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91405         netdb.
91407 2008-10-15  Simon Josefsson  <simon@josefsson.org>
91409         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
91410         with code.
91412 2008-10-13  Bruno Haible  <bruno@clisp.org>
91414         * lib/glthread/cond.c (glthread_cond_wait_func,
91415         glthread_cond_timedwait_func): Add a comment.
91417 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91419         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
91420         * tests/test-select.c: Likewise,
91422 2008-10-13  Bruno Haible  <bruno@clisp.org>
91424         * lib/glthread/cond.c (glthread_cond_wait_func,
91425         glthread_cond_timedwait_func): Fix variable name.
91426         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91428 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
91430         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
91431         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
91432         struct sockaddr.sa_len.
91433         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
91435 2008-10-13  Simon Josefsson  <simon@josefsson.org>
91437         * build-aux/pmccabe2html: Add css and css_url parameters.
91439 2008-10-12  Bruno Haible  <bruno@clisp.org>
91441         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
91442         calling aclx_get.
91443         Reported by Rainer Tammer <tammer@tammer.net>.
91445 2008-10-12  Bruno Haible  <bruno@clisp.org>
91447         Use msvcrt aware primitives for creation/termination of Win32 threads.
91448         * lib/glthread/thread.c: Include <process.h>.
91449         (glthread_create_func): Use _beginthreadex instead of CreateThread.
91450         (wrapper_func): Update signature.
91451         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
91453 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91454             Bruno Haible  <bruno@clisp.org>
91456         Provide a Win32 implementation of the 'cond' module.
91457         * lib/glthread/cond.h [USE_WIN32]: New implementation.
91458         * lib/glthread/cond.c (glthread_cond_init_func,
91459         glthread_cond_wait_func, glthread_cond_timedwait_func,
91460         glthread_cond_signal_func, glthread_cond_broadcast_func,
91461         glthread_cond_destroy_func) [USE_WIN32]: New functions.
91462         * modules/cond (Dependencies): Add gettimeofday.
91464 2008-10-11  Bruno Haible  <bruno@clisp.org>
91466         Make sleep work on older versions of mingw.
91467         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
91468         only whether it exists.
91469         * doc/posix-functions/sleep.texi: Mention the problem with older
91470         versions of mingw.
91472 2008-10-11  Bruno Haible  <bruno@clisp.org>
91474         New module 'shutdown'.
91475         * modules/shutdown: New file.
91476         * lib/sys_socket.in.h (shutdown): New declaration.
91477         * lib/winsock.c (shutdown): New function.
91478         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
91479         GNULIB_SHUTDOWN.
91480         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
91481         * doc/posix-functions/shutdown.texi: Document the new module.
91483 2008-10-11  Jim Meyering  <meyering@redhat.com>
91485         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
91487 2008-10-11  Bruno Haible  <bruno@clisp.org>
91489         New module 'fclose'.
91490         * modules/fclose: New file.
91491         * lib/stdio.in.h (fclose): New declaration.
91492         * lib/fclose.c: New file.
91493         * m4/fclose.m4: New file.
91494         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
91495         REPLACE_FCLOSE.
91496         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
91497         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
91498         REPLACE_FCLOSE.
91499         * modules/close (Depends-on): fclose.
91500         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
91502 2008-10-11  Bruno Haible  <bruno@clisp.org>
91504         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
91505         set errno and don't call _close.
91507 2008-10-10  Bruno Haible  <bruno@clisp.org>
91509         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
91510         ACL, not afterwards. Fixes test failure on Cygwin.
91512 2008-10-09  Ben Pfaff  <blp@gnu.org>
91514         * build-aux/announce-gen: Fix gnulib version related part of usage
91515         message.  Die with a useful error message if no tarballs are
91516         found.
91518 2008-10-10  Jim Meyering  <meyering@redhat.com>
91520         bootstrap: use git's --depth=N option only if it's supported
91521         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
91522         recognize the --depth option.  Reported by Pádraig Brady.
91524 2008-10-09  Bruno Haible  <bruno@clisp.org>
91526         New module 'ioctl'.
91527         * modules/ioctl: New file.
91528         * lib/sys_socket.in.h (ioctl): Remove declaration.
91529         * lib/winsock.c: Include <sys/ioctl.h>.
91530         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
91531         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
91532         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
91533         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
91534         * doc/posix-functions/ioctl.texi: Mention the new module.
91536 2008-10-09  Bruno Haible  <bruno@clisp.org>
91538         New module 'sys_ioctl'.
91539         * lib/sys_ioctl.in.h: New file.
91540         * m4/sys_ioctl_h.m4: New file.
91541         * modules/sys_ioctl: New file.
91542         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
91544 2008-10-09  Bruno Haible  <bruno@clisp.org>
91546         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
91547         * lib/winsock.c: Include <stdarg.h>.
91548         (rpl_ioctl): Change to second argument 'int' and then varargs.
91550 2008-10-09  Bruno Haible  <bruno@clisp.org>
91552         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
91553         when the sys_socket module is present and the system has <winsock2.h>.
91555 2008-10-09  Bruno Haible  <bruno@clisp.org>
91557         * doc/posix-functions/close.texi: Mention module 'close' instead of
91558         module 'sys_socket'.
91560 2008-10-09  Bruno Haible  <bruno@clisp.org>
91562         * doc/glibc-headers/sys_ioctl.texi: New file.
91563         * doc/gnulib.texi: Include it.
91565 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91566             Bruno Haible  <bruno@clisp.org>
91568         Combine the two replacements of 'close'.
91569         * lib/sys_socket.in.h (close): Define to a reminder to include
91570         <unistd.h>.
91571         (_gl_close_fd_maybe_socket): New declaration.
91572         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
91573         * lib/winsock.c (close): Remove undefinition.
91574         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
91575         needed for the gnulib module 'close'.
91576         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
91577         define to an error symbol or to a warning, if suitable.
91578         * lib/close.c: Include <sys/socket.h>.
91579         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
91580         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
91581         UNISTD_H_HAVE_WINSOCK2_H.
91582         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
91583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91584         UNISTD_H_HAVE_WINSOCK2_H.
91585         * modules/sys_socket (Files): Add m4/unistd_h.m4.
91586         (configure.ac): Set a module indicator.
91587         (Makefile.am): Substitute GNULIB_CLOSE.
91588         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
91589         * modules/poll-tests (Depends-on): Add close.
91590         * modules/select-tests (Depends-on): Likewise.
91592 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91593             Bruno Haible  <bruno@clisp.org>
91595         New module 'close'.
91596         * modules/close: New file.
91597         * lib/unistd.in.h (close): Move declaration out of the
91598         FCHDIR_REPLACEMENT scope.
91599         (_gl_unregister_fd): New declaration.
91600         * lib/close.c: New file.
91601         * lib/fchdir.c (rpl_close): Remove function.
91602         * m4/close.m4: New file.
91603         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91604         close.
91605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
91606         REPLACE_CLOSE.
91607         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
91608         REPLACE_CLOSE.
91609         * modules/fchdir (Depends-on): Add close.
91611 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91612             Bruno Haible  <bruno@clisp.org>
91614         * lib/fcntl.in.h (open): Simplify conditionals.
91615         (_gl_register_fd): New declaration.
91616         * lib/fchdir.c (rpl_open): Remove function.
91617         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
91618         also.
91619         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
91620         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91621         open.
91623 2008-10-09  Jim Meyering  <meyering@redhat.com>
91625         GNUmakefile: use the more name-space-friendly "_version"
91626         * top/GNUmakefile (_dummy): Update.
91627         (_version): Rename from "version".
91629 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91630             Bruno Haible  <bruno@clisp.org>
91632         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
91633         rpl_close.
91634         (_gl_register_fd): New function, extracted from rpl_open.
91635         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
91636         (rpl_open, rpl_opendir): Use _gl_register_fd.
91638 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91640         Fix organization of 'open' replacement.
91641         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
91642         (gl_FUNC_OPEN): Use it.
91643         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
91645 2008-10-08  Bruno Haible  <bruno@clisp.org>
91647         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
91649 2008-10-08  Simon Josefsson  <simon@josefsson.org>
91651         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
91652         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
91653         listen).
91655 2008-10-08  Eric Blake  <ebb9@byu.net>
91657         GNUmakefile: add 'make version' target
91658         * top/GNUmakefile (_curr-ver): Split version update rules...
91659         (version): ...into a target.
91661 2008-10-07  Bruno Haible  <bruno@clisp.org>
91663         Use a more portable replacement expression for -0.0L.
91664         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
91665         instead of -0.0L. Fix m4 quotation.
91667         * tests/test-signbit.c: Include <float.h>.
91668         (minus_zero): New variable.
91669         (test_signbitl): Use minus_zero instead of -zero.
91670         * modules/signbit-tests (Depends-on): Add float.
91672         * tests/test-ceill.c: Include <float.h>.
91673         (zero): Remove variable.
91674         (minus_zero): New variable.
91675         (main): Use minus_zero instead of -zero.
91676         * modules/ceill-tests (Depends-on): Add float.
91678         * tests/test-floorl.c: Include <float.h>.
91679         (zero): Remove variable.
91680         (minus_zero): New variable.
91681         (main): Use minus_zero instead of -zero.
91682         * modules/floorl-tests (Depends-on): Add float.
91684         * tests/test-roundl.c: Include <float.h>.
91685         (zero): Remove variable.
91686         (minus_zero): New variable.
91687         (main): Use minus_zero instead of -zero.
91688         * modules/roundl-tests (Depends-on): Add float.
91690         * tests/test-truncl.c: Include <float.h>.
91691         (zero): Remove variable.
91692         (minus_zero): New variable.
91693         (main): Use minus_zero instead of -zero.
91694         * modules/truncl-tests (Depends-on): Add float.
91696         * tests/test-frexpl.c (zero): Remove variable.
91697         (minus_zero): New variable.
91698         (main): Use minus_zero instead of -zero.
91699         * modules/frexpl-tests (Depends-on): Add float.
91701         * tests/test-isnan.c (zerol): Remove variable.
91702         (minus_zerol): New variable.
91703         (test_long_double): Use minus_zerol instead of -zerol.
91704         * modules/isnan-tests (Depends-on): Add float.
91706         * tests/test-isnanl.h (zero): Remove variable.
91707         (minus_zero): New variable.
91708         (main): Use minus_zero instead of -zero.
91709         * modules/isnanl-nolibm-tests (Depends-on): Add float.
91710         * modules/isnanl-tests (Depends-on): Add float.
91712         * tests/test-ldexpl.c (zero): Remove variable.
91713         (minus_zero): New variable.
91714         (main): Use minus_zero instead of -zero.
91715         * modules/ldexpl-tests (Depends-on): Add float.
91717         * tests/test-snprintf-posix.h (zerol): Remove variable.
91718         (minus_zerol): New variable.
91719         (test_function): Use minus_zerol instead of -zerol.
91720         * modules/snprintf-posix-tests (Depends-on): Add float.
91721         * modules/vsnprintf-posix-tests (Depends-on): Add float.
91723         * tests/test-sprintf-posix.h (zerol): Remove variable.
91724         (minus_zerol): New variable.
91725         (test_function): Use minus_zerol instead of -zerol.
91726         * modules/sprintf-posix-tests (Depends-on): Add float.
91727         * modules/vsprintf-posix-tests (Depends-on): Add float.
91729         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
91730         (minus_zerol): New variable.
91731         (test_function): Use minus_zerol instead of -zerol.
91732         * modules/vasnprintf-posix-tests (Depends-on): Add float.
91734         * tests/test-vasprintf-posix.c (zerol): Remove variable.
91735         (minus_zerol): New variable.
91736         (test_function): Use minus_zerol instead of -zerol.
91737         * modules/vasprintf-posix-tests (Depends-on): Add float.
91739 2008-10-07  Simon Josefsson  <simon@josefsson.org>
91741         * MODULES.html.sh (Support for building documentation): Mention
91742         pmccabe2html.  Sort entries.
91744         Add pmccabe2html module, from gnupdf.
91745         * build-aux/pmccabe.css: New file.
91746         * build-aux/pmccabe2html: New file.
91747         * m4/pmccabe2html.m4: New file.
91748         * modules/pmccabe2html: New file.
91750 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
91752         flock: new module
91753         * MODULES.html.sh: Add to list of modules.
91754         * lib/flock.c: flock implementation for Windows and Unix systems
91755         which have fcntl.
91756         * doc/glibc-functions/flock.texi: Update documentation.
91757         * lib/sys_file.in.h: <sys/file.h> header file.
91758         * m4/flock.m4: M4 macros.
91759         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
91760         * modules/flock: flock module.
91761         * modules/flock-tests: flock tests module.
91762         * modules/sys_file: sys/file.h module.
91763         * tests/test-flock.c: test suite for flock.
91765 2008-10-06  Jim Meyering  <meyering@redhat.com>
91767         bootstrap: check for LT_INIT more portably still ;-)
91768         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
91769         Spotted by Bruno Haible.
91771 2008-10-06  Eric Blake  <ebb9@byu.net>
91773         test-signbit: avoid tripping Irix cc bug on -0.0L
91774         * tests/test-signbit.c (minus_zerol): Delete, and replace with
91775         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
91776         entire testsuite consistent and avoids an Irix 6.2 bug.
91778 2008-10-05  Bruno Haible  <bruno@clisp.org>
91779             Jim Meyering  <jim@meyering.net>
91781         Add an option for ignoring EPIPE during close_stdout.
91782         * lib/closeout.h: Include <stdbool.h>.
91783         (close_stdout_set_ignore_EPIPE): New declaration.
91784         * lib/closeout.c: Include <stdbool.h>.
91785         (ignore_EPIPE): New variable.
91786         (close_stdout_set_ignore_EPIPE): New function.
91787         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
91788         * lib/close-stream.c (close_stream): Mention the possible EPIPE
91789         failure.
91790         * modules/closeout (Depends-on): Add stdbool.
91792 2008-10-05  Bruno Haible  <bruno@clisp.org>
91794         * modules/accept: New file.
91795         * modules/bind: New file.
91796         * modules/connect: New file.
91797         * modules/getpeername: New file.
91798         * modules/getsockname: New file.
91799         * modules/getsockopt: New file.
91800         * modules/listen: New file.
91801         * modules/recv: New file.
91802         * modules/recvfrom: New file.
91803         * modules/send: New file.
91804         * modules/sendto: New file.
91805         * modules/setsockopt: New file.
91806         * modules/socket: New file.
91807         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
91808         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
91809         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
91810         the particular module is requested. Add a link warning when the
91811         particular module is not requested.
91812         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
91813         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
91814         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
91815         the particular module is requested.
91816         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
91817         gl_SYS_SOCKET_H_DEFAULTS): New macros.
91818         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
91819         * modules/sys_socket (Depends-on): Add link-warning.
91820         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
91821         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
91822         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
91823         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
91824         GL_LINK_WARNING.
91825         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
91826         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
91827         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
91828         * doc/posix-functions/getpeername.texi: Mention the new module
91829         'getpeername'.
91830         * doc/posix-functions/getsockname.texi: Mention the new module
91831         'getsockname'.
91832         * doc/posix-functions/getsockopt.texi: Mention the new module
91833         'getsockopt'.
91834         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
91835         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
91836         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
91837         * doc/posix-functions/send.texi: Mention the new module 'send'.
91838         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
91839         * doc/posix-functions/setsockopt.texi: Mention the new module
91840         'setsockopt'.
91841         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
91842         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
91843         listen, connect, accept.
91844         * modules/select-tests (Depends-on): Likewise.
91846 2008-10-05  Bruno Haible  <bruno@clisp.org>
91848         * lib/winsock.c (strerror): Remove unused #undef.
91849         (rpl_close): Remove unused local variable.
91851         * modules/sys_socket (Depends-on); Add errno.
91853 2008-10-05  Bruno Haible  <bruno@clisp.org>
91855         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
91856         (select): Add a link warning when the 'select' module is not used.
91857         * modules/sys_select (Depends-on): Add link-warning.
91858         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
91859         Suggested by Paolo Bonzini.
91861 2008-10-05  Jim Meyering  <meyering@redhat.com>
91863         bootstrap: check for LT_INIT more portably
91864         * build-aux/bootstrap: Avoid using grep -E, since it's not
91865         portable enough.  Suggestion from Bruno Haible.
91867 2008-10-05  Bruno Haible  <bruno@clisp.org>
91869         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
91870         as being fixed by gnulib.
91872 2008-10-05  Bruno Haible  <bruno@clisp.org>
91874         * modules/select-tests: New file, mostly copied from
91875         modules/sys_select-tests.
91876         * tests/test-select.c: New file, mostly copied from
91877         tests/test-sys_select.c.
91878         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
91879         * modules/sys_select-tests (Depends-on): Remove all dependencies.
91880         (Makefile.am): Remove test_sys_select_LDADD.
91882         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
91883         to an undefined symbol, for an error message.
91884         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
91885         (gl_SYS_SELECT_H_DEFAULTS): New macro.
91886         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
91887         winsock-select.c here.
91888         * modules/sys_select (Files): Remove lib/winsock-select.c.
91889         (Depends-on): Remove alloca.
91890         (Makefile.am): Substitute GNULIB_SELECT.
91891         * modules/select: New file.
91892         * doc/posix-functions/select.texi: Update.
91894 2008-10-05  Bruno Haible  <bruno@clisp.org>
91896         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
91897         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
91898         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
91899         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
91900         getdtablesize.
91901         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
91902         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
91904 2008-10-05  Bruno Haible  <bruno@clisp.org>
91906         * modules/getdtablesize-tests: New file.
91907         * tests/test-getdtablesize.c: New file.
91909         New module 'getdtablesize'.
91910         * lib/unistd.in.h (getdtablesize): New declaration.
91911         * lib/getdtablesize.c: New file.
91912         * m4/getdtablesize.m4: New file.
91913         * modules/getdtablesize: New file.
91914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91915         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
91916         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
91917         HAVE_GETDTABLESIZE.
91918         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
91920 2008-10-05  Bruno Haible  <bruno@clisp.org>
91922         * modules/sched (Makefile.am): Fix typo.
91923         Reported by Simon Josefsson.
91925 2008-10-05  Jim Meyering  <meyering@redhat.com>
91927         bootstrap: check for LT_INIT, too
91928         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
91929         are deprecated.  Suggestion from Ralf Wildenhues.
91931 2008-10-05  Bruno Haible  <bruno@clisp.org>
91933         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
91934         overriding them by ours.
91935         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
91937 2008-10-05  Jim Meyering  <meyering@redhat.com>
91939         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
91940         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
91941         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
91943 2008-10-04  Bruno Haible  <bruno@clisp.org>
91945         * modules/dup2 (License): Change to LGPLv2+.
91946         * modules/sleep (License): Likewise.
91947         * modules/perror (License): Likewise.
91948         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
91949         Blake.
91950         * modules/signal (License): Likewise.
91951         * modules/sigprocmask (License): Likewise.
91952         * modules/raise (License): Change to LGPLv2+, with approval by Jim
91953         Meyering.
91955 2008-10-04  Bruno Haible  <bruno@clisp.org>
91957         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
91958         Reported by Rainer Tammer <tammer@tammer.net>.
91960 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
91961             Bruno Haible  <bruno@clisp.org>
91963         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
91964         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
91965         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
91967 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
91969         filevercmp: new module
91970         * lib/filevercmp.h: New function filevercmp comparing version strings.
91971         * lib/filevercmp.c: Implementation of filevercmp function.
91972         * modules/filevercmp: Module metadata.
91973         * tests/test-filevercmp.c: Unit test for new module.
91974         * modules/filevercmp-tests: Unit test metadata.
91975         * MODULES.html.sh: Add filevercmp module.
91977 2008-10-03  Bruno Haible  <bruno@clisp.org>
91979         * lib/c-ctype.h: Add comment.
91980         Reported by Jim Meyering.
91982 2008-10-02  Bruno Haible  <bruno@clisp.org>
91984         * modules/posix_spawn-internal (Depends-on): Add 'open'.
91986 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91988         * build-aux/bootstrap: Allow renaming bootstrap, and change the
91989         name of bootstrap.conf accordingly.
91991 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91993         * build-aux/bootstrap: Install git-merge-changelog configuration
91994         items into .gitconfig if needed.
91996 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91998         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
91999         git repository, and initialize/update it accordingly.
92001 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
92003         * modules/fsync-tests: New file.
92004         * tests/test-fsync.c: New file.
92006         New module 'fsync'.
92007         * lib/fsync.c: New file.
92008         * m4/fsync.m4: New file.
92009         * modules/fsync: New file.
92010         * lib/unistd.in.h (fsync): New declaration.
92011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
92012         GNULIB_FSYNC and HAVE_FSYNC.
92013         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
92014         * MODULES.html.sh (posix_functions): Add fsync.
92015         * doc/posix-functions/fsync.texi: Mention the new module.
92017 2008-10-02  Jim Meyering  <meyering@redhat.com>
92019         fts.c: sync with similar code from coreutils' remove.c
92020         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
92021         Guard also with "#if defined __linux__", since for now at least,
92022         this code is Linux-kernel-specific.
92024 2008-10-02  Jim Meyering  <meyering@redhat.com>
92026         fts: bug fixes
92027         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
92028         Include <sys/vfs.h>, not <sys/statfs.h>.
92030         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
92031         Include <sys/vfs.h>, not <sys/statfs.h>.
92033 2008-10-01  Bruno Haible  <bruno@clisp.org>
92035         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
92036         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
92037         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
92038         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
92039         * doc/posix-functions/posix_spawnp.texi: Likewise.
92040         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
92041         whether posix_spawn actually works.
92042         * m4/pipe.m4 (gl_PIPE): Likewise.
92043         * modules/execute (Files): Add m4/posix_spawn.m4.
92044         * modules/pipe (Files): Add m4/posix_spawn.m4.
92045         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
92047 2008-10-01  Jim Meyering  <meyering@redhat.com>
92049         remove trailing spaces
92050         * NEWS: Likewise.
92051         * lib/poll.c (poll): Likewise.
92052         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
92053         * lib/winsock.c (rpl_close): Likewise.
92054         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
92055         * modules/yield: Likewise.
92056         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
92057         * tests/test-sys_select.c (connect_to_socket): Likewise.
92059         fts.c: adjust a new interface to be more generally useful
92060         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
92061         (fts_build): Adjust caller.
92063 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92065         * modules/cond-tests: New file.
92066         * tests/test-cond.c: New file.
92068 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92069             Bruno Haible  <bruno@clisp.org>
92071         * modules/cond (Dependencies): Add errno, time.
92072         * lib/glthread/cond.h: Include <time.h>.
92073         (gl_cond_define, gl_cond_define_initialized): Use the same definition
92074         across platforms.
92076 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92077             Bruno Haible  <bruno@clisp.org>
92079         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
92081 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92082             Bruno Haible  <bruno@clisp.org>
92084         * modules/tls-tests (Depends-on): Add thread, yield.
92085         (configure.ac): Remove all checks.
92086         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
92087         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
92088         gl_thread_self): Remove definitions. Include glthread/thread.h and
92089         glthread/yield.h instead.
92090         (test_tls): Pass an additional NULL argument to gl_thread_join.
92092 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92093             Bruno Haible  <bruno@clisp.org>
92095         * modules/lock-tests (Depends-on): Add thread, yield.
92096         (configure.ac): Remove all checks.
92097         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
92098         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
92099         gl_thread_self): Remove definitions. Include glthread/thread.h and
92100         glthread/yield.h instead.
92101         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
92102         additional NULL argument to gl_thread_join.
92104 2008-09-30  Bruno Haible  <bruno@clisp.org>
92106         Fix the Win32 implementation of the 'thread' module.
92107         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
92108         pointer type.
92109         (gl_thread_self): Invoke gl_thread_self_func.
92110         (gl_thread_self_func): New declaration.
92111         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
92112         (do_init_self_key, init_self_key): New functions.
92113         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
92114         Remove some fields.
92115         (running_threads, running_lock): Remove variables.
92116         (get_current_thread_handle): New function.
92117         (gl_thread_self_func, wrapper_func, glthread_create_func,
92118         glthread_join_func, gl_thread_exit_func): Largely rewritten and
92119         simplified.
92121 2008-09-30  Bruno Haible  <bruno@clisp.org>
92123         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
92124         files.
92126 2008-09-30  Jim Meyering  <meyering@redhat.com>
92128         fts.m4: correct the test for statfs.f_type
92129         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
92130         when checking for statfs.f_type.
92132 2008-09-15  Simon Josefsson  <simon@josefsson.org>
92134         tests: avoid some compiler warnings
92135         * tests/test-memchr.c (main): Pass NULL indirectly.
92136         * tests/test-getdate.c (main): Remove unused variable 'ret'.
92138 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
92140         getdate.y: disallow countable dayshifts like "4 yesterday ago"
92141         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
92142         exactly specified dayshifts.
92143         (dayshift): New rule.
92144         (rel): Add dayshift.
92145         (relative_time_table) [tomorrow, yesterday, today, now]:
92146         Use tDAY_SHIFT in place of tDAY_UNIT.
92147         * tests/test-getdate.c: Add tests for now-disallowed countable
92148         dayshifts, e.g., "4 yesterday ago".
92150 2008-09-29  Bruno Haible  <bruno@clisp.org>
92152         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
92153         * tests/test-posix_spawn1.in.sh: Renamed from
92154         tests/test-posix_spawn.in.sh.
92155         * tests/test-posix_spawn2.c: New file.
92156         * tests/test-posix_spawn2.in.sh: New file.
92157         * modules/posix_spawnp-tests (Files): Update.
92158         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
92160 2008-09-29  Bruno Haible  <bruno@clisp.org>
92162         Propagate effects of putenv/setenv/unsetenv to child processes.
92163         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
92164         * lib/pipe.c (create_pipe): Likewise.
92166 2008-09-29  Bruno Haible  <bruno@clisp.org>
92168         Enable use of shell scripts as executables in mingw.
92169         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
92170         run the program as a shell script.
92171         * lib/pipe.c (create_pipe): Likewise.
92172         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
92173         resulting array.
92175 2008-09-29  Eric Blake  <ebb9@byu.net>
92177         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
92179 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
92181         * doc/posix-functions/accept.texi: Update mingw problems.
92182         * doc/posix-functions/bind.texi: Update mingw problems.
92183         * doc/posix-functions/close.texi: Update mingw problems.
92184         * doc/posix-functions/connect.texi: Update mingw problems.
92185         * doc/posix-functions/getpeername.texi: Update mingw problems.
92186         * doc/posix-functions/getsockname.texi: Update mingw problems.
92187         * doc/posix-functions/getsockopt.texi: Update mingw problems.
92188         * doc/posix-functions/ioctl.texi: Update mingw problems.
92189         * doc/posix-functions/listen.texi: Update mingw problems.
92190         * doc/posix-functions/recv.texi: Update mingw problems.
92191         * doc/posix-functions/recvfrom.texi: Update mingw problems.
92192         * doc/posix-functions/select.texi: Update mingw problems.
92193         * doc/posix-functions/send.texi: Update mingw problems.
92194         * doc/posix-functions/sendto.texi: Update mingw problems.
92195         * doc/posix-functions/setsockopt.texi: Update mingw problems.
92196         * doc/posix-functions/socket.texi: Update mingw problems.
92198 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
92199             Bruno Haible  <bruno@clisp.org>
92201         * lib/sys_select.in.h: Include sys/time.h.
92202         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
92203         * modules/sys_select: Depend on sys_time.
92204         * tests/test-sys_select.c: Test that sys/select.h defines struct
92205         timeval fully.
92207 2008-09-29  Bruno Haible  <bruno@clisp.org>
92209         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
92210         * lib/sys_select.in.h: Likewise.
92212 2008-09-29  Bruno Haible  <bruno@clisp.org>
92214         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
92216 2008-09-29  Bruno Haible  <bruno@clisp.org>
92218         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
92219         Set LIBSOCKET instead of augmenting LIBS.
92220         * modules/sockets (Link): New section.
92221         * modules/sockets-tests (test_sockets_LDADD): New variable.
92222         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
92223         * modules/poll-tests (test_poll_LDADD): New variable.
92224         * NEWS: Document the change.
92226 2008-09-29  Bruno Haible  <bruno@clisp.org>
92228         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
92229         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
92230         ARPA_INET_H directly.
92231         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
92233 2008-09-28  Bruno Haible  <bruno@clisp.org>
92235         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
92236         from gl_HEADER_SYS_SOCKET.
92237         (gl_HEADER_SYS_SOCKET): Invoke it.
92238         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
92240 2008-09-28  Bruno Haible  <bruno@clisp.org>
92242         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
92243         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
92244         Needed on OSF/1 4.0.
92246 2008-09-28  Bruno Haible  <bruno@clisp.org>
92248         Override open more carefully.
92249         * lib/open.c (orig_open): New function.
92250         (rpl_open): Use orig_open instead of open.
92251         * lib/fcntl.in.h: Add special invocation convention.
92252         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
92253         (gl_FUNC_OPEN): Invoke it.
92255         Override freopen more carefully.
92256         * lib/freopen.c (orig_freopen): New function.
92257         (rpl_freopen): Use orig_freopen instead of freopen.
92258         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
92259         (gl_FUNC_FREOPEN): Invoke it.
92261         Override fopen more carefully.
92262         * lib/fopen.c (orig_fopen): New function.
92263         (rpl_fopen): Use orig_fopen instead of fopen.
92264         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
92265         (gl_FUNC_FOPEN): Invoke it.
92266         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
92268 2008-09-28  Bruno Haible  <bruno@clisp.org>
92270         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
92271         SIGPIPE.
92273 2008-09-28  Bruno Haible  <bruno@clisp.org>
92275         * tests/test-sigaction.c (handler, main): Disable the check whether
92276         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
92277         glibc systems with LinuxThreads.
92279 2008-09-28  Bruno Haible  <bruno@clisp.org>
92281         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
92283         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
92284         with AIX xlc.
92285         * lib/fcntl.in.h (open): Likewise.
92286         Reported by Rainer Tammer <tammer@tammer.net>.
92288 2008-09-28  Bruno Haible  <bruno@clisp.org>
92290         * modules/posix_spawnp-tests: New file.
92291         * tests/test-posix_spawn.c: New file.
92292         * tests/test-posix_spawn.in.sh: New file.
92294         New module 'posix_spawnp'.
92295         * modules/posix_spawnp: New file.
92296         * lib/spawnp.c: New file, from GNU libc with modifications.
92297         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
92299         New module 'posix_spawn'.
92300         * modules/posix_spawn: New file.
92301         * lib/spawn.c: New file, from GNU libc with modifications.
92302         * doc/posix-functions/posix_spawn.texi: Mention the new module.
92304         New module 'posix_spawnattr_destroy'.
92305         * modules/posix_spawnattr_destroy: New file.
92306         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
92307         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
92308         module.
92310         New module 'posix_spawnattr_setsigmask'.
92311         * modules/posix_spawnattr_setsigmask: New file.
92312         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
92313         modifications.
92314         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
92315         new module.
92317         New module 'posix_spawnattr_getsigmask'.
92318         * modules/posix_spawnattr_getsigmask: New file.
92319         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
92320         modifications.
92321         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
92322         new module.
92324         New module 'posix_spawnattr_setsigdefault'.
92325         * modules/posix_spawnattr_setsigdefault: New file.
92326         * lib/spawnattr_setdefault.c: New file, from GNU libc with
92327         modifications.
92328         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
92329         new module.
92331         New module 'posix_spawnattr_getsigdefault'.
92332         * modules/posix_spawnattr_getsigdefault: New file.
92333         * lib/spawnattr_getdefault.c: New file, from GNU libc with
92334         modifications.
92335         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
92336         new module.
92338         New module 'posix_spawnattr_setschedpolicy'.
92339         * modules/posix_spawnattr_setschedpolicy: New file.
92340         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
92341         modifications.
92342         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
92343         new module.
92345         New module 'posix_spawnattr_getschedpolicy'.
92346         * modules/posix_spawnattr_getschedpolicy: New file.
92347         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
92348         modifications.
92349         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
92350         new module.
92352         New module 'posix_spawnattr_setschedparam'.
92353         * modules/posix_spawnattr_setschedparam: New file.
92354         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
92355         modifications.
92356         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
92357         new module.
92359         New module 'posix_spawnattr_getschedparam'.
92360         * modules/posix_spawnattr_getschedparam: New file.
92361         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
92362         modifications.
92363         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
92364         new module.
92366         New module 'posix_spawnattr_setpgroup'.
92367         * modules/posix_spawnattr_setpgroup: New file.
92368         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
92369         modifications.
92370         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
92371         module.
92373         New module 'posix_spawnattr_getpgroup'.
92374         * modules/posix_spawnattr_getpgroup: New file.
92375         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
92376         modifications.
92377         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
92378         module.
92380         New module 'posix_spawnattr_setflags'.
92381         * modules/posix_spawnattr_setflags: New file.
92382         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
92383         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
92384         module.
92386         New module 'posix_spawnattr_getflags'.
92387         * modules/posix_spawnattr_getflags: New file.
92388         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
92389         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
92390         module.
92392         New module 'posix_spawnattr_init'.
92393         * modules/posix_spawnattr_init: New file.
92394         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
92395         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
92396         module.
92398         New module 'posix_spawn_file_actions_destroy'.
92399         * modules/posix_spawn_file_actions_destroy: New file.
92400         * lib/spawn_faction_destroy.c: New file, from GNU libc with
92401         modifications.
92402         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
92403         the new module.
92405         New module 'posix_spawn_file_actions_addopen'.
92406         * modules/posix_spawn_file_actions_addopen: New file.
92407         * lib/spawn_faction_addopen.c: New file, from GNU libc with
92408         modifications.
92409         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
92410         the new module.
92412         New module 'posix_spawn_file_actions_adddup2'.
92413         * modules/posix_spawn_file_actions_adddup2: New file.
92414         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
92415         modifications.
92416         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
92417         the new module.
92419         New module 'posix_spawn_file_actions_addclose'.
92420         * modules/posix_spawn_file_actions_addclose: New file.
92421         * lib/spawn_faction_addclose.c: New file, from GNU libc with
92422         modifications.
92423         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
92424         the new module.
92426         New module 'posix_spawn_file_actions_init'.
92427         * modules/posix_spawn_file_actions_init: New file.
92428         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
92429         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
92430         new module.
92432         New module 'posix_spawn-internal'.
92433         * modules/posix_spawn-internal: New file.
92434         * lib/spawn_int.h: New file, from GNU libc with modifications.
92435         * lib/spawni.c: New file, from GNU libc with modifications.
92436         * m4/posix_spawn.m4: New file.
92438         New module 'spawn'.
92439         * modules/spawn: New file.
92440         * lib/spawn.in.h: New file, from GNU libc with modifications.
92441         * m4/spawn_h.m4: New file.
92442         * doc/posix-headers/spawn.texi: Mention the new module.
92444 2008-09-28  Bruno Haible  <bruno@clisp.org>
92446         * modules/sched-tests: New file.
92447         * tests/test-sched.c: New file.
92449         New module 'sched'.
92450         * modules/sched: New file.
92451         * lib/sched.in.h: New file.
92452         * m4/sched_h.m4: New file.
92453         * doc/posix-headers/sched.texi: Mention the new module.
92455 2008-09-27  Eric Blake  <ebb9@byu.net>
92457         Fix previous patch, and tweak references to $0.
92458         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
92459         (func_version, func_gnulib_dir): Don't call this program
92460         gnulib-tool.
92461         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
92462         with using $0 in function.
92463         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
92464         (func_fatal_error): Reuse the name the user invoked us with.
92466 2008-09-27  Bruno Haible  <bruno@clisp.org>
92468         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
92469         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
92470         (gl_ICONV_H): Not here.
92471         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
92472         instead of assigning ICONV_H directly.
92474         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
92475         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
92476         WCHAR_H directly.
92478 2008-09-27  Bruno Haible  <bruno@clisp.org>
92480         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
92481         * modules/arpa_inet (Depends-on): Add link-warning.
92482         (Makefile.am): Insert the definition of GL_LINK-WARNING.
92483         * modules/unistd (Makefile.am): Likewise.
92485 2008-09-26  Bruno Haible  <bruno@clisp.org>
92487         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
92488         variables.
92489         (func_version): Essentially copied from gnulib-tool.
92490         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
92491         func_readlink): Copied from gnulib-tool.
92493 2008-09-26  Bruno Haible  <bruno@clisp.org>
92495         * gnulib-tool (func_version): Change directory to $gnulib_dir before
92496         invoking git-version-gen.
92498 2008-09-26  Bruno Haible  <bruno@clisp.org>
92500         * posix-modules: Update to directory names changed on 2008-01-19.
92501         Remove commas in output before splitting into words. No more need to
92502         avoid 'ftruncate' since 2007-02-19.
92504 2008-09-26  Bruno Haible  <bruno@clisp.org>
92506         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
92508 2008-09-26  Bruno Haible  <bruno@clisp.org>
92510         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
92511         * modules/fwriteerror (Depends-on): Add errno.
92513 2008-09-26  Bruno Haible  <bruno@clisp.org>
92515         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
92516         * tests/test-vc-list-files-cvs.sh: Likewise.
92518 2008-09-26  Bruno Haible  <bruno@clisp.org>
92520         * doc/posix-headers/sys_resource.texi: Reorder items.
92522 2008-09-26  Jim Meyering  <meyering@redhat.com>
92524         fts: tweak inode comparison function
92525         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
92526         inode numbers, as documented.
92528         fts: sort dirent entries on inode number before traversing
92529         This avoids a quadratic, seek-related performance penalty when
92530         operating on a directory containing many entries (measurable at 10k;
92531         3.5 hours at 2 million entries with a cold cache) on certain types
92532         of file systems, including ext3 and ext4, but not tmpfs.
92533         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
92534         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
92535         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
92536         (fs_handles_readdir_ordered_dirents_efficiently): New function.
92537         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
92538         (fts_build): Set the stat.st_ino member from D_INO.
92539         If it is likely to be useful, sort dirent entries on inode number.
92541         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
92542         and the struct statfs.f_type member.
92543         * modules/fts (Depends-on): Add d-ino.
92545 2008-09-26  Bruno Haible  <bruno@clisp.org>
92547         * modules/sigpipe-die (Depends-on): Add sigpipe.
92549         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
92550         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
92551         and GNULIB_STDIO_H_SIGPIPE are set.
92552         * lib/stdio-write.c: New file.
92553         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
92554         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92555         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92556         REPLACE_STDIO_WRITE_FUNCS.
92557         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
92558         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92559         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92560         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92561         * modules/stdio (Files): Add lib/stdio-write.c.
92562         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
92563         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92564         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92565         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92566         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
92567         REPLACE_FPRINTF_POSIX.
92568         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
92569         REPLACE_PRINTF_POSIX.
92570         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
92571         REPLACE_VFPRINTF_POSIX.
92572         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
92573         REPLACE_VPRINTF_POSIX.
92574         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
92575         SIGPIPE issue.
92576         * doc/posix-functions/fputc.texi: Likewise.
92577         * doc/posix-functions/fputs.texi: Likewise.
92578         * doc/posix-functions/fwrite.texi: Likewise.
92579         * doc/posix-functions/printf.texi: Likewise.
92580         * doc/posix-functions/putc.texi: Likewise.
92581         * doc/posix-functions/putchar.texi: Likewise.
92582         * doc/posix-functions/puts.texi: Likewise.
92583         * doc/posix-functions/vfprintf.texi: Likewise.
92584         * doc/posix-functions/vprintf.texi: Likewise.
92586         * modules/safe-write (Depends-on): Add write.
92588         * modules/sigpipe-tests: New file.
92589         * tests/test-sigpipe.c: New file.
92590         * tests/test-sigpipe.sh: New file.
92592         * modules/write: New file.
92593         * lib/unistd.in.h: Include <sys/types.h>.
92594         (write): New declaration.
92595         * lib/write.c: New file.
92596         * m4/write.m4: New file.
92597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
92598         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
92599         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
92600         GNULIB_WRITE, REPLACE_WRITE.
92601         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
92602         and the SIGPIPE issue.
92604         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
92605         (raise): New declaration.
92606         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
92607         (ext_signal): New function.
92608         (rpl_raise): New function.
92609         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
92610         GNULIB_SIGNAL_H_SIGPIPE.
92611         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
92612         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
92614         * modules/sigpipe: New file.
92615         * m4/sigpipe.m4: New file.
92617 2008-09-25  Derek Price  <derek@ximbiot.com>
92618             Bruno Haible  <bruno@clisp.org>
92620         * gnulib-tool (func_import): Report all license incompatibilities, not
92621         just the first one.
92623 2008-09-25  Bruno Haible  <bruno@clisp.org>
92625         * gnulib-tool (func_import): When computing the edits, consider not
92626         only the Makefile.ams that exist but also those that will be generated.
92628 2008-09-25  Simon Josefsson  <simon@josefsson.org>
92630         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
92631         fixes gnulib-tool --test warning about duplicate dependency.
92633 2008-09-25  Bruno Haible  <bruno@clisp.org>
92635         * gnulib-tool: Don't ask the user to perform edits in the generated
92636         Makefile.ams.
92637         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
92638         apply to the Makefile.am being generated.
92639         (func_emit_tests_Makefile_am): Execute edits that apply to the
92640         Makefile.am being generated.
92641         (func_import): Setup list of Makefile.am edits before emitting the
92642         Makefile.ams, not at the end.
92643         (func_create_testdir): Update.
92644         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92646 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92648         * gnulib-tool (func_import): Store the --tests-base option in the
92649         comment in gnulib-cache.m4.
92651 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
92653         * NEWS: Document increased portability that sys_select now provides.
92655         * lib/sys_select.in.h: Install select wrapper.
92656         * lib/sys_socket.in.h: Use more descriptive name when there is no
92657         select wrapper.
92658         * lib/winsock-select.c: New.
92659         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
92660         Require gl_HEADER_SYS_SOCKET.
92661         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
92662         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
92663         * tests/test-sys_select.c: Add functional tests.
92665 2008-09-24  Eric Blake  <ebb9@byu.net>
92667         open, fopen: close fd leak in last patch
92668         * lib/open.c (rpl_open): Close fd before returning error.
92669         * lib/fopen.c (rpl_fopen): Close fd before returning error.
92670         * doc/posix-functions/open.texi (open): Document that Irix also
92671         has the bug.
92672         * doc/posix-functions/fopen.texi (fopen): Likewise.
92673         Reported by Paolo Bonzini.
92675 2008-09-24  Bruno Haible  <bruno@clisp.org>
92677         Ensure that a filename ending in a slash cannot be used to access a
92678         non-directory.
92679         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
92680         to check whether it's really a directory.
92681         * lib/fopen.c: Include fcntl.h, unistd.h.
92682         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
92683         and fdopen().
92684         * modules/fopen (Depends-on): Add unistd.
92685         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
92686         * tests/test-fopen.c (main): Likewise.
92687         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
92688         * doc/posix-functions/fopen.texi: Likewise.
92689         Reported by Eric Blake.
92691 2008-09-23  Eric Blake  <ebb9@byu.net>
92693         c-stack: avoid compiler optimizations when provoking overflow
92694         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
92695         recursion harder to optimize, to ensure a stack overflow occurs.
92696         * tests/test-c-stack.c (recurse): Likewise.
92697         Borrowed from libsigsegv.
92699         c-stack: work around Irix sigaltstack bug
92700         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
92701         whether sigaltstack uses wrong end of stack_t (copied in part from
92702         libsigsegv).
92703         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
92704         Irix bug, without requiring an over-allocation.
92705         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
92706         bug.
92708         fopen: document mingw bug on directories
92709         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
92710         not allowing a stream visiting a directory, even though reading
92711         from such a stream is not portable.
92713 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92715         * lib/poll.c: Rewrite.
92716         * modules/poll: Depend on alloca.
92718 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92720         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
92721         instead define prototypes for a full set of wrappers.  Ensure
92722         that Cygwin does not use the compatibility code, which is only
92723         for MinGW.
92724         * lib/winsock.c: New.
92725         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
92726         * modules/sys_socket: Add lib/winsock.c.
92728         * modules/poll-tests: Add errno and perror.
92729         * tests/test-poll.c: Use ioctl, not ioctlsocket.
92731 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92733         * tests/test-poll.c: Downgrade minimum needed Winsock version.
92735 2008-09-23  Bruno Haible  <bruno@clisp.org>
92737         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
92738         * doc/glibc-functions/*: Likewise.
92740 2008-09-23  Simon Josefsson  <simon@josefsson.org>
92742         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
92743         success.
92745 2008-09-22  Eric Blake  <ebb9@byu.net>
92746             Bruno Haible  <bruno@clisp.org>
92748         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
92749         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
92750         supply %A but mishandle pseudo-NaN.
92751         Reported by Simon Josefsson.
92753 2008-09-21  Bruno Haible  <bruno@clisp.org>
92755         * tests/test-lock.c (main): Tweak skip message.
92756         * tests/test-tls.c (main): Likewise.
92758 2008-09-21  Bruno Haible  <bruno@clisp.org>
92760         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
92761         whether 'struct sigaction' has sa_sigaction here...
92762         (gl_PREREQ_SIG_HANDLER_H): ... not here.
92763         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
92765 2008-09-21  Bruno Haible  <bruno@clisp.org>
92767         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
92768         section.
92769         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
92770         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
92771         the new section.
92772         (Support for obsolete systems lacking POSIX:2001): New section.
92773         (String handling <string.h>): Move strdup to the new section.
92774         Suggested by Simon Josefsson and Paolo Bonzini.
92776 2008-09-21  Bruno Haible  <bruno@clisp.org>
92778         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
92779         exponents in %e and %g results on 'long double'. Needed for mingw's
92780         improved *printf functions.
92781         * tests/test-vasprintf-posix.c (test_function): Likewise.
92782         * tests/test-snprintf-posix.h (test_function): Likewise.
92783         * tests/test-sprintf-posix.h (test_function): Likewise.
92784         Reported by Eric Blake.
92786 2008-09-21  Bruno Haible  <bruno@clisp.org>
92788         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
92789         * tests/test-sprintf-posix.h (test_function): Likewise.
92791 2008-09-21  Bruno Haible  <bruno@clisp.org>
92793         * modules/getpass (Depends-on): Add strdup-posix.
92795         New module 'strdup-posix'.
92796         * modules/strdup-posix: New file.
92797         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
92798         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
92799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
92800         REPLACE_STRDUP.
92801         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
92802         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
92803         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92804         strdup-posix.
92806         * modules/strdup (Depends-on): Remove malloc-posix.
92808 2008-09-20  Bruno Haible  <bruno@clisp.org>
92810         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
92811         Wildenhues.
92813 2008-09-20  Bruno Haible  <bruno@clisp.org>
92815         Ensure that wint_t gets defined on IRIX 5.3.
92816         * lib/wchar.in.h (wint_t): Define if not defined by the system.
92817         * lib/wctype.in.h (wint_t): Likewise.
92818         (__wctype_wint_t): Remove type.
92819         (isw*): Use wint_t instead of __wctype_wint_t.
92820         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
92821         * modules/wchar (Files): Add m4/wint_t.m4.
92822         (Makefile.am): Substitute HAVE_WINT_T.
92823         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
92824         * tests/test-wctype.c: Check that wint_t is defined.
92825         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
92826         * doc/posix-headers/wctype.texi: Likewise.
92827         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
92829 2008-09-18  Bruno Haible  <bruno@clisp.org>
92831         * gnulib-tool (func_exit): Update comment.
92833 2008-09-18  Simon Josefsson  <simon@josefsson.org>
92835         * modules/getaddrinfo (Depends-on): Remove strdup, this module
92836         assumes strdup exists and does not depend on strdup to return
92837         ENOMEM on out of memory conditions.
92839 2008-09-18  Bruno Haible  <bruno@clisp.org>
92841         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
92842         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
92843         digits for the exponent.
92845 2008-09-18  Jim Meyering  <meyering@redhat.com>
92846             Bruno Haible  <bruno@clisp.org>
92848         * lib/vasnprintf.c (decimal_point_char): Define also if
92849         NEED_PRINTF_INFINITE_LONG_DOUBLE.
92851 2008-09-16  Bruno Haible  <bruno@clisp.org>
92852         and Eric Blake  <ebb9@byu.net>
92854         vasnprintf: support Irix 5.3
92855         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
92856         that mishandle long double infinity.
92857         Reported by Tom G. Christensen.
92859 2008-09-16  Bruno Haible  <bruno@clisp.org>
92861         * doc/glibc-functions/scandir.texi: Mention the function is missing on
92862         Solaris 9.
92863         * doc/glibc-functions/alphasort.texi: Likewise.
92864         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
92866 2008-09-16  Jim Meyering  <meyering@redhat.com>
92868         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
92869         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
92870         a umask modification leak out of a subshell.  Otherwise, the
92871         opensolaris /bin/sh would be accepted and thus cause unwarranted
92872         failures in the coreutils test suite.
92874 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
92876         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
92877         to succeed.
92879 2008-09-16  Jim Meyering  <meyering@redhat.com>
92881         avoid spurious test failure when library is built without ACL support
92882         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
92883         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
92884         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
92885         * tests/test-copy-acl.sh: Likewise.
92887 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92889         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
92890         based on character occurrence counts.
92892 2008-09-15  Eric Blake  <ebb9@byu.net>
92894         tests: avoid some compiler warnings
92895         * tests/test-memchr.c (main): Pass NULL indirectly.
92896         * tests/test-closein.c (main): Avoid unused variable.
92898 2008-09-15  Bruno Haible  <bruno@clisp.org>
92900         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
92901         are missing on OpenBSD 4.0 individually.
92902         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92904 2008-09-15  Bruno Haible  <bruno@clisp.org>
92906         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
92907         * doc/posix-functions/strerror.texi: Mention also Cygwin.
92908         * doc/posix-functions/perror.texi: Likewise.
92909         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
92910         is missing.
92911         Reported by Eric Blake.
92913         * lib/errno.in.h: Use replacement values >= 2000.
92914         Reported by Eric Blake.
92916 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92918         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
92919         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
92920         limit.
92921         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
92922         compareseq was aborted.
92924 2008-09-14  Bruno Haible  <bruno@clisp.org>
92926         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
92927         yvec_edit_count.
92928         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
92929         (fstrcmp_bounded): Simplify result computation accordingly.
92931 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92933         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
92934         (fstrcmp): Define in terms of fstrcmp_bounded.
92935         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
92936         lower_bound argument.
92937         Return quickly if the result is certainly < lower_bound.
92938         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
92940 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92942         * lib/diffseq.h (EARLY_ABORT): New macro.
92943         (compareseq): Change return type to bool. Return true when EARLY_ABORT
92944         evaluates to true.
92946 2008-09-14  Bruno Haible  <bruno@clisp.org>
92948         * modules/perror-tests: New file.
92949         * tests/test-perror.sh: New file.
92950         * tests/test-perror.c: New file.
92952         New module 'perror'.
92953         * lib/stdio.in.h (perror): New declaration.
92954         * lib/perror.c: New file.
92955         * m4/perror.m4: New file.
92956         * modules/perror: New file.
92957         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
92958         * doc/posix-functions/perror.texi: Mention the perror module.
92959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
92960         REPLACE_PERROR.
92961         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
92962         REPLACE_PERROR.
92964 2008-09-14  Bruno Haible  <bruno@clisp.org>
92966         * modules/stdio (Makefile.am): Reorder to match the order in
92967         lib/stdio.in.h.
92968         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
92970 2008-09-13  Bruno Haible  <bruno@clisp.org>
92972         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
92974 2008-09-13  Bruno Haible  <bruno@clisp.org>
92976         Extend strerror to cover the added errno values.
92977         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
92978         (rpl_strerror): Provide error messages for the added errno values and
92979         for the WSA* values.
92980         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
92981         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
92982         strerror.
92983         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
92984         * modules/strerror (Depends-on): Add errno.
92985         * doc/posix-functions/strerror.texi: Document the change.
92986         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
92987         and EOVERFLOW.
92989 2008-09-13  Bruno Haible  <bruno@clisp.org>
92991         * modules/EOVERFLOW: Remove file.
92992         * m4/eoverflow.m4: Remove file.
92993         * modules/EOVERFLOW-tests: Remove file.
92994         * tests/test-EOVERFLOW.c: Remove file.
92995         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
92996         * modules/ftell (Depends-on): Likewise.
92997         * modules/getdelim (Depends-on): Likewise.
92998         * modules/getugroups (Depends-on): Likewise.
92999         * modules/poll (Depends-on): Likewise.
93000         * modules/snprintf (Depends-on): Likewise.
93001         * modules/sprintf-posix (Depends-on): Likewise.
93002         * modules/vasnprintf (Depends-on): Likewise.
93003         * modules/vasprintf (Depends-on): Likewise.
93004         * modules/vfprintf-posix (Depends-on): Likewise.
93005         * modules/vsnprintf (Depends-on): Likewise.
93006         * modules/vsprintf-posix (Depends-on): Likewise.
93007         * modules/xvasprintf (Depends-on): Likewise.
93008         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
93009         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
93010         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
93011         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
93012         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
93013         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
93014         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
93015         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
93016         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
93017         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
93018         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
93019         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
93020         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
93021         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
93022         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
93023         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
93024         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
93025         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
93026         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
93027         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
93028         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
93029         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
93030         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
93031         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
93032         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
93033         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
93034         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
93035         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
93036         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
93037         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
93038         * MODULES.html.sh: Remove EOVERFLOW.
93039         * NEWS: Mention the change.
93041 2008-09-13  Bruno Haible  <bruno@clisp.org>
93043         * modules/errno-tests: New file.
93044         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
93046         * lib/errno.in.h: New file.
93047         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
93048         * modules/errno: New file.
93049         * doc/posix-headers/errno.texi: Update documentation.
93050         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
93052 2008-09-13  Bruno Haible  <bruno@clisp.org>
93054         * tests/test-poll.c: Use #if for native Windows, rather than testing
93055         __MSVCRT__.
93057 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93058             Bruno Haible  <bruno@clisp.org>
93060         * lib/glob.c: Don't include <pwd.h> on native Windows.
93061         (WINDOWS32): New macro.
93062         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
93064 2008-09-13  Bruno Haible  <bruno@clisp.org>
93066         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
93067         (ETIMEDOUT): Remove macro.
93068         (glthread_cond_timedwait_multithreaded): New declaration.
93069         (glthread_cond_timedwait): Use it.
93070         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
93071         (glthread_cond_timedwait_multithreaded): New function.
93073 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93075         * modules/poll-tests: Do not check for io.h.
93076         * tests/test-poll.c: Check for __MSVCRT__ instead.
93078 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93080         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
93081         * modules/poll-tests: Add inet_pton, stdbool, sockets.
93082         * tests/test-poll.c: Use them.  Use _pipe on Windows.
93084 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93086         * modules/poll-tests: New.
93087         * tests/test-poll.c: New.
93089 2008-09-12  Eric Blake  <ebb9@byu.net>
93091         frexp: test for NetBSD failure on -0.0
93092         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
93093         not all, bugs from NetBSD 3.0 have been fixed.
93094         * doc/posix-functions/frexp.texi (frexp): Document bug.
93095         Reported by Thomas Klausner.
93097         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
93098         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
93099         literal -0.0.
93100         Reported by Jonathan C. Patschke <jp@centtech.com>.
93102 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93104         * lib/glthread/cond.h: Use dummy implementation also if
93105         USE_WIN32_THREADS.
93107 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93109         * modules/fnmatch-posix (License): Change to LGPLv2+.
93110         * modules/fnmatch-gnu (License): Likewise.
93112 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93114         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
93116 2008-09-11  Jim Meyering  <meyering@redhat.com>
93118         * users.txt: Add gtk-vnc.
93120 2008-09-08  Simon Josefsson  <simon@josefsson.org>
93122         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
93123         rotate amounts.
93125         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
93126         required for 16-bit and 8-bit rotates.
93127         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
93128         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
93129         UINT8_MAX instead of hard-coded constants.
93130         Suggested by Paul Eggert.
93132 2008-09-07  Bruno Haible  <bruno@clisp.org>
93134         * tests/test-striconveh.c (main): Check behaviour when converting from
93135         UTF-7.
93137         Make striconveh work better with stateful encodings.
93138         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
93139         that iconv does not increment the inptr when returning -1/EINVAL.
93141 2008-09-07  Bruno Haible  <bruno@clisp.org>
93143         * build-aux/config.rpath: Update according to libtool-2.2.6.
93144         * build-aux/config.libpath: Likewise.
93146 2008-09-06  Bruno Haible  <bruno@clisp.org>
93148         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
93149         * lib/freadptr.c (freadptr): Likewise.
93150         * lib/freadseek.c (freadptrinc): Likewise.
93151         Reported by Simon Josefsson.
93153 2008-09-06  Bruno Haible  <bruno@clisp.org>
93155         * modules/freadptr (License): Change to LGPLv2+.
93156         * modules/freadseek (License): Likewise.
93157         Suggested by Eric Blake.
93159         * modules/memchr2 (License): Change to LGPLv2+.
93160         Approved by Eric Blake.
93162 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93163             Bruno Haible  <bruno@clisp.org>
93165         Make gnulib-tool work with native 'sed' on AIX.
93166         * gnulib-tool (sed_noop): New variable.
93167         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
93168         func_add_or_update, func_create_testdir): Use it to initialize sed
93169         script variables.
93170         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93172 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
93173             Bruno Haible  <bruno@clisp.org>
93175         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
93176         also works after #include directives.
93178 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
93180         getdate.y: reject an out-of-range timezone value
93181         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
93182         the range [-24...+24].  When specified with only one or two digits,
93183         * tests/test-getdate.c: Tests for the fix.
93184         * doc/getdate.texi: Document this change.
93186 2008-09-03  Bruno Haible  <bruno@clisp.org>
93188         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
93190 2008-09-02  Simon Josefsson  <simon@josefsson.org>
93192         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
93193         <bruce.korb@gmail.com> with ideas from Ben Pfaff
93194         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
93195         Blake <ebb9@byu.net>.
93197         * tests/test-bitrotate.c: Add more test vectors.
93199 2008-09-02  Eric Blake  <ebb9@byu.net>
93201         vasnprintf-posix: handle large precision via %.*d
93202         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
93203         when handling it ourselves.
93204         * tests/test-vasnprintf-posix.c (test_function): Add test.
93205         * tests/test-snprintf-posix.h (test_function): Likewise.
93206         * tests/test-sprintf-posix.h (test_function): Likewise.
93207         * tests/test-vasprintf-posix.c (test_function): Likewise.
93208         Reported by Alain Guibert.
93210 2008-09-01  Eric Blake  <ebb9@byu.net>
93212         c-stack: make configure-time check more robust
93213         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
93214         successful sigaction call.
93215         Reported by Tom G. Christensen.
93217 2008-09-01  Bruno Haible  <bruno@clisp.org>
93219         New module 'findprog-lgpl'.
93220         * modules/findprog-lgpl: New file.
93221         * lib/findprog-lgpl.c: New file.
93222         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
93223         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
93224         to decide whether to use strdup or xstrdup, concatenated_filename or
93225         xconcatenated_filename.
93227 2008-09-01  Bruno Haible  <bruno@clisp.org>
93229         Split module 'concat-filename' into 'concat-filename' (LGPL) and
93230         'xconcat-filename' (GPL).
93231         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
93232         (License): Change to LGPLv2+.
93233         * modules/xconcat-filename: New file.
93234         * lib/concat-filename.h (concatenated_filename): Change specification.
93235         (xconcatenated_filename): New declaration.
93236         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
93237         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
93238         memory situations.
93239         * lib/xconcat-filename.c: New file.
93240         * NEWS: Mention the change.
93241         * lib/findprog.c: Include concat-filename.h, not filename.h.
93242         (find_in_path): Use xconcatenated_filename instead of
93243         concatenated_filename.
93244         * lib/javacomp.c: Include concat-filename.h, not filename.h.
93245         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
93246         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
93247         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
93248         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
93249         instead of concatenated_filename.
93250         * lib/javaexec.c: Include concat-filename.h, not filename.h.
93251         (execute_java_class): Use xconcatenated_filename instead of
93252         concatenated_filename.
93253         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
93254         * modules/javacomp (Depends-on): Likewise.
93255         * modules/javaexec (Depends-on): Likewise.
93257 2008-09-01  Bruno Haible  <bruno@clisp.org>
93259         Split module 'filename' into 'filename' and 'concat-filename'.
93260         * modules/filename: Keep only lib/filename.h.
93261         (License): Change to LGPLv2+.
93262         * modules/concat-filename: New file, extracted from modules/filename.
93263         * lib/filename.h (concatenated_filename): Remove declaration.
93264         * lib/concat-filename.h: New file, extracted from lib/filename.h.
93265         * lib/concat-filename.c: Include concat-filename.h.
93266         * NEWS: Mention the change.
93268 2008-09-01  Simon Josefsson  <simon@josefsson.org>
93270         * lib/bitrotate.h (rotl8, rotr8): Add.
93272         * modules/bitrotate (configure.ac): Need
93273         AC_REQUIRE([AC_C_INLINE]).
93274         (Description): Mention stdint.h.  Reported by Bruno Haible
93275         <bruno@clisp.org>.
93277         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
93278         Paolo Bonzini <bonzini@gnu.org>.
93280 2008-08-31  Bruno Haible  <bruno@clisp.org>
93282         Assume Solaris specific bi-arch conventions on Solaris systems.
93283         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
93284         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
93285         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
93286         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
93287         like acl_libdirstem.
93288         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
93289         acl_libdirstem.
93290         * NEWS: Mention the change.
93291         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
93293 2008-08-31  Jim Meyering  <meyering@redhat.com>
93295         * lib/strftime.h: Add comments describing the two added arguments.
93297         remove duplicate #include directives
93298         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
93299         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
93301 2008-08-31  Bruno Haible  <bruno@clisp.org>
93303         New module 'sigpipe-die'.
93304         * modules/sigpipe-die: New file.
93305         * lib/sigpipe-die.h: New file.
93306         * lib/sigpipe-die.c: New file.
93307         * MODULES.html.sh (Signal handling): Add sigpipe-die.
93309 2008-08-31  Bruno Haible  <bruno@clisp.org>
93311         Don't override previously installed signal handlers.
93312         * lib/fatal-signal.c (saved_sigactions): New variable.
93313         (uninstall_handlers): Reset the signal to the saved handler, not
93314         to SIG_DFL (except when ignored).
93315         (install_handlers): Save the previous handlers.
93317 2008-08-30  Bruno Haible  <bruno@clisp.org>
93319         * gnulib-tool (func_reset_sigpipe): New function.
93320         (func_get_automake_snippet, func_modules_transitive_closure,
93321         func_import): Invoke it before a join command that reads from stdin,
93322         to avoid "echo: write error: Broken pipe" error messages on stderr.
93323         Reported by Sam Steingold <sds@gnu.org>.
93325 2008-08-30  Bruno Haible  <bruno@clisp.org>
93327         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
93328         Code copied from m4/open.m4.
93329         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
93330         access and the filename ends in a slash. Code copied from lib/open.c.
93331         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
93332         * tests/test-fopen.c (main): Check against bug with trailing slash.
93334 2008-08-29  Bruno Haible  <bruno@clisp.org>
93336         Avoid some "gcc -pedantic" warnings.
93337         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
93338         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
93339         * lib/dirent.in.h: Likewise.
93340         * lib/fcntl.in.h: Likewise.
93341         * lib/float.in.h: Likewise.
93342         * lib/iconv.in.h: Likewise.
93343         * lib/inttypes.in.h: Likewise.
93344         * lib/locale.in.h: Likewise.
93345         * lib/math.in.h: Likewise.
93346         * lib/netinet_in.in.h: Likewise.
93347         * lib/search.in.h: Likewise.
93348         * lib/signal.in.h: Likewise.
93349         * lib/stdarg.in.h: Likewise.
93350         * lib/stdint.in.h: Likewise.
93351         * lib/stdio.in.h: Likewise.
93352         * lib/stdlib.in.h: Likewise.
93353         * lib/string.in.h: Likewise.
93354         * lib/strings.in.h: Likewise.
93355         * lib/sys_select.in.h: Likewise.
93356         * lib/sys_socket.in.h: Likewise.
93357         * lib/sys_stat.in.h: Likewise.
93358         * lib/sys_time.in.h: Likewise.
93359         * lib/sysexits.in.h: Likewise.
93360         * lib/time.in.h: Likewise.
93361         * lib/unistd.in.h: Likewise.
93362         * lib/wchar.in.h: Likewise.
93363         * lib/wctype.in.h: Likewise.
93364         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
93365         * modules/fchdir (Makefile.am): Likewise.
93366         * modules/fcntl (Makefile.am): Likewise.
93367         * modules/float (Makefile.am): Likewise.
93368         * modules/iconv_open (Makefile.am): Likewise.
93369         * modules/inttypes (Makefile.am): Likewise.
93370         * modules/locale (Makefile.am): Likewise.
93371         * modules/math (Makefile.am): Likewise.
93372         * modules/netinet_in (Makefile.am): Likewise.
93373         * modules/search (Makefile.am): Likewise.
93374         * modules/signal (Makefile.am): Likewise.
93375         * modules/stdarg (Makefile.am): Likewise.
93376         * modules/stdint (Makefile.am): Likewise.
93377         * modules/stdio (Makefile.am): Likewise.
93378         * modules/stdlib (Makefile.am): Likewise.
93379         * modules/string (Makefile.am): Likewise.
93380         * modules/strings (Makefile.am): Likewise.
93381         * modules/sys_select (Makefile.am): Likewise.
93382         * modules/sys_socket (Makefile.am): Likewise.
93383         * modules/sys_stat (Makefile.am): Likewise.
93384         * modules/sys_time (Makefile.am): Likewise.
93385         * modules/sysexits (Makefile.am): Likewise.
93386         * modules/time (Makefile.am): Likewise.
93387         * modules/unistd (Makefile.am): Likewise.
93388         * modules/wchar (Makefile.am): Likewise.
93389         * modules/wctype (Makefile.am): Likewise.
93390         Reported by Reuben Thomas <rrt@sc3d.org>.
93392 2008-08-29  Bruno Haible  <bruno@clisp.org>
93394         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
93395         any more.
93397 2008-08-29  Simon Josefsson  <simon@josefsson.org>
93399         * MODULES.html.sh (Misc): Add bitrotate.
93401         * modules/bitrotate: New file.
93403         * lib/bitrotate.h: New file.
93405         * modules/bitrotate-tests: New file.
93407         * tests/test-bitrotate.c: New file.
93409         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
93410         on the bitrotate module.
93412         * lib/arctwo.c: Use new bitrotate module.
93414 2008-08-29  Jim Meyering  <meyering@redhat.com>
93416         bootstrap: merge changes from coreutils
93417         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
93418         of copied files.  Remove a kludge, now that this is fixed.
93419         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
93420         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
93421         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
93423 2008-08-29  Bruno Haible  <bruno@clisp.org>
93425         * MODULES.html.sh: Remove --cvs-urls option.
93427 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
93429         maint.mk: adjust to file name change
93430         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
93432 2008-08-28  Jim Meyering  <meyering@redhat.com>
93434         * modules/getndelim2 (License): Relicense to LGPLv2+.
93435         Approved by Richard Stallman for the version of 1995, and by
93436         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
93438 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
93440         * lib/getdelim.c (flockfile, funlockfile): Make all of them
93441         dummy if one is not available.  Do not touch them if
93442         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
93443         (getc_maybe_unlocked): New.
93444         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
93446 2008-08-26  Eric Blake  <ebb9@byu.net>
93448         doc/INSTALL: resync from autoconf
93449         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
93450         (INSTALL_PRELUDE): Delete; this is done more efficiently by
93451         moving...
93452         * install.texi [!autoconf]: ...here.  Resync from autoconf.
93453         * INSTALL: Regenerate.
93454         * INSTALL.ISO: New file.
93455         * INSTALL.UTF-8: Likewise.
93457 2008-08-26  Jim Meyering  <meyering@redhat.com>
93459         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
93460         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
93461         these definitions conditional, so that they may be overridden, too.
93463 2008-08-26  Bruno Haible  <bruno@clisp.org>
93465         Generate INSTALL file variants with prettier quotes.
93466         * doc/Makefile (INSTALL_PRELUDE): New macro.
93467         (INSTALL): Use it.
93468         (INSTALL.ISO, INSTALL.UTF-8): New rules.
93470 2008-08-26  Bruno Haible  <bruno@clisp.org>
93472         Run makeinfo in an English locale.
93473         * doc/Makefile (MAKEINFO): New variable.
93475 2008-08-26  Bruno Haible  <bruno@clisp.org>
93477         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
93478         Suggested by Eric Blake.
93480 2008-08-25  Bruno Haible  <bruno@clisp.org>
93482         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
93484 2008-08-25  Eric Blake  <ebb9@byu.net>
93486         c-stack: test that stack overflow can be caught
93487         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
93488         that platform allows handling stack overflow; at least OS/2 EMX
93489         has sigaltstack, but crashes before transferring control to
93490         handler on stack overflow.
93491         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
93492         check for HAVE_STACK_OVERFLOW_HANDLING.
93493         Reported by Elbert Pol.
93495 2008-08-25  Bruno Haible  <bruno@clisp.org>
93497         * doc/posix-functions/strftime.texi: Fix description of strftime
93498         module.
93500 2008-08-24  Bruno Haible  <bruno@clisp.org>
93502         * tests/uniwidth/test-uc_width2.c: New file.
93503         * tests/uniwidth/test-uc_width2.sh: New file.
93504         * modules/uniwidth/width-tests (Files): Add the new files.
93505         (TESTS): Add uniwidth/test-uc_width2.sh.
93506         (TESTS_ENVIRONMENT): New variable.
93507         (check_PROGRAMS): Add test-uc_width2.
93508         (test_uc_width2_SOURCES): New variable.
93510         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
93511         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
93512         not 0x00AB.
93513         Reported by Alexander V. Lukyanov <lav@netis.ru>.
93515 2008-08-22  Eric Blake  <ebb9@byu.net>
93517         test-lock, test-tls: mention why a test is skipped
93518         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
93519         skipped.
93520         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
93522         count-one-bits: relax license
93523         * modules/count-one-bits (License): Relicense to LGPLv2+.
93524         Suggested by Ludovic Courtès, approved by Ben Pfaff.
93526 2008-08-22  Andreas Schwab  <schwab@suse.de>
93528         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
93529         Remove spurious space in assignment.
93531 2008-08-21  Simon Josefsson  <simon@josefsson.org>
93533         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
93534         Paul Eggert <eggert@CS.UCLA.EDU>.
93536 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
93538         * modules/gettext: Add m4/threadlib.m4.
93540 2008-08-19  Eric Blake  <ebb9@byu.net>
93542         test-c-stack: fix compilation failure on FreeBSD 5.0
93543         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
93544         headers before <sys/resource.h>.
93545         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
93546         the bug.
93547         Reported by Nelson H. F. Beebe.
93549         strverscmp: migrate from "strverscmp.h" to <string.h>
93550         * modules/string (Makefile.am): Add new hooks.
93551         * modules/strverscmp (Files): Remove strverscmp.h.
93552         (Depends-on): Add string.
93553         (configure.ac): Add indicator.
93554         (Include): Mention new header.
93555         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
93556         defaults.
93557         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
93558         results.
93559         * lib/strverscmp.h: Delete.
93560         * lib/string.in.h (strverscmp): Provide declaration, when needed.
93561         * tests/test-strverscmp.c (includes): Adjust client.
93562         * lib/check-version.c (includes): Likewise.
93563         * NEWS: Document the change.
93565         strverscmp: add unit test
93566         * modules/strverscmp-tests: New file.
93567         * tests/test-strverscmp.c: Likewise.
93569 2008-08-19  Simon Josefsson  <simon@josefsson.org>
93571         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
93572         regarding Windows crypto stuff, from Mono.
93574 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
93576         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
93577         if present, for intel RND.  Return error on failures.
93579 2008-08-18  Ben Pfaff  <blp@gnu.org>
93581         gitlog-to-changelog: give better diagnostic for failed pipe-open
93582         * build-aux/gitlog-to-changelog: Improve error message: suggest
93583         that the version of Git may be too old.
93585 2008-08-18  Simon Josefsson  <simon@josefsson.org>
93587         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
93588         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
93590 2008-08-18  Bruno Haible  <bruno@clisp.org>
93592         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
93593         pthread_in_use().
93595 2008-08-18  Bruno Haible  <bruno@clisp.org>
93597         * lib/glthread/threadlib.c: Include <pthread.h>.
93599 2008-08-18  Bruno Haible  <bruno@clisp.org>
93601         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
93602         glthread_recursive_lock_* macros.
93603         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
93604         Fix syntax error.
93606 2008-08-18  Bruno Haible  <bruno@clisp.org>
93608         * lib/glthread/thread.c: Avoid forcing a context switch right after
93609         thread creation.
93611 2008-08-17  Bruno Haible  <bruno@clisp.org>
93613         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
93614         * lib/glthread/thread.h: Provide Win32 specific implementation.
93615         * modules/thread (Files): Add lib/glthread/thread.c.
93616         (Depends-on): Add lock.
93617         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
93619 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93621         New module 'yield'.
93622         * modules/yield: New file.
93623         * lib/glthread/yield.h: New file.
93624         * m4/yield.m4: New file.
93625         * MODULES.html.sh (Multithreading): Add yield.
93627 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93629         New module 'thread'.
93630         * modules/thread: New file.
93631         * lib/glthread/thread.h: New file.
93632         * m4/thread.m4: New file.
93633         * MODULES.html.sh (Multithreading): Add thread.
93635 2008-08-17  Bruno Haible  <bruno@clisp.org>
93637         * lib/glthread/lock.h: Include <stdlib.h> always.
93638         * lib/glthread/tls.h: Likewise.
93639         * lib/glthread/cond.h: Likewise.
93641 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93643         New module 'cond'.
93644         * modules/cond: New file.
93645         * lib/glthread/cond.h: New file.
93646         * lib/glthread/cond.c: New file.
93647         * m4/cond.m4: New file.
93648         * MODULES.html.sh (Multithreading): Add cond.
93650 2008-08-16  Eric Blake  <ebb9@byu.net>
93652         c-stack: fix regression on Irix 5.3 from 2008-06-21
93653         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
93654         sa_sigaction...
93655         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
93656         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
93657         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
93658         * modules/signal (Makefile.am): Use the value.
93659         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
93660         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
93661         * doc/posix-headers/signal.texi (signal.h): Document this
93662         portability issue.
93663         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
93664         Reported by Tom G. Christensen.
93666 2008-08-17  Bruno Haible  <bruno@clisp.org>
93668         New module 'threadlib'.
93669         * modules/threadlib: New file.
93670         * lib/glthread/threadlib.c: New file, extracted from
93671         lib/glthread/lock.c.
93672         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
93673         functions.
93674         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
93675         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
93676         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
93677         macros.
93678         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
93679         (gl_DISABLE_THREADS): Remove macro.
93680         * modules/lock (Files): Remove build-aux/config.rpath.
93681         (Depends-on): Remove havelib. Add threadlib.
93682         (configure.ac-early): Remove section.
93683         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
93684         * modules/tls (Depends-on): Remove lock. Add threadlib.
93685         (Link): New section, copied from threadlib.
93686         * MODULES.html.sh (Multithreading): Add threadlib.
93688 2008-08-14  Bruno Haible  <bruno@clisp.org>
93690         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
93691         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
93692         glthread_rwlock_unlock, glthread_rwlock_destroy,
93693         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
93694         glthread_recursive_lock_destroy): Define as macros always.
93695         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
93696         glthread_lock_lock.
93697         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
93698         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
93699         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
93700         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
93701         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
93702         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
93703         (glthread_recursive_lock_lock_func): Renamed from
93704         glthread_recursive_lock_lock.
93705         (glthread_recursive_lock_unlock_func): Renamed from
93706         glthread_recursive_lock_unlock.
93707         (glthread_recursive_lock_destroy_func): Renamed from
93708         glthread_recursive_lock_destroy.
93710 2008-08-14  Bruno Haible  <bruno@clisp.org>
93712         * lib/glthread/lock.h: Renamed from lib/lock.h.
93713         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
93714         * lib/glthread/tls.h: Renamed from lib/tls.h.
93715         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
93716         * lib/fstrcmp.c: Update includes.
93717         * lib/strsignal.c: Update includes.
93718         * modules/lock (Files, Makefile.am): Update.
93719         (Include): Change to "glthread/lock.h".
93720         * modules/tls (Files, Makefile.am): Update.
93721         (Include): Change to "glthread/tls.h".
93722         * tests/test-lock.c: Update includes.
93723         * tests/test-tls.c: Update includes.
93724         * NEWS: Mention the renamed header files.
93726 2008-08-11  Jim Meyering  <meyering@redhat.com>
93728         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
93730 2008-08-11  Eric Blake  <ebb9@byu.net>
93732         test-c-stack: avoid C99-ism
93733         * tests/test-c-stack.c (main): Fix whitespace, move declaration
93734         before statement.
93735         Reported by Alain Guibert.
93737 2008-08-10  Jim Meyering  <meyering@redhat.com>
93739         ensure that return value of uinttostr et al are not ignored
93740         * lib/inttostr.h (__GNUC_PREREQ): Define.
93741         (__attribute_warn_unused_result__): Define.
93742         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
93744 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
93746         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
93747         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
93749 2008-08-07  Jim Meyering  <meyering@redhat.com>
93751         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
93753         * modules/mkstemp (License): Relicense under LGPLv2+.
93754         * modules/tempname (License): Likewise.
93756 2008-08-06  Bruno Haible  <bruno@clisp.org>
93758         * lib/poll.c (poll): Further micro-optimization.
93760 2008-08-06  Jim Meyering  <meyering@redhat.com>
93762         inet_pton.c: use locale-independent tolower
93763         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
93764         (inet_pton6): Use c_tolower rather than tolower.
93765         * modules/inet_pton (Depends-on): Add c-ctype.
93767 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
93769         * lib/poll.c (poll): Avoid division when timeout is 0, cache
93770         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
93772 2008-08-06  Jim Meyering  <meyering@redhat.com>
93774         * modules/inet_pton (License): Relicense under LGPLv2+.
93776 2008-08-03  Bruno Haible  <bruno@clisp.org>
93778         Additional non-aborting API for lock and tls.
93779         * lib/lock.h: Include <errno.h>.
93780         (glthread_lock_init): New macro/function.
93781         (gl_lock_init): Define as wrapper around glthread_lock_init.
93782         (glthread_lock_lock): New macro/function.
93783         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
93784         (glthread_lock_unlock): New macro/function.
93785         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
93786         (glthread_lock_destroy): New macro/function.
93787         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
93788         (glthread_rwlock_init): New macro/function.
93789         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
93790         (glthread_rwlock_rdlock): New macro/function.
93791         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
93792         (glthread_rwlock_wrlock): New macro/function.
93793         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
93794         (glthread_rwlock_unlock): New macro/function.
93795         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
93796         (glthread_rwlock_destroy): New macro/function.
93797         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
93798         (glthread_recursive_lock_init): New macro/function.
93799         (gl_recursive_lock_init): Define as wrapper around
93800         glthread_recursive_lock_init.
93801         (glthread_recursive_lock_lock): New macro/function.
93802         (gl_recursive_lock_lock): Define as wrapper around
93803         glthread_recursive_lock_lock.
93804         (glthread_recursive_lock_unlock): New macro/function.
93805         (gl_recursive_lock_unlock): Define as wrapper around
93806         glthread_recursive_lock_unlock.
93807         (glthread_recursive_lock_destroy): New macro/function.
93808         (gl_recursive_lock_destroy): Define as wrapper around
93809         glthread_recursive_lock_destroy.
93810         (glthread_once): New macro/function.
93811         (gl_once): Define as wrapper around glthread_once.
93812         Update function declarations.
93813         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
93814         glthread_rwlock_init. Return error code.
93815         (glthread_rwlock_rdlock_multithreaded): Renamed from
93816         glthread_rwlock_rdlock. Return error code.
93817         (glthread_rwlock_wrlock_multithreaded): Renamed from
93818         glthread_rwlock_wrlock. Return error code.
93819         (glthread_rwlock_unlock_multithreaded): Renamed from
93820         glthread_rwlock_unlock. Return error code.
93821         (glthread_rwlock_destroy_multithreaded): Renamed from
93822         glthread_rwlock_destroy. Return error code.
93823         (glthread_recursive_lock_init_multithreaded): Renamed from
93824         glthread_recursive_lock_init. Return error code.
93825         (glthread_recursive_lock_lock_multithreaded): Renamed from
93826         glthread_recursive_lock_lock. Return error code.
93827         (glthread_recursive_lock_unlock_multithreaded): Renamed from
93828         glthread_recursive_lock_unlock. Return error code.
93829         (glthread_recursive_lock_destroy_multithreaded): Renamed from
93830         glthread_recursive_lock_destroy. Return error code.
93831         (glthread_once_call): Make static.
93832         (glthread_once_multithreaded): Renamed from glthread_once.
93833         * lib/tls.h: Include <errno.h>.
93834         (glthread_tls_key_init): New macro/function.
93835         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
93836         (glthread_tls_set): New macro/function.
93837         (gl_tls_set): Define as wrapper around glthread_tls_set.
93838         (glthread_tls_key_destroy): New macro/function.
93839         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
93840         Update function declarations.
93841         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
93842         glthread_tls_get.
93843         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
93845 2008-08-04  Eric Blake  <ebb9@byu.net>
93847         gnumakefile: use space, not TAB, outside of targets
93848         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
93850 2008-08-02  Jim Meyering  <meyering@redhat.com>
93852         getdate.y: avoid locale-dependent date parsing failure
93853         In Turkish locales, getdate would fail to recognize keywords
93854         containing a lowercase "i".  The solution is not to rely on
93855         locale-sensitive case-conversion.
93856         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
93857         (lookup_word): Use c_toupper in place of toupper.
93858         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
93859         Reported by Vefa Bicakci <bicave@superonline.com> in
93860         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
93861         * modules/getdate (Depends-on): Add c-ctype.
93863 2008-08-02  Bruno Haible  <bruno@clisp.org>
93865         * gnulib-tool (func_import): When updating or creating a .gitignore
93866         file, prepend each added line with a slash, and ignore leading slashes
93867         from the existing lines.
93868         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
93870 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93872         Portability fix for GNU make 3.79.1.
93873         * top/GNUmakefile: Avoid 'else COND', which older GNU make
93874         versions do not understand.
93876 2008-08-01  Bruno Haible  <bruno@clisp.org>
93878         Work around bug of HP-UX 10.20 cc with -0.0 literal.
93879         * tests/test-isnanf.h (zero): New variable.
93880         (main): Avoid literal -0.0f.
93881         * tests/test-isnand.h (zero): New variable.
93882         (main): Avoid literal -0.0.
93883         * tests/test-isnanl.h (zero): New variable.
93884         (main): Avoid literal -0.0L.
93885         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
93886         (test_float, test_double, test_long_double): Avoid literals -0.0f,
93887         -0.0, -0.0L.
93888         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
93889         (test_signbitd): Avoid literal -0.0.
93890         (test_signbitl): Avoid literal -0.0L.
93891         * tests/test-ceilf1.c (zero): New variable.
93892         (main): Avoid literal -0.0f.
93893         * tests/test-ceill.c (zero): New variable.
93894         (main): Avoid literal -0.0L.
93895         * tests/test-floorf1.c (zero): New variable.
93896         (main): Avoid literal -0.0f.
93897         * tests/test-floorl.c (zero): New variable.
93898         (main): Avoid literal -0.0L.
93899         * tests/test-roundf1.c (zero): New variable.
93900         (main): Avoid literal -0.0f.
93901         * tests/test-round1.c (zero): New variable.
93902         (main): Avoid literal -0.0.
93903         * tests/test-roundl.c (zero): New variable.
93904         (main): Avoid literal -0.0L.
93905         * tests/test-truncf1.c (zero): New variable.
93906         (main): Avoid literal -0.0f.
93907         * tests/test-trunc1.c (zero): New variable.
93908         (main): Avoid literal -0.0.
93909         * tests/test-truncl.c (zero): New variable.
93910         (main): Avoid literal -0.0L.
93911         * tests/test-frexp.c (zero): New variable.
93912         (main): Avoid literal -0.0.
93913         * tests/test-frexpl.c (zero): New variable.
93914         (main): Avoid literal -0.0L.
93915         * tests/test-ldexpl.c (zero): New variable.
93916         (main): Avoid literal -0.0L.
93917         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93918         (zerod, zerol): New variables.
93919         (test_function): Avoid literals -0.0, -0.0L.
93920         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93921         (zerod, zerol): New variables.
93922         (test_function): Avoid literals -0.0, -0.0L.
93923         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93924         (zerod, zerol): New variables.
93925         (test_function): Avoid literals -0.0, -0.0L.
93926         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93927         (zerod, zerol): New variables.
93928         (test_function): Avoid literals -0.0, -0.0L.
93929         * tests/test-strtod.c (zero): New variable.
93930         (main): Avoid literal -0.0.
93931         Reported by Jonathan C. Patschke <jp@centtech.com>.
93933 2008-07-31  Jim Meyering  <meyering@redhat.com>
93935         sha256.h: correct definition of SHA224_DIGEST_SIZE
93936         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
93937         Reported by Paulie Pena IV <paulie4@gmail.com>.
93938         Define as 224 / 8, rather than as a literal.
93939         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
93940         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
93941         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
93943 2008-07-31  Bruno Haible  <bruno@clisp.org>
93945         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
93946         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
93947         Reported by Jonathan Patschke <jp@centtech.com>.
93949 2008-07-31  Bruno Haible  <bruno@clisp.org>
93951         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
93952         Reported by Paolo Bonzini <bonzini@gnu.org>.
93954 2008-07-30  Eric Blake  <ebb9@byu.net>
93956         test-strtod: allow compilation without -lm
93957         * tests/test-strtod.c (main): Avoid link dependence on fabs.
93958         Reported by Dennis Clarke <blastwave@gmail.com>.
93960 2008-07-28  Jim Meyering  <meyering@redhat.com>
93962         bootstrap: work also when there are no .po files in po/
93963         * build-aux/bootstrap (update_po_files): Complete the change
93964         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
93966 2008-07-27  Jim Meyering  <meyering@redhat.com>
93968         * users.txt: Add zile.
93970 2008-07-26  Ben Pfaff  <blp@gnu.org>
93972         Add missing dependencies on new m4/exponent[fdl].m4 files.
93973         * modules/isnanf-nolibm: Add m4/exponentf.m4.
93974         * modules/isnand-nolibm: Add m4/exponentd.m4.
93975         * modules/isnanl-nolibm: Add m4/exponentl.m4.
93976         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
93977         m4/isnan[fdl].m4, because the macros actually used moved.
93978         Reported by Jim Meyering.
93980 2008-07-14  Ben Pfaff  <blp@gnu.org>
93982         Add isinf module.
93983         * lib/isinf.c: New file.
93984         * lib/math.in.h: Define isinf macro if we have decided to replace
93985         it.
93986         * m4/isinf.m4: New file.
93987         * m4/math_h.m4: Initialize and substitute variables for isinf
93988         module.
93989         * modules/isinf: New file.
93990         * modules/isinf-tests: New file.
93991         * modules/math: Add substitutions for new module.
93992         * tests/test-isinf.c: New file.
93993         * doc/posix-functions/isinf.texi: Mention new module.
93994         * MODULES.html.sh: Mention new module.
93996 2008-07-14  Ben Pfaff  <blp@gnu.org>
93998         Factor out some macros for use by additional modules.
93999         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
94000         exponentf.m4.
94001         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
94002         exponentd.m4.
94003         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
94004         file exponentl.m4.
94005         * m4/exponentf.m4: New file.
94006         * m4/exponentd.m4: New file.
94007         * m4/exponentl.m4: New file.
94008         * modules/isnanf: Use new file m4/exponentf.m4.
94009         * modules/isnand: Use new file m4/exponentd.m4.
94010         * modules/isnanl: Use new file m4/exponentl.m4.
94012 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
94014         mktime.c: normalize tp->tm_isdst value to -1/0/1.
94015         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
94016         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
94017         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
94019         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
94020         readlink on platforms without PATH_MAX.
94022 2008-07-21  Eric Blake  <ebb9@byu.net>
94024         Warn, not fail, on stale version.
94025         * top/GNUmakefile (_curr-ver): Tone down previous patch.
94027         Don't allow installation with stale devel version number.
94028         * top/GNUmakefile (_is-install-target): New macro.
94029         (_curr-ver): Forbid installation with stale version number.
94031 2008-07-20  Bruno Haible  <bruno@clisp.org>
94033         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
94034         TESTS_ENVIRONMENT.
94035         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
94037 2008-07-20  Bruno Haible  <bruno@clisp.org>
94039         * lib/c-stack.h (c_stack_action): Add documentation.
94040         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
94042 2008-07-20  Bruno Haible  <bruno@clisp.org>
94044         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
94045         * modules/readlink (License): Likewise.
94047 2008-07-17  Eric Blake  <ebb9@byu.net>
94049         * modules/c-stack (Link): Fix typo.
94051         Make c-stack use libsigsegv, when available.
94052         * modules/c-stack (Depends-on): Add libsigsegv.
94053         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
94054         needed.
94055         * lib/c-stack.c (SIGSTKSZ): Define fallback.
94056         (segv_handler, overflow_handler, c_stack_action)
94057         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
94058         implementation when libsigsegv is available, but only when using
94059         the library is necessary.
94060         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
94061         comment, explaining why XSI check fails on Linux.
94062         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
94063         * tests/test-c-stack2.sh: Tweak skip message.
94064         * NEWS: Document new link-time requirements.
94066 2008-07-16  Eric Blake  <ebb9@byu.net>
94068         c-stack: Expose false positives when not using libsigsegv.
94069         * modules/c-stack-tests (Files): Expand test.
94070         * tests/test-c-stack.c (main): Add means to conditionally trigger
94071         non-overflow SIGSEGV.
94072         * tests/test-c-stack2.sh: New file.
94074 2008-07-14  Bruno Haible  <bruno@clisp.org>
94076         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
94077         Reported by Eric Blake.
94079 2008-07-14  Sam Steingold  <sds@gnu.org>
94080             Bruno Haible  <bruno@clisp.org>
94082         New module libsigsegv.
94083         * modules/libsigsegv: New file.
94084         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
94085         modifications.
94086         * MODULES.html.sh (Signal handling): New section.
94088 2008-07-14  Bruno Haible  <bruno@clisp.org>
94090         * modules/unictype/ctype-* (Description): Add the word "function".
94091         Improves the resulting doc in MODULES.html.
94093 2008-07-12  Ben Pfaff  <blp@gnu.org>
94095         Add longlong module.
94096         * modules/longlong: New file.
94098 2008-07-12  Bruno Haible  <bruno@clisp.org>
94100         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
94101         to empty.
94103 2008-07-10  Ben Pfaff  <blp@gnu.org>
94105         Add isnan module.
94106         * doc/posix-functions/isnan.texi: Mention new module.
94107         * lib/math.in.h: Define isnan macro if we have decided to replace
94108         it.
94109         * m4/isnan.m4: New file.
94110         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
94111         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
94112         also.
94113         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
94114         redundancy.
94115         * m4/math_h.m4: Initialize and substitute variables for isnan
94116         module.
94117         * modules/isnan: New file.
94118         * modules/isnan-tests: New file.
94119         * modules/math: Add substitutions for new module.
94120         * tests/test-isnan.c: New file.
94121         * MODULES.html.sh: Mention new module.
94123 2008-07-10  Ben Pfaff  <blp@gnu.org>
94125         Add isnanf module.
94126         * lib/isnanf.m4: New file.
94127         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
94128         (gl_HAVE_ISNANF_IN_LIBM): New macro.
94129         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
94130         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
94131         * modules/isnanf: New file.
94132         * modules/isnanf-tests: New file.
94133         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
94134         files.
94135         * tests/test-isnanf-nolibm.c: factored most of its contents into
94136         new file tests/test-isnanf.h.
94137         * tests/test-isnanf.h: New file.
94138         * tests/test-isnanf.c: New file.
94139         * MODULES.html.sh: Mention new module.
94140         * doc/glibc-functions/isnanf.texi: Mention new module.
94142 2008-07-10  Ben Pfaff  <blp@gnu.org>
94144         Add isnand module.
94145         * lib/isnand.h: New file.
94146         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
94147         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
94148         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
94149         functionality also.
94150         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
94151         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
94152         (gl_HAVE_ISNAND_IN_LIBM): New macro.
94153         * modules/isnand: New file.
94154         * modules/isnand-tests: New file.
94155         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
94156         files.
94157         * tests/test-isnand-nolibm.c: factored most of its contents into
94158         new file tests/test-isnand.h.
94159         * tests/test-isnand.h: New file.
94160         * tests/test-isnand.c: New file.
94161         * MODULES.html.sh: Mention new module.
94163 2008-07-10  Ben Pfaff  <blp@gnu.org>
94165         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
94166         * lib/isnand.h: Rename lib/isnand-nolibm.h.
94167         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
94168         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
94169         * modules/isnanf-nolibm: Update references to renamed files.
94170         * modules/isnand-nolibm: Likewise.
94171         * modules/isnanf-nolibm-tests: Likewise.
94172         * modules/isnand-nolibm-tests: Likewise.
94173         * lib/frexp.c: Likewise.
94174         * lib/isfinite.c: Likewise.
94175         * lib/signbitd.c: Likewise.
94176         * lib/signbitf.c: Likewise.
94177         * lib/vasnprintf.c: Likewise.
94178         * tests/test-ceilf1.c: Likewise.
94179         * tests/test-ceilf2.c: Likewise.
94180         * tests/test-floorf1.c: Likewise.
94181         * tests/test-floorf2.c: Likewise.
94182         * tests/test-frexp.c: Likewise.
94183         * tests/test-round1.c: Likewise.
94184         * tests/test-round2.c: Likewise.
94185         * tests/test-roundf1.c: Likewise.
94186         * tests/test-strtod.c: Likewise.
94187         * tests/test-trunc1.c: Likewise.
94188         * tests/test-trunc2.c: Likewise.
94189         * tests/test-truncf1.c: Likewise.
94190         * tests/test-truncf2.c: Likewise.
94191         * NEWS: Mention the renamed header files.
94193 2008-07-11  Jim Meyering  <meyering@redhat.com>
94195         vc-list-files: make the last-resort awk code more portable
94196         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
94197         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
94198         does not support it.
94200 2008-07-10  Eric Blake  <ebb9@byu.net>
94202         Work with tar's bootstrap.
94203         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
94204         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
94205         an m4 comment.
94207 2008-07-09  Jim Meyering  <meyering@redhat.com>
94209         posix-shell.m4: fix typo that made this test malfunction
94210         * m4/posix-shell.m4: Remove capitalization in variable name.
94212 2008-07-08  Bruno Haible  <bruno@clisp.org>
94214         * m4/onceonly.m4: Update comments.
94215         Reported by Ben Pfaff <blp@cs.stanford.edu>.
94217 2008-07-04  Jim Meyering  <meyering@redhat.com>
94219         * users.txt: Add vc-dwim.
94220         (bison, coreutils): Use the gitweb URL.
94222 2008-07-03  Jim Meyering  <meyering@redhat.com>
94224         * users.txt: Add libffcall.  From Sam Steingold.
94226 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
94228         getdate.y: do not ignore TZ with relative day, month or year offset
94229         * lib/getdate.y (get_date): Move the tz-handling block to follow the
94230         relative-date-handling, since otherwise, the latter would clobber the
94231         sole output (an updated Start value) of the tz-handling block.
94232         * tests/test-getdate.c: Tests for the fix
94234 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94236         Recognize 'foo_LIBRARIES += libgnu.a'.
94237         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
94238         makefile snippet has already specified an installation location,
94239         also using '+='.
94241 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
94243         getdate.y: factor out common actions
94244         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
94245         Use them in place of open-coded actions.
94247 2008-07-01  Simon Josefsson  <simon@josefsson.org>
94249         Add self-test for getdate module.
94250         * modules/getdate-tests: New file.
94251         * tests/test-getdate.c: New file.
94253 2008-06-29  Bruno Haible  <bruno@clisp.org>
94255         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
94256         .gitignore.
94257         Reported by Sylvain Beucler <beuc@beuc.net>.
94259 2008-06-29  Bruno Haible  <bruno@clisp.org>
94261         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
94262         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
94264 2008-06-29  Bruno Haible  <bruno@clisp.org>
94266         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
94267         EXTRA_DIST.
94268         Reported by Sylvain Beucler <beuc@beuc.net>.
94270 2008-06-26  Jim Meyering  <meyering@redhat.com>
94272         make several modules depend on the "open" module
94273         This provides slightly increased consistency when opening-for-write
94274         the name of a non-directory spelled with a trailing slash.
94275         * modules/chdir-safer: Likewise.
94276         * modules/chown: Likewise.
94277         * modules/clean-temp: Likewise.
94278         * modules/copy-file: Likewise.
94279         * modules/fchdir: Likewise.
94280         * modules/fcntl-safer: Likewise.
94281         * modules/pipe: Likewise.
94282         * modules/utime: Likewise.
94283         Prompted by Eric Blake and Bruno Haible.
94285 2008-06-24  Andreas Schwab  <schwab@suse.de>
94287         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
94288         literals can be used as initializers for global variables.
94290 2008-06-23  Eric Blake  <ebb9@byu.net>
94292         Make gnulib-cache.m4 easier to diff.
94293         * gnulib-tool (func_import): Allow newlines when reading cached
94294         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
94296 2008-06-23  Bruno Haible  <bruno@clisp.org>
94298         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
94299         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
94300         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
94301         m4/signalblocking.m4.
94302         (gl_PREREQ_SIGACTION): Don't invoke it.
94303         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
94304         gl_PREREQ_SIG_HANDLER_H.
94305         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94306         Don't check for sigaction here.
94308 2008-06-23  Bruno Haible  <bruno@clisp.org>
94310         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
94311         (install_handlers): Don't set the SA_RESETHAND flag.
94313 2008-06-23  Bruno Haible  <bruno@clisp.org>
94315         * m4/sigaction.m4: Comment fixes.
94316         * lib/signal.in.h: Likewise.
94318 2008-06-23  Eric Blake  <ebb9@byu.net>
94320         Fix typo.
94321         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
94323         Avoid SA_ namespace.
94324         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
94325         Reported by Ralf Wildenhues.
94327         Avoid test failure due to SA_RESTORER.
94328         * tests/test-sigaction.c (SA_MASK): New macro.
94329         (main): Avoid failing due to extension flags being set.
94330         Reported by Jim Meyering.
94332         Revert use of sig-handler.h in sigprocmask.c.
94333         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
94334         it requires the existence of struct sigaction.
94335         * lib/sigprocmask.c (handler_t): Restore typedef.
94336         (rpl_signal, old_handlers): Use local type.
94338 2008-06-22  Bruno Haible  <bruno@clisp.org>
94340         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
94341         conditionally.
94342         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
94344 2008-06-22  Bruno Haible  <bruno@clisp.org>
94346         * doc/posix-functions/siginterrupt.texi: Move note.
94348         * lib/signal.in.h (SA_RESTART): New macro.
94349         * lib/sigaction.c: Update comment.
94351         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
94353         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
94354         (gl_PREREQ_SIGPROCMASK): Invoke it.
94355         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
94357         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
94359         * lib/sigprocmask.c: Update a comment.
94361 2008-06-21  Eric Blake  <ebb9@byu.net>
94363         Use sigaction module rather than signal().
94364         * modules/c-stack (Depends-on): Add sigaction.
94365         * modules/fatal-signal (Depends-on): Likewise.
94366         * modules/nanosleep (Depends-on): Likewise.
94367         * modules/sigprocmask (Files): Add sig-handler.h.
94368         * modules/sigaction (Files): Likewise.
94369         * lib/sig-handler.h (get_handler): New file, suggested by Paul
94370         Eggert.
94371         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
94372         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
94373         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
94374         (init_fatal_signals): Likewise.
94375         * lib/nanosleep.c (rpl_nanosleep): Likewise.
94376         (siginterrupt): Delete fallback.
94377         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
94378         instead.
94379         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
94380         siginterrupt.
94382         New module sigaction, for mingw.
94383         * modules/sigaction: New module...
94384         * modules/sigaction-tests: ...and its test.
94385         * m4/sigaction.m4: New file.
94386         * lib/sigaction.c: Likewise.
94387         * tests/test-sigaction.c: Likewise.
94388         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
94389         * modules/signal (Makefile.am): Likewise.
94390         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
94391         needed.
94392         * doc/posix-headers/signal.texi (signal.h): Mention provided
94393         types.
94394         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
94395         that sigaction is preferable.
94396         * doc/posix-functions/sigaction.texi (sigaction): Mention new
94397         module.
94398         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94399         sigaction.
94401         Improve robustness of sigprocmask by overriding signal.
94402         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
94403         is in use.
94404         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
94405         (SIGKILL, SIGSTOP): Provide fallbacks.
94406         (rpl_signal): Implement.
94407         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
94408         signal can be called inside handlers.
94410         Fix nanosleep module on mingw.
94411         * modules/nanosleep (Depends-on): Add sys_select.
94412         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
94414         Fix licensing of sigprocmask.
94415         * modules/raise (License): Relicense as LGPL.
94417 2008-06-21  Bruno Haible  <bruno@clisp.org>
94419         * lib/propername.c (proper_name_utf8): Don't use the transliterated
94420         result if it contains question marks.
94421         Reported by Michael Geng <linux@michaelgeng.de>.
94423 2008-06-19  Bruno Haible  <bruno@clisp.org>
94425         Fix CVS-ism.
94426         * doc/gnulib.texi: Include updated-stamp.texi.
94427         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
94428         (updated-stamp.texi): New rule.
94429         (gnulib.info): Depend on it.
94430         * doc/.gitignore: Add updated-stamp.texi.
94431         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
94433 2008-06-19  Bruno Haible  <bruno@clisp.org>
94435         * doc/Makefile (gnulib.info): Update and simplify dependencies.
94436         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
94438 2008-06-19  Eric Blake  <ebb9@byu.net>
94440         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
94441         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
94442         Reported by Stepan Kasal.
94444 2008-06-18  Bruno Haible  <bruno@clisp.org>
94446         * lib/fatal-signal.c (init_fatal_signals): Add comment.
94447         Reported by Eric Blake.
94449 2008-06-18  Eric Blake  <ebb9@byu.net>
94451         Work around cygwin 1.5.25 strsignal bug.
94452         * tests/test-strsignal.c: Allow for const char *.
94453         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
94455 2008-06-18  Simon Josefsson  <simon@josefsson.org>
94457         * users.txt: Update URL to article and add author/date
94458         information.
94460 2008-06-17  Bruno Haible  <bruno@clisp.org>
94462         New macro gl_DISABLE_THREADS.
94463         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
94464         if the user did not pass --enable-threads or --disable-threads option.
94465         (gl_DISABLE_THREADS): New macro.
94466         Reported by Eric Blake <ebb9@byu.net>.
94468 2008-06-17  Bruno Haible  <bruno@clisp.org>
94470         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
94471         when the macro ignores it.
94472         Based on a patch by Eric Blake <ebb9@byu.net>.
94474 2008-06-17  Bruno Haible  <bruno@clisp.org>
94476         * modules/tls (License): Change to LGPLv2+.
94477         Reported by Eric Blake.
94479 2008-06-17  Eric Blake  <ebb9@byu.net>
94481         Simplify c-stack prerequisites.
94482         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
94483         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
94484         no longer requires <ucontext.h> to exist.  Optimize setrlimit
94485         check.
94486         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
94487         <sys/resource.h>.
94489         Move c-stack test into testsuite.
94490         * modules/c-stack-tests: New file.
94491         * lib/c-stack.c [DEBUG]: Move test program...
94492         * tests/test-c-stack.c: ...into this new file.  Skip rather than
94493         fail test if sigaltstack is lacking.
94494         * tests/test-c-stack.sh: New driver file.
94496 2008-06-16  Eric Blake  <ebb9@byu.net>
94498         Use raise module consistently.
94499         * modules/fatal-signal (Depends-on): Add raise.
94500         * modules/sigprocmask (Depends-on): Likewise.
94501         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
94502         * lib/sigprocmask.c (sigprocmask): Likewise.
94503         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94504         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
94506         Fix compliance bug in sigpending.
94507         * lib/sigprocmask.c (sigpending): Return pending array via
94508         parameter, not return value.
94510 2008-06-14  Eric Blake  <ebb9@byu.net>
94512         Improve obstack-printf test code.
94513         * tests/test-obstack-printf.c (test_function): Fix comment, and
94514         simplify usage of obstack_* in macros.  Add a test for coverage.
94515         Reported by Bruno Haible.
94517 2008-06-14  Bruno Haible  <bruno@clisp.org>
94519         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
94520         array size as a constant, not as a const variable.
94521         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
94522         AC_USE_SYSTEM_EXTENSIONS.
94523         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
94524         Test whether the obstack_printf function actually exists.
94525         * modules/obstack-printf (Depends-on): Add extensions.
94526         (Include): Remove obstack.h.
94527         * modules/obstack-printf-posix (Depends-on): Add extensions.
94528         (Include): Remove obstack.h.
94530 2008-06-13  Eric Blake  <ebb9@byu.net>
94532         Add obstack-printf and obstack-printf-posix modules.
94533         * modules/obstack-printf: New file.
94534         * modules/obstack-printf-posix: Likewise.
94535         * MODULES.html.sh (Misc): Mention them.
94536         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
94537         Likewise.
94538         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
94539         Likewise.
94540         * modules/stdio (Makefile.am): Accomodate new modules.
94541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
94542         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
94543         Declare.
94544         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
94545         functions.
94546         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
94547         (gl_REPLACE_OBSTACK_PRINTF): New macros
94548         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
94549         * tests/test-obstack-printf.c: New file.
94550         * modules/obstack-printf-tests: Likewise.
94551         * modules/obstack-printf-posix-tests: Likewise.
94553 2008-06-11  Bruno Haible  <bruno@clisp.org>
94555         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
94556         * lib/open.c: Include errno.h.
94557         (open): Fail when attempting to write to a file that has a trailing
94558         slash.
94559         * tests/test-open.c (main): Test against trailing slash bug.
94560         * doc/posix-functions/open.texi: Mention the trailing slash bug.
94562 2008-06-10  Bruno Haible  <bruno@clisp.org>
94564         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
94565         for $? to work inside the trap command, with various /bin/sh-s.
94566         * tests/test-vc-list-files-cvs.sh: Likewise.
94568 2008-06-10  Bruno Haible  <bruno@clisp.org>
94570         * lib/acl-internal.h: Don't include gettext.h here.
94571         * lib/set-mode-acl.c: Include gettext.h here.
94572         * lib/copy-acl.c: Likewise.
94574 2008-06-10  Bruno Haible  <bruno@clisp.org>
94576         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
94577         * lib/wait-process.c (wait_subprocess): Likewise.
94578         * lib/execute.h (execute): Add termsigp argument.
94579         * lib/execute.c (execute): Likewise.
94580         * lib/csharpcomp.c (compile_csharp_using_pnet,
94581         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
94582         * lib/csharpexec.c (execute_csharp_using_pnet,
94583         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
94584         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
94585         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
94586         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
94587         is_jikes_present): Update.
94588         * lib/javaexec.c (execute_java_class): Update.
94589         * lib/javaversion.c (execute_and_read_line): Update.
94590         * NEWS: Document the changes.
94591         Reported by Eric Blake.
94593 2008-06-10  Eric Blake  <ebb9@byu.net>
94595         Add missing include.
94596         * tests/test-strstr.c (includes): Add <signal.h>.
94597         * tests/test-strcasestr.c (includes): Likewise.
94598         * tests/test-memmem.c (includes): Likewise.
94600 2008-06-10  Bruno Haible  <bruno@clisp.org>
94602         * lib/wait-process.c (wait_subprocess): Add an assertion.
94604 2008-06-10  Bruno Haible  <bruno@clisp.org>
94606         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
94608 2008-06-10  Bruno Haible  <bruno@clisp.org>
94610         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
94611         using alarm().
94612         * tests/test-strcasestr.c (main): Likewise.
94613         * tests/test-strstr.c (main): Likewise.
94615 2008-06-09  Bruno Haible  <bruno@clisp.org>
94617         Work around the Solaris 10 ACE ACLs ABI change.
94618         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
94619         declare if ACL_NO_TRIVIAL is present.
94620         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
94621         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
94622         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
94623         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
94624         define if ACL_NO_TRIVIAL is present.
94625         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
94626         and use the current ABI.
94627         (file_has_acl): Use same #if condition as elsewhere.
94628         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
94629         in use, and use the current ABI.
94630         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
94631         Reported by Jim Meyering.
94633 2008-06-09  Eric Blake  <ebb9@byu.net>
94635         Work around environments that (stupidly) ignore SIGALRM.
94636         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
94637         before using alarm().
94638         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94639         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94640         Reported by Ian Beckwith <ianb@erislabs.net>.
94642         Produce autobuild blurb earlier in log.
94643         * modules/autobuild (configure.ac-early): Move AB_INIT here.
94645 2008-06-09  Jim Meyering  <meyering@redhat.com>
94646         and Ondřej Vašík  <ovasik@redhat.com>
94648         utimens.c: correct kernel bug work-around
94649         Ondřej Vašík found that the invalid return value of 280 indicates
94650         failure, not success, and the kernel bug we're trying to work
94651         around affects not just the utimensat call, but also the fallback
94652         futimens call.
94653         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
94654         not success.
94655         [HAVE_FUTIMENS]: Use the same work-around, here.
94657 2008-06-09  Jim Meyering  <meyering@redhat.com>
94659         add more guards around definition of ACE_-related code
94660         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
94661         ALLOW and ACE_OWNER are also defined.
94663 2008-06-08  Bruno Haible  <bruno@clisp.org>
94665         * lib/acl-internal.h: Add me as co-author.
94666         * lib/file-has-acl.c: Likewise.
94667         * lib/set-mode-acl.c: Likewise.
94668         * lib/copy-acl.c: Likewise.
94670 2008-06-08  Bruno Haible  <bruno@clisp.org>
94672         Add support for AIX ACLs.
94673         * lib/acl-internal.h (acl_nontrivial): New declaration.
94674         * lib/file-has-acl.c (acl_nontrivial): New function.
94675         (file_has_acl): Add implementation using AIX 4 ACL API.
94676         * lib/set-mode-acl.c (qset_acl): Likewise.
94677         * lib/copy-acl.c (qcopy_acl): Likewise.
94679 2008-06-08  Bruno Haible  <bruno@clisp.org>
94681         Add support for HP-UX ACLs.
94682         * lib/acl-internal.h (acl_nontrivial): New declaration.
94683         * lib/file-has-acl.c (acl_nontrivial): New function.
94684         (file_has_acl): Add implementation using HP-UX 11 ACL API.
94685         * lib/set-mode-acl.c (qset_acl): Likewise.
94686         * lib/copy-acl.c (qcopy_acl): Likewise.
94688 2008-06-08  Bruno Haible  <bruno@clisp.org>
94690         Add support for Cygwin ACLs.
94691         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
94692         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
94693         the chmod_or_fchmod call.
94694         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
94696 2008-06-08  Bruno Haible  <bruno@clisp.org>
94698         Fix bug with setuid modes in Solaris 10+ code.
94699         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
94700         succeeded, when the mode contains some special bits.
94702 2008-06-08  Bruno Haible  <bruno@clisp.org>
94704         Add support for Solaris 7..10 ACLs.
94705         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
94706         declarations.
94707         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
94708         functions.
94709         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
94710         * lib/set-mode-acl.c (qset_acl): Likewise.
94711         * lib/copy-acl.c (qcopy_acl): Likewise.
94713 2008-06-08  Bruno Haible  <bruno@clisp.org>
94715         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
94716         declaration.
94717         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
94718         (acl_access_nontrivial): Remove MacOS X case.
94719         (file_has_acl): Use acl_extended_nontrivial.
94720         * lib/copy-acl.c (qcopy_acl): Likewise.
94722 2008-06-08  Bruno Haible  <bruno@clisp.org>
94724         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
94726 2008-06-08  Jim Meyering  <meyering@redhat.com>
94728         * modules/acl (Maintainer): Add Bruno Haible.
94730 2008-06-07  Bruno Haible  <bruno@clisp.org>
94732         Improve support for Tru64 ACLs.
94733         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
94734         ACL on OSF/1.
94736 2008-06-07  Bruno Haible  <bruno@clisp.org>
94738         Add support for MacOS X ACLs.
94739         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
94740         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
94741         * lib/set-mode-acl.c (qset_acl): Likewise.
94742         * lib/copy-acl.c (qcopy_acl): Likewise.
94744 2008-06-07  Bruno Haible  <bruno@clisp.org>
94746         Fix memory leak introduced on 2008-05-22.
94747         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
94748         use.
94750 2008-06-07  Bruno Haible  <bruno@clisp.org>
94752         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
94753         to construct an empty ACL.
94755 2008-06-07  Bruno Haible  <bruno@clisp.org>
94757         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
94758         precisely.
94759         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
94761 2008-06-07  Bruno Haible  <bruno@clisp.org>
94763         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
94764         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
94766 2008-06-07  Bruno Haible  <bruno@clisp.org>
94768         * doc/posix-functions/_setjmp.texi: Explain the use of this function
94769         regardless of POSIX.
94770         * doc/posix-functions/_longjmp.texi: Likewise.
94771         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
94772         SystemV platform in this case.
94774 2008-06-06  Eric Blake  <ebb9@byu.net>
94776         Document abort() bugs.
94777         * doc/posix-functions/abort.texi (abort): Mention anomalies.
94779         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
94780         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
94781         sigsetjmp.
94782         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
94783         siglongjmp, but only as a macro.
94784         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
94785         is obsolete.
94786         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
94788         Tweak documentation to cover cygwin argz bugs.
94789         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
94790         argz bug fix; no code change needed since no cygwin releases
94791         occurred between the last fix and the bug being tested.
94792         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
94793         module and recently fixed cygwin bugs.
94794         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
94795         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
94796         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
94797         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
94798         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
94799         Likewise.
94800         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
94801         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
94802         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
94803         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
94804         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
94805         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
94806         Likewise.
94808         Avoid gcc warning on cygwin.
94809         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
94810         !ACL_NO_TRIVIAL]: Avoid unused variable.
94812 2008-06-05  Eric Blake  <ebb9@byu.net>
94814         Be tolerant of UNKNOWN version in gnulib-tool test dir.
94815         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
94816         git-version-gen fails to come up with a version.
94817         Reported by Simon Josefsson.
94819 2008-06-05  Jim Meyering  <meyering@redhat.com>
94820             Paul Eggert  <eggert@cs.ucla.edu>
94822         utimens.c: work around a probable Linux kernel bug
94823         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
94824         appears to be a kernel bug that causes utimensat to return 280
94825         instead of 0, indicating success.
94827 2008-06-04  Bruno Haible  <bruno@clisp.org>
94829         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
94830         2008-06-01 commit.
94832 2008-06-04  Bruno Haible  <bruno@clisp.org>
94834         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
94835         * lib/file-has-acl.c (acl_access_nontrivial): New function.
94836         (file_has_acl): Use it. Save errno afterwards.
94837         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
94839 2008-06-03  Bruno Haible  <bruno@clisp.org>
94841         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
94842         draft code. Simplify #ifs.
94843         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
94844         Put Solaris code after POSIX-draft code. Fix comments regarding
94845         Solaris 10, HP-UX. Mention Cygwin.
94846         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
94848 2008-06-03  Eric Blake  <ebb9@byu.net>
94850         Provide fallback for older kernels.
94851         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
94852         Provide runtime fallback if kernel lacks support.
94853         Reported by Mike Frysinger.
94855 2008-06-02  Bruno Haible  <bruno@clisp.org>
94857         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
94858         it exists.
94860 2008-06-02  Bruno Haible  <bruno@clisp.org>
94862         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
94863         * lib/copy-acl.c (qcopy_acl): Update comment.
94865 2008-06-02  Bruno Haible  <bruno@clisp.org>
94867         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
94868         like ACL APIs.
94870 2008-06-02  Bruno Haible  <bruno@clisp.org>
94872         * tests/test-file-has-acl.sh: Use different code for Cygwin.
94873         * tests/test-set-mode-acl.sh: Likewise.
94874         * tests/test-copy-acl.sh: Likewise.
94875         * tests/test-copy-file.sh: Likewise.
94877 2008-06-02  Bruno Haible  <bruno@clisp.org>
94879         * tests/test-file-has-acl.sh: Remove unused code.
94881 2008-06-01  Bruno Haible  <bruno@clisp.org>
94883         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
94884         (copy_acl): Just a wrapper around qcopy_acl that emits the error
94885         messages.
94886         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
94888 2008-06-01  Bruno Haible  <bruno@clisp.org>
94890         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
94891         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
94892         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
94893         APIs.
94894         * modules/acl-tests (configure.ac): Remove tests now contained in
94895         m4/acl.m4.
94897 2008-06-02  Jim Meyering  <meyering@redhat.com>
94899         announce-gen: use a better key-server host name
94900         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
94901         it may be more consistently reliable.  Suggested by Werner Koch
94902         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
94904 2008-06-01  Bruno Haible  <bruno@clisp.org>
94906         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
94907         Reported by Voroskoi Andras <voroskoi@gmail.com>.
94909 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
94911         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
94913 2008-06-01  Bruno Haible  <bruno@clisp.org>
94915         New ACL tests.
94916         * tests/test-file-has-acl.sh: New file.
94917         * tests/test-file-has-acl.c: New file.
94918         * tests/test-set-mode-acl.sh: New file.
94919         * tests/test-set-mode-acl.c: New file.
94920         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
94921         * tests/test-copy-acl.c: New file.
94922         * modules/acl-tests: New file, based on modules/copy-file-tests.
94923         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
94924         (Depends-on): Add acl-tests.
94925         (configure.ac): Remove checks.
94926         (Makefile.am): Don't create test-sameacls program here any more.
94928 2008-06-01  Bruno Haible  <bruno@clisp.org>
94930         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
94931         * tests/test-sameacls.c: Include progname.h.
94932         (main): Invoke set_program_name. Portability fixes for MacOS X,
94933         Solaris, HP-UX.
94935 2008-06-01  Bruno Haible  <bruno@clisp.org>
94937         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
94938         function.
94939         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
94941 2008-06-01  Bruno Haible  <bruno@clisp.org>
94943         * modules/rpmatch (Depends-on): Add strdup.
94945 2008-06-01  Bruno Haible  <bruno@clisp.org>
94947         * lib/pipe.c: Include unistd-safer.h.
94948         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
94949         * modules/pipe (Depends-on): Add unistd-safer.
94951 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94953         * modules/autobuild (configure.ac): Call AB_INIT.
94955 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94957         * tests/test-getaddrinfo.c: Don't print debug messages by default.
94958         Suggested by Bruno Haible <bruno@clisp.org>.
94960 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94962         * tests/test-base64.c: Cast size_t to unsigned long when invoking
94963         printf.  Use %lu instead of %d.  Reported by Bruno Haible
94964         <bruno@clisp.org>.
94966 2008-05-29  Eric Blake  <ebb9@byu.net>
94968         Prefer new POSIX 200x interfaces over futimesat.
94969         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
94970         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
94971         when available.
94972         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
94974 2008-05-28  Bruno Haible  <bruno@clisp.org>
94976         * modules/stpcpy (License): Change to LGPLv2+.
94977         Requested by David Lutterkort <dlutter@redhat.com>.
94979 2008-05-27  Bruno Haible  <bruno@clisp.org>
94981         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
94982         current mingw.
94983         Reported by Jose E. Marchesi <jemarch@gnu.org>.
94985 2008-05-27  Bruno Haible  <bruno@clisp.org>
94987         * modules/iconv_open (Link): New section, from module 'iconv'.
94988         * modules/striconv (Link): Likewise.
94989         * modules/striconveh (Link): Likewise.
94990         * modules/xstriconv (Link): Likewise.
94991         * modules/unicodeio (Link): Likewise.
94992         * modules/propername (Link): Likewise.
94993         Reported by Jim Meyering.
94995 2008-05-26  Jim Meyering  <meyering@redhat.com>
94997         sha256: do not artificially restrict buffer length to be < 2^32
94998         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
94999         uint32_t to size_t.
95000         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
95001         to match.
95003         avoid unaligned access errors, e.g., on sparc
95004         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
95005         direct access through a possibly-unaligned uint64* pointer.
95006         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
95007         direct access through a possibly-unaligned uint32* pointer.
95008         Prompted by this patch from Tom "spot" Callaway:
95009         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
95011         sha512.c: fix typo in comment
95012         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
95014 2008-05-25  Bruno Haible  <bruno@clisp.org>
95016         * lib/set-mode-acl.c: Renamed from lib/acl.c.
95017         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
95018         (Makefile.am): Update lib_SOURCES.
95020 2008-05-25  Bruno Haible  <bruno@clisp.org>
95022         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
95024 2008-05-25  Jim Meyering  <meyering@redhat.com>
95026         useless-if-before-free: freed expr may have white-space differences
95027         * build-aux/useless-if-before-free: Recognize cases in which the
95028         freed expression differs from the tested one in embedded white
95029         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
95030         $1 was used, so we can't make any regexp shy.  Improved tests now
95031         detect this.
95033         useless-if-before-free: accept white space in the expression.
95034         * build-aux/useless-if-before-free: For now, any white space
95035         in the expression must be identical in the free argument.
95037         useless-if-before-free: efficiency tweak
95038         * build-aux/useless-if-before-free: Make the expression-matching
95039         regexp "shy".
95040         Make the *outer* regexp shy, not the expr-matching one.
95042         update code-in-comment to accept cast of free arg
95043         * build-aux/useless-if-before-free: Update regexp.
95045 2008-05-25  Bruno Haible  <bruno@clisp.org>
95047         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
95048         * modules/copy-file-tests (Files, Makefile.am): Update.
95049         * tests/test-copy-file.c (func_test_copy): Update.
95051 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
95053         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
95055 2008-05-23  Bruno Haible  <bruno@clisp.org>
95057         Improve support for ACLs on OSF/1.
95058         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
95059         Remove fallback for unknown flavors of ACLs.
95061 2008-05-22  Bruno Haible  <bruno@clisp.org>
95063         Add support for ACLs on OSF/1.
95064         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
95065         replacements.
95066         (acl_free_text): New macro fallback.
95067         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
95068         acl_free.
95069         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
95070         acl_free_text function. Require AC_C_INLINE.
95072 2008-05-22  Bruno Haible  <bruno@clisp.org>
95074         Make copy_acl work on MacOS X 10.5.
95075         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
95076         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
95077         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
95078         If MODE_INSIDE_ACL, don't assume that every system has the same text
95079         representation for ACLs as FreeBSD.
95080         * lib/copy-acl.c (copy_acl): Add support for platforms with
95081         !MODE_INSIDE_ACL.
95082         * lib/file-has-acl.c (file_has_acl): Likewise.
95083         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
95084         FreeBSD, MacOS X, or IRIX, respectively.
95086 2008-05-22  Bruno Haible  <bruno@clisp.org>
95088         * lib/acl.h: Don't include <sys/acl.h>.
95089         (GETACLCNT): Move fallback to lib/acl-internal.h.
95090         * lib/acl-internal.h: Include <sys/acl.h> here.
95091         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
95093 2008-05-22  Bruno Haible  <bruno@clisp.org>
95095         Split off copy_acl function to separate file.
95096         * lib/copy-acl.c: New file, extracted from lib/acl.c.
95097         * lib/acl.c (copy_acl): Moved function to separate file.
95098         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
95099         * modules/acl (Files): Add lib/copy-acl.c.
95100         (Makefiles.am): Augment lib_SOURCES.
95102 2008-05-22  Bruno Haible  <bruno@clisp.org>
95104         * modules/copy-file-tests: New file.
95105         * tests/test-copy-file.sh: New file.
95106         * tests/test-copy-file.c: New file.
95107         * tests/test-copy-file-sameacls.c: New file.
95109 2008-05-22  Eric Blake  <ebb9@byu.net>
95111         Avoid gcc warning.
95112         * tests/test-memcmp.c (main): Pass NULL indirectly.
95114 2008-05-21  Bruno Haible  <bruno@clisp.org>
95116         Add reference doc about ACLs.
95117         * doc/acl-resources.txt: New file.
95118         * doc/acl-cygwin.txt: New file.
95120 2008-05-21  Bruno Haible  <bruno@clisp.org>
95122         Avoid one more warning from gcc.
95123         * lib/vasnprintf.c (IF_LINT): Update comments.
95124         (VASNPRINTF): Use it also for the 'prefix' array initializer.
95126 2008-05-21  Jim Meyering  <meyering@redhat.com>
95128         avoid a warning from gcc
95129         * lib/vasnprintf.c (IF_LINT): Define.
95130         (scale10_round_decimal_long_double):
95131         Use it to avoid a "may be used uninitialized" warning.
95132         (scale10_round_decimal_double): Likewise.
95134 2008-05-21  Simon Josefsson  <simon@josefsson.org>
95136         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
95137         declared.
95139 2008-05-20  Bruno Haible  <bruno@clisp.org>
95141         * tests/test-memcmp.c (main): Test also the sign of the result. Test
95142         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
95144 2008-05-20  Simon Josefsson  <simon@josefsson.org>
95146         * modules/memcmp-tests: New file.
95147         * tests/test-memcmp.c: New file.
95149 2008-05-19  Bruno Haible  <bruno@clisp.org>
95151         * modules/propername (Notice, configure.ac): Put quoted "..." into
95152         --keyword option.
95153         * lib/propername.h: Update comments accordingly.
95154         Reported by Eric Blake.
95156 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
95158         * modules/getpass-gnu (Depends-on): Add fseeko.
95160 2008-05-19  Simon Josefsson  <simon@josefsson.org>
95162         * modules/base64-tests: New file.
95164 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
95166         * lib/base64.c (base64_decode_ctx): If a decode context structure
95167         was passed in use it to ignore newlines.  If a context structure
95168         was _not_ passed in, continue to treat newlines as garbage (this
95169         is the historical behavior).  Formerly base64_decode.
95170         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
95171         takes a decode context structure.
95172         * lib/base64.h (base64_decode): Macro for four-argument calls.
95173         (base64_decode_alloc): Likewise.
95174         * lib/base64.c (base64_decode_ctx): If a decode context structure
95175         was passed in use it to ignore newlines.  If a context structure
95176         was _not_ passed in, continue to treat newlines as garbage (this
95177         is the historical behavior).  Formerly base64_decode.
95178         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
95179         takes a decode context structure.
95180         * lib/base64.h (base64_decode): Macro for four-argument calls.
95181         (base64_decode_alloc): Likewise.
95183 2008-05-19  Jim Meyering  <meyering@redhat.com>
95185         avoid a warning from gcc
95186         * lib/trim.c (IF_LINT): Define.
95187         (trim2): Use it to avoid a "may be used uninitialized" warning.
95189         Fix doc typo.
95190         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
95192 2008-05-19  Bruno Haible  <bruno@clisp.org>
95194         * doc/glibc-functions/getpass.texi: Document limits of other
95195         implementations.
95197 2008-05-19  Simon Josefsson  <simon@josefsson.org>
95198             Bruno Haible <bruno@clisp.org>
95200         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
95202 2008-05-18  Bruno Haible  <bruno@clisp.org>
95204         * modules/propername: New file, from GNU gettext.
95205         * lib/propername.h: New file, from GNU gettext.
95206         * lib/propername.c: New file, from GNU gettext.
95207         * MODULES.html.sh (Internationalization functions): Add propername.
95209 2008-05-16  Jim Meyering  <meyering@redhat.com>
95210             Bruno Haible  <bruno@clisp.org>
95212         Avoid some warnings from "gcc -Wshadow".
95213         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
95215 2008-05-15  Eric Blake  <ebb9@byu.net>
95217         Extend previous patch to cygwin 1.7.0.
95218         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
95219         fast implementation in cygwin >= 1.7.0.
95220         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95221         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95223 2008-05-15  Bruno Haible  <bruno@clisp.org>
95225         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
95226         implementation in glibc >= 2.9.
95227         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95228         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95230 2008-05-15  Bruno Haible  <bruno@clisp.org>
95232         * MODULES.html.sh (Internationalization functions): Remove linebreak.
95233         (Unicode string functions): Add unilbrk/*.
95234         Reported by Karl Berry.
95236 2008-05-15  Eric Blake  <ebb9@byu.net>
95238         Fix violation of <stdbool.h> replacement in regex.
95239         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
95240         * lib/regexec.c (re_search_internal): Likewise.
95241         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
95243 2008-05-15  Jim Meyering  <meyering@redhat.com>
95245         avoid distracting test output when git or cvs is not found
95246         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
95247         * tests/test-vc-list-files-git.sh: Likewise.
95249 2008-05-15  Eric Blake  <ebb9@byu.net>
95251         Glibc finally accepted the memmem speedup code, bugzilla #5514.
95252         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
95253         glibc version.
95254         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
95255         * doc/posix-functions/strstr.texi (strstr): Likewise.
95256         * lib/str-two-way.h (MAX): Sychronize with glibc.
95258 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
95260         * lib/regcomp.c (optimize_utf8): Add a note on why we test
95261         opr.ctx_type.
95262         (calc_first): Initialize constraint field.
95263         (duplicate_node_closure): Use it instead of special casing ANCHORS.
95264         Fix grammar.
95265         (duplicate_node): Merge constraint field for all node types.
95266         (calc_eclosure_iter): Look at constraint field for all node types.
95267         * lib/regex_internal.c (create_cd_newstate): Don't look at
95268         opr.ctx_type.
95270 2008-05-14  Bruno Haible  <bruno@clisp.org>
95272         Help GCC to do better code generation.
95273         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
95274         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
95275         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
95276         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
95277         Declare with attribute 'malloc' if supported.
95279 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
95281         use "echo STR|wc -c" rather than unportable "expr length STR"
95282         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
95283         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
95285 2008-05-14  Jim Meyering  <meyering@redhat.com>
95287         use dd ibs=$n count=1 ... rather than less-portable head -c$n
95288         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
95289         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
95290         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
95291         via Collin Lasse.
95293 2008-05-14  Eric Blake  <ebb9@byu.net>
95295         Avoid quadratic growth in gl_LIBSOURCES.
95296         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
95297         Suggested by Bruno Haible.
95299         Test xmemdup0.
95300         * modules/xmemdup0-tests: New file.
95301         * tests/test-xmemdup0.c: Likewise.
95303 2008-05-13  Eric Blake  <ebb9@byu.net>
95305         Split xmemdup0 into its own module.
95306         * modules/xmemdup0: New file.
95307         * lib/xmemdup0.h: Likewise.
95308         * lib/xmemdup0.c: Likewise.
95309         * MODULES.html.sh (Memory management functions): Add xmemdup0.
95310         * lib/xalloc.h (xmemdup0): Remove.
95311         * lib/xmalloc.c (xmemdup0): Likewise.
95313 2008-05-13  Eric Blake  <ebb9@byu.net>
95314             Bruno Haible  <bruno@clisp.org>
95316         Reduce number of forks required during autoconf.
95317         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
95318         and gl_LIBSOURCES_DIR.
95319         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
95320         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
95321         m4_syscmd per file.
95322         <m4_foreach_w>: Move...
95323         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
95325 2008-05-13  Eric Blake  <ebb9@byu.net>
95327         * gnulib-tool: Fix various comment typos.
95329 2008-05-12  Bruno Haible  <bruno@clisp.org>
95331         Tailor the linebreaking algorithm.
95332         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
95334 2008-05-12  Bruno Haible  <bruno@clisp.org>
95336         Update to Unicode 5.0.0.
95337         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
95338         LBP_JV, LBP_JT. Redistribute values.
95339         (unilbrk_table): Change size.
95340         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
95341         Unicode TR#14 rev. 22.
95342         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
95343         LBP_JV, LBP_JT. Redistribute values.
95344         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
95345         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
95346         Update.
95347         * lib/unilbrk/lbrkprop1.h: Regenerated.
95348         * lib/unilbrk/lbrkprop2.h: Regenerated.
95349         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
95350         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
95351         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
95352         Likewise.
95353         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
95354         Likewise.
95355         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
95356         result.
95357         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
95358         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
95359         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
95360         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
95361         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
95362         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
95364 2008-05-11  Bruno Haible  <bruno@clisp.org>
95366         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
95368 2008-05-11  Bruno Haible  <bruno@clisp.org>
95370         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
95371         * modules/unilbrk/gen-lbrk: New file.
95373 2008-05-11  Bruno Haible  <bruno@clisp.org>
95375         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
95376         * m4/sha512.m4 (gl_SHA512): Likewise.
95378 2008-05-11  Jim Meyering  <meyering@redhat.com>
95380         New modules: crypto/sha256, crypto/sha512 (from coreutils)
95381         * modules/crypto/sha256: New file.
95382         * modules/crypto/sha512: Likewise.
95383         * lib/sha256.c: Likewise.
95384         * lib/sha256.h: Likewise.
95385         * lib/sha512.c: Likewise.
95386         * lib/sha512.h: Likewise.
95387         * lib/u64.h: Likewise.
95388         * m4/sha256.m4: Likewise.
95389         * m4/sha512.m4: Likewise.
95390         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
95392 2008-05-10  Bruno Haible  <bruno@clisp.org>
95394         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
95395         (Input/Output <stdio.h>): Add xprintf.
95396         (Signal handling <signal.h>): Add strsignal.
95397         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
95398         (Core language properties): Add func.
95399         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
95400         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
95401         strings.
95402         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
95403         (Input/output): New section.
95404         (File system functions): Add openat-die, stat-macros.
95405         (Networking functions): Add sockets.
95406         (Unicode string functions): Add unictype/*.
95407         (Support for building libraries and executables): Add gperf.
95408         (Support for building documentation): Add agpl-3.0.
95409         (Misc): Add nocrash.
95411 2008-05-10  Bruno Haible  <bruno@clisp.org>
95413         * modules/unictype/gen-ctype: New file.
95415 2008-05-10  Jim Meyering  <meyering@redhat.com>
95417         Make chdir-safer.c more efficient on a system with no symlinks.
95418         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
95419         also if ELOOP is zero.  Suggested by Bruno Haible.
95421         Make chdir-safer.c slightly safer.
95422         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
95423         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
95425         Avoid compile failure on systems without ELOOP (like mingw).
95426         * lib/chdir-safer.c (ELOOP): Define if not already defined.
95427         Reported by Bruno Haible.
95429 2008-05-10  Bruno Haible  <bruno@clisp.org>
95431         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
95432         (is_utf8_encoding): Use a case-insensitive comparison.
95433         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
95434         streq.
95436 2008-05-10  Bruno Haible  <bruno@clisp.org>
95438         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
95439         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
95440         * lib/unilbrk/ulc-common.h (iconv_string_length,
95441         iconv_string_keeping_offsets): Remove declarations.
95442         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
95443         Don't include <iconv.h>, streq.h, xsize.h.
95444         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
95445         conversion.
95446         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
95447         <iconv.h>, streq.h, xsize.h.
95448         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
95449         conversion.
95450         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
95451         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
95452         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
95453         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
95455 2008-05-10  Bruno Haible  <bruno@clisp.org>
95457         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
95458         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
95460         * modules/unilbrk/u32-width-linebreaks-tests: New file.
95461         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
95463         * modules/unilbrk/u16-width-linebreaks-tests: New file.
95464         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
95466         * modules/unilbrk/u8-width-linebreaks-tests: New file.
95467         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
95469         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
95470         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
95472         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
95473         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
95475         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
95476         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
95478         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
95479         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
95481 2008-05-10  Bruno Haible  <bruno@clisp.org>
95483         Split up 'linebreak' module.
95484         * lib/unilbrk.h: New file, based on lib/linebreak.h.
95485         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
95486         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
95487         modifications.
95488         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
95489         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
95490         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
95491         lib/linebreak.c.
95492         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
95493         lib/linebreak.c.
95494         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
95495         lib/linebreak.c.
95496         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
95497         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
95498         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
95499         lib/linebreak.c.
95500         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
95501         lib/linebreak.c.
95502         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
95503         lib/linebreak.c.
95504         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
95505         lib/linebreak.c.
95506         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
95507         lib/linebreak.c.
95508         * modules/unilbrk/base: New file.
95509         * modules/unilbrk/tables: New file.
95510         * modules/unilbrk/u8-possible-linebreaks: New file.
95511         * modules/unilbrk/u16-possible-linebreaks: New file.
95512         * modules/unilbrk/u32-possible-linebreaks: New file.
95513         * modules/unilbrk/ulc-common: New file.
95514         * modules/unilbrk/ulc-possible-linebreaks: New file.
95515         * modules/unilbrk/u8-width-linebreaks: New file.
95516         * modules/unilbrk/u16-width-linebreaks: New file.
95517         * modules/unilbrk/u32-width-linebreaks: New file.
95518         * modules/unilbrk/ulc-width-linebreaks: New file.
95519         * lib/linebreak.h: Remove file.
95520         * lib/linebreak.c: Remove file.
95521         * m4/linebreak.m4: Remove file.
95522         * modules/linebreak: Remove file.
95523         * NEWS: Mention the changes.
95525 2008-05-09  Eric Blake  <ebb9@byu.net>
95527         Add xmemdup0.
95528         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
95529         implementation.
95530         * lib/xmalloc.c (xmemdup0): New C implementation.
95532 2008-05-08  Bruno Haible  <bruno@clisp.org>
95534         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
95536 2008-05-07  Eric Blake  <ebb9@byu.net>
95538         Support cross-compilation of <wctype.h>.
95539         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
95540         AC_CACHE_CHECK.
95542 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
95544         * build-aux/vc-list-files: Add support for bzr.
95546 2008-05-03  Jim Meyering  <meyering@redhat.com>
95548         avoid failed assertion with tight malloc
95549         * tests/test-getndelim2.c: Correct an off-by-one assertion.
95551 2008-05-03  Simon Josefsson  <simon@josefsson.org>
95553         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
95554         are needed from arpa/inet.h.
95555         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
95556         Reported by Bruno Haible.
95558 2008-05-02  Jim Meyering  <meyering@redhat.com>
95560         avoid compilation error on FreeBSD 6
95561         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
95563 2008-05-01  Jim Meyering  <meyering@redhat.com>
95565         useless-if-before-free: correct --help's exit status description
95566         * build-aux/useless-if-before-free (usage): Like grep, exit 0
95567         for one or more matches, etc.  Reported by Bruno Haible.
95569         vc-list-files: make the stand-alone gnulib test work
95570         * modules/vc-list-files-tests (configure.ac):
95571         Define and AC_SUBST abs_aux_dir.
95572         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
95573         $(abs_top_srcdir) to each script and having each of them
95574         duplicate the work of setting PATH, set PATH here, using
95575         the new variable, abs_aux_dir instead.
95576         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
95577         * tests/test-vc-list-files-git.sh: Likewise.
95578         Reported by Bruno Haible.
95580 2008-05-01  Bruno Haible  <bruno@clisp.org>
95582         * lib/getndelim2.c (getndelim2): Fix newsize computation during
95583         reallocation. Rename 'done' to 'found_delimiter'.
95585 2008-05-01  Jim Meyering  <meyering@redhat.com>
95587         vc-list-files: accommodate /bin/sh like the one from Solaris 10
95588         * build-aux/vc-list-files: Use `...`, not $(...).
95590 2008-04-30  Jim Meyering  <meyering@redhat.com>
95592         add tests for vc-list-files
95593         * modules/vc-list-files-tests: New module.
95594         * tests/test-vc-list-files-cvs.sh: New file.
95595         * tests/test-vc-list-files-git.sh: New file.
95597         avoid a warning from gcc
95598         * lib/getndelim2.c (IF_LINT): Define.
95599         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
95601         vc-list-files: work properly with build-aux/cvsu, too
95602         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
95603         to all cvs-based clauses.
95605         vc-list-files: work properly in the CVS+awk case, too
95606         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
95608         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
95609         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
95610         take more than one file argument, so .  Add quotes, just in case $dir
95611         ever contains a shell meta-character.  Prompted by Soren Hansen in
95612         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
95614 2008-04-29  Eric Blake  <ebb9@byu.net>
95616         Optimize getndelim2 to use block operations when possible.
95617         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
95618         freadseek, and memchr2.
95619         * lib/getndelim2.c (getndelim2): Use them for block reads.
95621 2008-04-29  Bruno Haible  <bruno@clisp.org>
95623         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
95624         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95625         * modules/inet_ntop (Depends-on): Add extensions.
95626         * modules/inet_pton (Depends-on): Likewise.
95627         Reported by Simon Josefsson.
95629 2008-04-29  Jim Meyering  <meyering@redhat.com>
95631         When the is more than one match in a block, match all of them.
95632         * build-aux/useless-if-before-free: Iterate through each block
95633         until there are no more matches.
95635         Fix broken useless-if-before-free script.
95636         * build-aux/useless-if-before-free: Fix typo: missing "?" after
95637         the expression to match cast of argument to free-like function.
95639 2008-04-29  Eric Blake  <ebb9@byu.net>
95641         Use new header.
95642         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
95644 2008-04-29  Jim Meyering  <meyering@redhat.com>
95646         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
95647         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
95648         by gnulib to exist and to declare e.g., inet_ntop.
95649         Don't include "inet_ntop.h", now removed.
95651         * m4/arpa_inet_h.m4: Remove trailing blanks.
95653 2008-04-29  Eric Blake  <ebb9@byu.net>
95655         Silence valgrind on safe reads beyond potential array bounds.
95656         * lib/rawmemchr.valgrind: New file.
95657         * lib/strchrnul.valgrind: Likewise.
95658         * modules/rawmemchr (Files): Distribute new file.
95659         * modules/strchrnul (Files): Likewise.
95660         Suggested by Bruno Haible.
95662 2008-04-29  Bruno Haible  <bruno@clisp.org>
95664         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
95665         (inet_ntop, inet_pton): Change portability warning's wording.
95666         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
95667         Invoke gl_CHECK_NEXT_HEADERS.
95668         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
95669         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
95670         set ARPA_INET_H.
95671         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95672         * modules/arpa_inet (Description): No longer only for systems that
95673         lack it.
95674         (Depends-on): Add include_next.
95675         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
95676         HAVE_ARPA_INET_H.
95678 2008-04-29  Jim Meyering  <meyering@redhat.com>
95680         * modules/mkdir (License): Re-license as LGPLv2+.
95682 2008-04-29  Bruno Haible  <bruno@clisp.org>
95684         * modules/rawmemchr (Maintainer): Set to Eric.
95685         * modules/strchrnul (Maintainer): Likewise.
95687 2008-04-29  Simon Josefsson  <simon@josefsson.org>
95689         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
95690         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
95692         * modules/arpa_inet (arpa/inet.h): Use them.
95694 2008-04-28  Eric Blake  <ebb9@byu.net>
95696         Test getndelim2.
95697         * modules/getndelim2-tests: New file.
95698         * tests/test-getndelim2.c: Likewise.
95699         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
95700         stream.
95701         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
95703         * MODULES.html.sh: Document new module.
95705 2008-04-20  Bruno Haible  <bruno@clisp.org>
95707         * lib/c-stack.c (die): Use raise.
95708         * modules/c-stack (Depends-on): Add raise.
95710 2008-04-28  Bruno Haible  <bruno@clisp.org>
95712         Expect rpmatch to be declared.
95713         * lib/yesno.c (rpmatch): Remove declaration.
95715         Declare rpmatch.
95716         * lib/stdlib.in.h (rpmatch): New declaration.
95717         * lib/rpmatch.c: Include <stdlib.h> first.
95718         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
95719         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
95720         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
95721         HAVE_RPMATCH.
95722         * modules/rpmatch (Depends-on): Add stdlib, extensions.
95723         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
95724         (Include): Set to <stdlib.h>.
95725         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
95726         HAVE_RPMATCH.
95727         * NEWS: Document the change.
95729 2008-04-28  Bruno Haible  <bruno@clisp.org>
95731         Change rpmatch to use nl_langinfo when appropriate.
95732         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
95733         (N_): New macro.
95734         (localized_pattern): New function/macro.
95735         (try): Remove match, nomatch arguments. Copy the pattern into safe
95736         memory before caching it.
95737         (rpmatch): Use localized_pattern. Add translator comments.
95738         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
95739         Suggested by Eric Blake.
95740         * modules/rpmatch (Depends-on): Add stdbool.
95742 2008-04-28  Eric Blake  <ebb9@byu.net>
95744         Add rawmemchr module, matching glibc.
95745         * modules/string (Makefile.am): New indicator.
95746         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
95747         * lib/string.in.h (rawmemchr): Declare when appropriate.
95748         * modules/rawmemchr: New file.
95749         * m4/rawmemchr.m4: Likewise.
95750         * lib/rawmemchr.c: Likewise.
95751         * modules/rawmemchr-tests: Likewise.
95752         * tests/test-rawmemchr.c: Likewise.
95753         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
95754         module.
95755         * modules/strchrnul (Depends-on): Add rawmemchr.
95756         * lib/strchrnul.c (strchrnul): Optimize a corner case.
95758         Whitespace cleanup.
95759         * tests/test-strchrnul.c: Reindent.
95760         * lib/strchrnul.c: Likewise.
95762         Optimize and test strchrnul.
95763         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
95764         * modules/strchrnul-tests: New file.
95765         * tests/test-strchrnul.c: Likewise.
95767         Remove intprops dependency.
95768         * modules/memchr (Depends-on): Remove intprops.
95769         * modules/memrchr (Depends-on): Likewise.
95770         * modules/memchr2 (Depends-on): Likewise.
95771         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
95772         * lib/memrchr.c (__memrchr): Likewise.
95773         * lib/memrchr2.c (memchr2): Likewise.
95774         Reported by Simon Josefsson.
95776 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95778         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
95779         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95781 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95783         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
95785         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
95787         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
95789         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
95790         declarations.
95791         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
95793         * m4/inet_pton.m4: Don't check for header files.
95795         * m4/inet_ntop.m4: Don't check for header files.
95797 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95799         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
95800         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
95801         trigger for cygwin).
95802         Reported by Bruno Haible  <bruno@clisp.org>.
95804 2008-04-28  Bruno Haible  <bruno@clisp.org>
95806         * doc/posix-functions/strdup.texi: Mention mingw problem.
95808 2008-04-27  Bruno Haible  <bruno@clisp.org>
95810         * modules/stat-time-tests (Depends-on): Add sleep.
95811         * tests/test-stat-time.c (force_unlink): New function.
95812         (cleanup): Use it.
95813         (test_mtime): Remove the ctime related tests.
95814         (test_ctime): New function, containing the ctime related tests.
95815         (main): Call test_ctime, except on native Windows platforms.
95817 2008-04-27  Bruno Haible  <bruno@clisp.org>
95819         * lib/rpmatch.c (rpmatch): Add some comments.
95820         Reported by James Youngman <jay@gnu.org>.
95822 2008-04-27  Bruno Haible  <bruno@clisp.org>
95824         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
95825         quiet NaNs.
95827 2008-04-27  Bruno Haible  <bruno@clisp.org>
95829         Make test-yesno.sh work on mingw.
95830         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
95831         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
95832         (main): Set stdin to binary mode.
95833         * modules/yesno-tests (Depends-on): Add binary-io.
95835 2008-04-27  Bruno Haible  <bruno@clisp.org>
95837         Fix 'isfinite' on x86, x86_64, ia64 platforms.
95838         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
95839         argument that lie outside the IEEE 854 domain.
95840         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
95841         (gl_ISFINITE): Use it.
95842         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
95844 2008-04-27  Bruno Haible  <bruno@clisp.org>
95846         Allow local renaming in config.h.
95847         * lib/memrchr.c (memrchr): Don't undefine outside libc.
95849 2008-04-27  Bruno Haible  <bruno@clisp.org>
95851         * lib/memchr.c (__memchr): Change type of 'i'.
95852         * lib/memchr2.c (memchr2): Likewise.
95854 2008-04-26  Eric Blake  <ebb9@byu.net>
95855         and Bruno Haible  <bruno@clisp.org>
95857         Optimize and test memrchr.
95858         * modules/memrchr (Depends-on): Add intprops.
95859         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
95860         * modules/memrchr-tests: New file.
95861         * tests/test-memrchr.c: New file.
95863 2008-04-26  Bruno Haible  <bruno@clisp.org>
95865         Add tentative support for DragonFly BSD.
95866         * lib/stdio-impl.h: Add macros for DragonFly BSD.
95867         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
95868         fp.
95869         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95870         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
95871         * lib/fpurge.c (fpurge): Likewise.
95872         * lib/freadable.c (freaadable): Likewise.
95873         * lib/freadahead.c (freadahead): Likewise.
95874         * lib/freading.c (freading): Likewise.
95875         * lib/freadptr.c (freadptr): Likewise.
95876         * lib/freadseek.c (freadptrinc): Likewise.
95877         * lib/fseeko.c (fseeko): Likewise.
95878         * lib/fseterr.c (fseterr): Likewise.
95879         * lib/fwritable.c (fwritable): Likewise.
95880         * lib/fwriting.c (fwriting): Likewise.
95882 2008-04-26  Bruno Haible  <bruno@clisp.org>
95884         * lib/stdio-impl.h: New file.
95885         * lib/fbufmode.c: Include stdio-impl.h.
95886         (fbufmode): Use fp_, remove redundant #defines.
95887         * lib/fflush.c: Include stdio-impl.h.
95888         (clear_ungetc_buffer): Remove redundant #defines.
95889         * lib/fpurge.c: Include stdio-impl.h.
95890         (fpurge): Remove redundant #defines.
95891         * lib/freadable.c: Include stdio-impl.h.
95892         (freadable): Remove redundant #defines.
95893         * lib/freadahead.c: Include stdio-impl.h.
95894         (freadahead): Remove redundant #defines.
95895         * lib/freading.c: Include stdio-impl.h.
95896         (freading): Remove redundant #defines.
95897         * lib/freadptr.c: Include stdio-impl.h.
95898         (freadptr): Remove redundant #defines.
95899         * lib/freadseek.c: Include stdio-impl.h.
95900         (freadptrinc): Remove redundant #defines.
95901         * lib/fseeko.c: Include stdio-impl.h.
95902         (rpl_fseeko): Remove redundant #defines.
95903         * lib/fseterr.c: Include stdio-impl.h.
95904         (fseterr): Remove redundant #defines.
95905         * lib/fwritable.c: Include stdio-impl.h.
95906         (fwritable: Remove redundant #defines.
95907         * lib/fwriting.c: Include stdio-impl.h.
95908         (fwriting): Remove redundant #defines.
95909         * modules/fbufmode (Files): Add lib/stdio-impl.h.
95910         * modules/fflush (Files): Likewise.
95911         * modules/fpurge (Files): Likewise.
95912         * modules/freadable (Files): Likewise.
95913         * modules/freadahead (Files): Likewise.
95914         * modules/freading (Files): Likewise.
95915         * modules/freadptr (Files): Likewise.
95916         * modules/freadseek (Files): Likewise.
95917         * modules/fseeko (Files): Likewise.
95918         * modules/fseterr (Files): Likewise.
95919         * modules/fwritable (Files): Likewise.
95920         * modules/fwriting (Files): Likewise.
95922 2008-04-26  Bruno Haible  <bruno@clisp.org>
95924         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95925         restore_seek_optimization, update_fpos_cache): New functions, extracted
95926         from rpl_fflush.
95927         (rpl_fflush): Use them.
95928         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
95929         (gl_REPLACE_FFLUSH): Use it.
95931 2008-04-26  Bruno Haible  <bruno@clisp.org>
95933         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
95934         on Solaris.
95935         * tests/test-xstrtoimax.sh: Likewise.
95936         * tests/test-xstrtoumax.sh: Likewise.
95937         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95939 2008-04-26  Bruno Haible  <bruno@clisp.org>
95941         * modules/memchr-tests: New file.
95942         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
95944 2008-04-26  Eric Blake  <ebb9@byu.net>
95945             Bruno Haible  <bruno@clisp.org>
95947         * lib/memchr.c: Include intprops.h.
95948         (__memchr): Optimize parallel detection of matching bytes. Rename local
95949         variables. Add explanatory comments.
95951 2008-04-26  Bruno Haible  <bruno@clisp.org>
95953         Fix module 'memchr', broken since 2000-10-28.
95954         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
95956 2008-04-26  Bruno Haible  <bruno@clisp.org>
95958         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
95959         comments.
95961 2008-04-25  Eric Blake  <ebb9@byu.net>
95963         Use native fstatat on cygwin 1.7.0.
95964         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
95965         first.
95967 2008-04-23  Eric Blake  <ebb9@byu.net>
95969         Improve memchr2 performance.
95970         * lib/memchr2.c (memchr2): Further optimize parallel detection of
95971         NUL bytes.
95972         * modules/memchr2 (Depends-on): Use intprops.h.
95974 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95976         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
95977         an inline function instead of a CPP macro.  Patch by Ben Pfaff
95978         <blp@cs.stanford.edu>.
95980 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95982         * lib/arpa_inet.in.h: New file.
95984         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
95985         (Makefile.am): Sed in substitute header file.
95987         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
95988         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
95990         * modules/inet_ntop (configure.ac): Use
95991         gl_ARPA_INET_MODULE_INDICATOR.
95993         * modules/inet_pton (configure.ac): Use
95994         gl_ARPA_INET_MODULE_INDICATOR.
95996 2008-04-22  Jim Meyering  <meyering@redhat.com>
95998         * modules/verify (License): Re-license as LGPLv2+.
96000 2008-04-22  Simon Josefsson  <simon@josefsson.org>
96002         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
96003         parameter to void* as per POSIX standard (MinGW uses char*).
96005 2008-04-21  Bruno Haible  <bruno@clisp.org>
96007         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
96008         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
96009         Define to replacements if REPLACE_ISWCNTRL is 1.
96010         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
96011         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
96012         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
96013         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
96014         what it fixes.
96015         * doc/posix-functions/iswalpha.texi: Likewise.
96016         * doc/posix-functions/iswblank.texi: Likewise.
96017         * doc/posix-functions/iswcntrl.texi: Likewise.
96018         * doc/posix-functions/iswdigit.texi: Likewise.
96019         * doc/posix-functions/iswgraph.texi: Likewise.
96020         * doc/posix-functions/iswlower.texi: Likewise.
96021         * doc/posix-functions/iswprint.texi: Likewise.
96022         * doc/posix-functions/iswpunct.texi: Likewise.
96023         * doc/posix-functions/iswspace.texi: Likewise.
96024         * doc/posix-functions/iswupper.texi: Likewise.
96025         * doc/posix-functions/iswxdigit.texi: Likewise.
96026         Reported by Alain Guibert.
96028 2008-04-21  Bruno Haible  <bruno@clisp.org>
96030         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
96031         Patch by Alain Guibert.
96033 2008-04-21  Bruno Haible  <bruno@clisp.org>
96035         Fix test failures on mingw.
96036         * tests/test-xstrtol.c (print_no_progname): New function.
96037         (main): Install it in error_print_progname hook.
96038         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
96039         * tests/test-xstrtoimax.sh: Likewise.
96040         * tests/test-xstrtoumax.sh: Likewise.
96042 2008-04-21  Bruno Haible  <bruno@clisp.org>
96044         Fix test failure on mingw.
96045         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
96047 2008-04-21  Bruno Haible  <bruno@clisp.org>
96049         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
96050         Actually assign a value.
96052 2008-04-20  Bruno Haible  <bruno@clisp.org>
96054         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
96055         take 2.
96056         * lib/canonicalize.c (canonicalize_file_name): Elide if the
96057         'canonicalize-lgpl' module is also used.
96058         * lib/canonicalize-lgpl.c: Undo last change.
96059         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
96061 2008-04-20  Bruno Haible  <bruno@clisp.org>
96063         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
96064         config.h. Provide _mkdir based fallback for mingw.
96065         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
96066         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
96067         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
96068         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
96069         rather than defining mkdir in config.h.
96070         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
96071         (gl_SYS_STAT_H_DEFAULTS): New macro.
96072         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
96073         HAVE_IO_H any more.
96074         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
96075         HAVE_DECL_MKDIR and HAVE_IO_H.
96077 2008-04-20  Bruno Haible  <bruno@clisp.org>
96079         * lib/isapipe.c: Port to native Windows platforms.
96081 2008-04-20  Bruno Haible  <bruno@clisp.org>
96083         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
96085 2008-04-21  Eric Blake  <ebb9@byu.net>
96087         Work around preprocessors that don't handle UINTMAX_MAX.
96088         * lib/memchr2.c (memchr2): Avoid embedded #if.
96089         Reported by Alain Guibert, fix suggested by Bruno Haible.
96091 2008-04-21  Simon Josefsson  <simon@josefsson.org>
96093         * doc/posix-functions/strftime.texi (strftime): Explain better
96094         Windows incompatibility.  Suggested by Micah Cowan
96095         <micah@cowan.name>.
96097 2008-04-20  Bruno Haible  <bruno@clisp.org>
96099         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
96100         unistr/u8-mblen.
96102 2008-04-20  Bruno Haible  <bruno@clisp.org>
96104         Fix test failure on platforms with non-GNU iconv.
96105         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
96106         (U_TO_U8): Use it, rather than u16_to_u8.
96107         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
96108         units at the end of the input string.
96109         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
96111 2008-04-20  Bruno Haible  <bruno@clisp.org>
96113         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
96114         when the resulting length is 0.
96115         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
96117 2008-04-20  Bruno Haible  <bruno@clisp.org>
96119         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
96120         works.
96121         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
96123 2008-04-20  Bruno Haible  <bruno@clisp.org>
96125         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
96126         * modules/tsearch-tests (configure.ac): Test for initstate function.
96128 2008-04-20  Bruno Haible  <bruno@clisp.org>
96130         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
96131         for nlink_t if missing.
96132         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
96134 2008-04-19  Bruno Haible  <bruno@clisp.org>
96136         Work around snprintf bug on Linux libc5.
96137         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
96138         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
96139         gl_SNPRINTF_SIZE1.
96140         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
96141         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
96142         that test failed.
96143         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
96144         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
96145         * modules/snprintf (Files): Add m4/printf.m4.
96146         * modules/vsnprintf (Files): Likewise.
96147         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
96148         * doc/posix-functions/vsnprintf.texi: Likewise.
96150 2008-04-19  Bruno Haible  <bruno@clisp.org>
96152         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
96153         from 0.0058 to less than 10^-7.
96155 2008-04-19  Bruno Haible  <bruno@clisp.org>
96157         Fix rounding when a precision is given.
96158         * lib/vasnprintf.c (is_borderline): New function.
96159         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
96160         9...9x.
96161         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
96162         %e, %g.
96163         * tests/test-vasprintf-posix.c (test_function): Likewise.
96164         * tests/test-snprintf-posix.h (test_function): Likewise.
96165         * tests/test-sprintf-posix.h (test_function): Likewise.
96166         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
96167         * tests/test-printf-posix.h (test_function): Likewise.
96168         * tests/test-printf-posix.output: Update.
96169         Reported by John Darrington <john@darrington.wattle.id.au> via
96170         Ben Pfaff <blp@cs.stanford.edu>.
96172 2008-04-18  Simon Josefsson  <simon@josefsson.org>
96174         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
96175         Suggested by Bruno Haible <bruno@clisp.org>.
96177 2008-04-17  Bruno Haible  <bruno@clisp.org>
96179         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
96180         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
96181         implementation.
96182         Patch by Bruce Merry <bmerry@gmail.com>.
96184 2008-04-17  Simon Josefsson  <simon@josefsson.org>
96186         * doc/posix-functions/strftime.texi (strftime): Mention that %e
96187         doesn't work under Windows.
96189 2008-04-16  Bruno Haible  <bruno@clisp.org>
96191         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
96192         New macros.
96193         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
96194         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
96195         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
96196         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
96197         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
96198         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
96199         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
96200         macros.
96201         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
96202         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
96203         Northern Sotho, Uighur.
96205 2008-04-16  Bruno Haible  <bruno@clisp.org>
96207         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
96208         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
96209         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
96210         Reported by Daniel Bergström <daniel@octocode.com>.
96212 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
96213             Bruno Haible  <bruno@clisp.org>
96215         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
96216         function.
96217         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
96218         New functions, mostly extracted from gl_locale_name_default.
96219         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
96221 2008-04-16  Eric Blake  <ebb9@byu.net>
96223         Adjust strtod detection to catch glibc 2.7 bug.
96224         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
96225         Reported by John Gatewood Ham.
96227 2008-04-16  Bruno Haible  <bruno@clisp.org>
96229         Add tentative support for Linux libc5.
96230         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
96231         * lib/fpurge.c (fpurge): Likewise.
96232         * lib/freadable.c (freadable): Likewise.
96233         * lib/freadahead.c (freadahead): Likewise.
96234         * lib/freading.c (freading): Likewise.
96235         * lib/freadptr.c (freadptr): Likewise.
96236         * lib/freadseek.c (freadptrinc): Likewise.
96237         * lib/fseeko.c (rpl_fseeko): Likewise.
96238         * lib/fseterr.c (fseterr): Likewise.
96239         * lib/fwritable.c (fwritable): Likewise.
96240         * lib/fwriting.c (fwriting): Likewise.
96241         Reported by Alain Guibert <alguibert+bts@free.fr>.
96243 2008-04-15  Bruno Haible  <bruno@clisp.org>
96245         * modules/mathl (configure.ac): Define module indicator.
96247 2008-04-15  Bruno Haible  <bruno@clisp.org>
96249         * lib/logl.c (logl): Remove unused variables.
96251 2008-04-15  Bruno Haible  <bruno@clisp.org>
96253         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
96254         fails.
96256 2008-04-15  Bruno Haible  <bruno@clisp.org>
96258         * lib/trim.c (trim2): Fix argument of isspace() macro.
96260 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
96262         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
96263         to 0.
96264         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
96266 2008-04-14  Bruno Haible  <bruno@clisp.org>
96268         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
96269         AC_LANG_PROGRAM argument.
96270         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
96271         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
96272         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
96273         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
96274         * m4/math_h.m4 (gl_MATH_H): Likewise.
96275         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
96276         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
96277         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
96278         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
96279         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
96280         * m4/regex.m4 (gl_REGEX): Likewise.
96281         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
96282         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
96283         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
96284         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
96285         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
96286         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
96287         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
96288         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
96290 2008-04-14  Jim Meyering  <meyering@redhat.com>
96292         test-strtod: fix typos: s/abs/fabs/
96293         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
96295 2008-04-13  Bruno Haible  <bruno@clisp.org>
96297         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
96298         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
96299         module is also used and while not building the reloc-wrapper.
96301 2008-04-13  Bruno Haible  <bruno@clisp.org>
96303         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
96305 2008-04-13  Bruno Haible  <bruno@clisp.org>
96307         Fix AIX compilation failure introduced on 2008-04-02.
96308         * tests/test-frexp.c (exp): Undefine before redefining.
96309         * tests/test-frexpl.c (exp): Likewise.
96311 2008-04-13  Bruno Haible  <bruno@clisp.org>
96313         Work around a HP-UX stdio bug.
96314         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
96315         * tests/test-ftello.c (main): Likewise.
96316         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
96317         * doc/posix-functions/ftello.texi: Likewise.
96319 2008-04-13  Bruno Haible  <bruno@clisp.org>
96321         Make test-signbit pass on HP-UX/hppa.
96322         * tests/test-signbit.c (minus_zerol): New variable.
96323         (test_signbitl): Use it.
96325 2008-04-13  Bruno Haible  <bruno@clisp.org>
96327         Make truncl work on OSF/1 4.0.
96328         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
96329         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
96330         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
96331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
96332         HAVE_DECL_TRUNCL.
96333         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
96334         HAVE_DECL_TRUNCL.
96335         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
96337 2008-04-13  Bruno Haible  <bruno@clisp.org>
96339         * lib/unictype.h: Remove trailing comma from enumeration definitions.
96341 2008-04-13  Bruno Haible  <bruno@clisp.org>
96343         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
96344         expression, so as to avoid HP-UX 11 cc compiler bug.
96346 2008-04-13  Bruno Haible  <bruno@clisp.org>
96348         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
96350 2008-04-13  Bruno Haible  <bruno@clisp.org>
96352         * lib/git-merge-changelog.c: Remove empty declaration outside of
96353         functions.
96355 2008-04-13  Bruno Haible  <bruno@clisp.org>
96357         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
96359 2008-04-13  Bruno Haible  <bruno@clisp.org>
96361         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
96362         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
96363         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
96364         also if it exists but lacks definitions of the SHUT_* macros.
96365         * modules/sys_socket (Description): Update.
96366         Reported by Elbert Pol <e.pol@chello.nl>.
96368 2008-04-13  Bruno Haible  <bruno@clisp.org>
96370         * lib/localcharset.c (OS2): Don't redefine if already defined.
96371         Reported by Elbert Pol <e.pol@chello.nl>.
96373 2008-04-13  Bruno Haible  <bruno@clisp.org>
96375         * lib/binary-io.h [__EMX__]: Include <io.h>.
96376         Reported by Elbert Pol <e.pol@chello.nl>.
96378 2008-04-12  Bruno Haible  <bruno@clisp.org>
96380         * lib/fpucw.h: Enable the definitions also for x86_64.
96381         Needed for NetBSD/x86_64.
96382         Reported by Thomas Klausner <tk@giga.or.at>.
96384 2008-04-12  Bruno Haible  <bruno@clisp.org>
96386         * tests/test-strtod.c: Include isnand.h.
96387         (main): Use isnand instead of isnan.
96388         Reported by Jim Meyering.
96390 2008-04-12  Bruno Haible  <bruno@clisp.org>
96392         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
96393         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
96395 2008-04-12  Jim Meyering  <meyering@redhat.com>
96397         * m4/math_h.m4 (gl_MATH_H): Fix typos.
96399 2008-04-12  Bruno Haible  <bruno@clisp.org>
96401         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
96402         Reported by Elbert Pol <e.pol@chello.nl>.
96404 2008-04-12  Eric Blake  <ebb9@byu.net>
96406         Work around Solaris 10 math.h bug.
96407         * m4/math_h.m4 (gl_MATH_H): Check for bug.
96408         (gl_MATH_H_DEFAULTS): Set up default.
96409         * modules/math (Makefile.am): Replace new indicators.
96410         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
96411         * tests/test-math.c (main): Test this.
96412         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
96413         * doc/posix-headers/math.texi (math.h): Mention bug.
96414         Reported by Nelson H. F. Beebe and Jim Meyering.
96416 2008-04-11  Bruno Haible  <bruno@clisp.org>
96418         Adapt to future versions of Apple GCC.
96419         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
96420         Reported by Peter O'Gorman <peter@pogma.com>.
96422 2008-04-11  Bruno Haible  <bruno@clisp.org>
96424         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
96426 2008-04-11  Bruno Haible  <bruno@clisp.org>
96428         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
96430         * modules/getaddrinfo-tests (Makefile.am): Define
96431         test_getaddrinfo_LDADD.
96433 2008-04-11  Bruno Haible  <bruno@clisp.org>
96435         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
96436         (init): Fix syntax error.
96437         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
96438         is declared.
96440 2008-04-11  Bruno Haible  <bruno@clisp.org>
96442         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
96443         * modules/glob (Depends-on): Add stdbool.
96445 2008-04-11  Bruno Haible  <bruno@clisp.org>
96447         * lib/trim.c: Include <string.h>.
96449 2008-04-11  Eric Blake  <ebb9@byu.net>
96451         Avoid compile failure on OS/2.
96452         * lib/regex_internal.h (internal_function): Disable optimization
96453         on OS/2 (__EMX__), where it caused compiler error.
96454         Reported by Elbert Pol.
96456 2008-04-11  Bruno Haible  <bruno@clisp.org>
96458         Flush the standard error stream before aborting. Needed on mingw.
96459         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
96460         * tests/test-array_list.c (ASSERT): Likewise.
96461         * tests/test-array_oset.c (ASSERT): Likewise.
96462         * tests/test-avltree_list.c (ASSERT): Likewise.
96463         * tests/test-avltree_oset.c (ASSERT): Likewise.
96464         * tests/test-avltreehash_list.c (ASSERT): Likewise.
96465         * tests/test-binary-io.c (ASSERT): Likewise.
96466         * tests/test-byteswap.c (ASSERT): Likewise.
96467         * tests/test-c-ctype.c (ASSERT): Likewise.
96468         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
96469         * tests/test-c-strcasestr.c (ASSERT): Likewise.
96470         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
96471         * tests/test-c-strstr.c (ASSERT): Likewise.
96472         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
96473         * tests/test-canonicalize.c (ASSERT): Likewise.
96474         * tests/test-carray_list.c (ASSERT): Likewise.
96475         * tests/test-ceilf1.c (ASSERT): Likewise.
96476         * tests/test-ceilf2.c (ASSERT): Likewise.
96477         * tests/test-ceill.c (ASSERT): Likewise.
96478         * tests/test-count-one-bits.c (ASSERT): Likewise.
96479         * tests/test-fbufmode.c (ASSERT): Likewise.
96480         * tests/test-fflush2.c (ASSERT): Likewise.
96481         * tests/test-floorf1.c (ASSERT): Likewise.
96482         * tests/test-floorf2.c (ASSERT): Likewise.
96483         * tests/test-floorl.c (ASSERT): Likewise.
96484         * tests/test-fopen.c (ASSERT): Likewise.
96485         * tests/test-fpending.c (ASSERT): Likewise.
96486         * tests/test-fprintf-posix.c (ASSERT): Likewise.
96487         * tests/test-fpurge.c (ASSERT): Likewise.
96488         * tests/test-freadable.c (ASSERT): Likewise.
96489         * tests/test-freadahead.c (ASSERT): Likewise.
96490         * tests/test-freading.c (ASSERT): Likewise.
96491         * tests/test-freadptr.c (ASSERT): Likewise.
96492         * tests/test-freadptr2.c (ASSERT): Likewise.
96493         * tests/test-freadseek.c (ASSERT): Likewise.
96494         * tests/test-freopen.c (ASSERT): Likewise.
96495         * tests/test-frexp.c (ASSERT): Likewise.
96496         * tests/test-frexpl.c (ASSERT): Likewise.
96497         * tests/test-fseek.c (ASSERT): Likewise.
96498         * tests/test-fseeko.c (ASSERT): Likewise.
96499         * tests/test-fstrcmp.c (ASSERT): Likewise.
96500         * tests/test-ftell.c (ASSERT): Likewise.
96501         * tests/test-ftello.c (ASSERT): Likewise.
96502         * tests/test-func.c (ASSERT): Likewise.
96503         * tests/test-fwritable.c (ASSERT): Likewise.
96504         * tests/test-fwriting.c (ASSERT): Likewise.
96505         * tests/test-getdelim.c (ASSERT): Likewise.
96506         * tests/test-getline.c (ASSERT): Likewise.
96507         * tests/test-i-ring.c (ASSERT): Likewise.
96508         * tests/test-iconv-utf.c (ASSERT): Likewise.
96509         * tests/test-iconv.c (ASSERT): Likewise.
96510         * tests/test-isfinite.c (ASSERT): Likewise.
96511         * tests/test-isnand.c (ASSERT): Likewise.
96512         * tests/test-isnanf.c (ASSERT): Likewise.
96513         * tests/test-isnanl.h (ASSERT): Likewise.
96514         * tests/test-ldexpl.c (ASSERT): Likewise.
96515         * tests/test-linked_list.c (ASSERT): Likewise.
96516         * tests/test-linkedhash_list.c (ASSERT): Likewise.
96517         * tests/test-localename.c (ASSERT): Likewise.
96518         * tests/test-lseek.c (ASSERT): Likewise.
96519         * tests/test-mbscasecmp.c (ASSERT): Likewise.
96520         * tests/test-mbscasestr1.c (ASSERT): Likewise.
96521         * tests/test-mbscasestr2.c (ASSERT): Likewise.
96522         * tests/test-mbscasestr3.c (ASSERT): Likewise.
96523         * tests/test-mbscasestr4.c (ASSERT): Likewise.
96524         * tests/test-mbschr.c (ASSERT): Likewise.
96525         * tests/test-mbscspn.c (ASSERT): Likewise.
96526         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
96527         * tests/test-mbspbrk.c (ASSERT): Likewise.
96528         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
96529         * tests/test-mbsrchr.c (ASSERT): Likewise.
96530         * tests/test-mbsspn.c (ASSERT): Likewise.
96531         * tests/test-mbsstr1.c (ASSERT): Likewise.
96532         * tests/test-mbsstr2.c (ASSERT): Likewise.
96533         * tests/test-mbsstr3.c (ASSERT): Likewise.
96534         * tests/test-memchr2.c (ASSERT): Likewise.
96535         * tests/test-memmem.c (ASSERT): Likewise.
96536         * tests/test-open.c (ASSERT): Likewise.
96537         * tests/test-printf-frexp.c (ASSERT): Likewise.
96538         * tests/test-printf-frexpl.c (ASSERT): Likewise.
96539         * tests/test-printf-posix.c (ASSERT): Likewise.
96540         * tests/test-quotearg.c (ASSERT): Likewise.
96541         * tests/test-rbtree_list.c (ASSERT): Likewise.
96542         * tests/test-rbtree_oset.c (ASSERT): Likewise.
96543         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
96544         * tests/test-round1.c (ASSERT): Likewise.
96545         * tests/test-roundf1.c (ASSERT): Likewise.
96546         * tests/test-roundl.c (ASSERT): Likewise.
96547         * tests/test-signbit.c (ASSERT): Likewise.
96548         * tests/test-sleep.c (ASSERT): Likewise.
96549         * tests/test-snprintf-posix.c (ASSERT): Likewise.
96550         * tests/test-snprintf.c (ASSERT): Likewise.
96551         * tests/test-sprintf-posix.c (ASSERT): Likewise.
96552         * tests/test-stat-time.c (ASSERT): Likewise.
96553         * tests/test-strcasestr.c (ASSERT): Likewise.
96554         * tests/test-strerror.c (ASSERT): Likewise.
96555         * tests/test-striconv.c (ASSERT): Likewise.
96556         * tests/test-striconveh.c (ASSERT): Likewise.
96557         * tests/test-striconveha.c (ASSERT): Likewise.
96558         * tests/test-strsignal.c (ASSERT): Likewise.
96559         * tests/test-strstr.c (ASSERT): Likewise.
96560         * tests/test-strtod.c (ASSERT): Likewise.
96561         * tests/test-trunc1.c (ASSERT): Likewise.
96562         * tests/test-trunc2.c (ASSERT): Likewise.
96563         * tests/test-truncf1.c (ASSERT): Likewise.
96564         * tests/test-truncf2.c (ASSERT): Likewise.
96565         * tests/test-truncl.c (ASSERT): Likewise.
96566         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
96567         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
96568         * tests/test-vasnprintf.c (ASSERT): Likewise.
96569         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
96570         * tests/test-vasprintf.c (ASSERT): Likewise.
96571         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
96572         * tests/test-vprintf-posix.c (ASSERT): Likewise.
96573         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
96574         * tests/test-vsnprintf.c (ASSERT): Likewise.
96575         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
96576         * tests/test-wcwidth.c (ASSERT): Likewise.
96577         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
96578         * tests/test-xprintf-posix.c (ASSERT): Likewise.
96579         * tests/test-xvasprintf.c (ASSERT): Likewise.
96580         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
96581         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
96582         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
96583         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
96584         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
96585         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
96586         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
96587         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
96588         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
96589         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
96590         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
96591         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
96592         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
96593         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
96594         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
96595         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
96596         * tests/unictype/test-block_list.c (ASSERT): Likewise.
96597         * tests/unictype/test-block_of.c (ASSERT): Likewise.
96598         * tests/unictype/test-block_test.c (ASSERT): Likewise.
96599         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
96600         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
96601         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
96602         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
96603         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
96604         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
96605         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
96606         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
96607         * tests/unictype/test-combining.c (ASSERT): Likewise.
96608         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
96609         * tests/unictype/test-digit.c (ASSERT): Likewise.
96610         * tests/unictype/test-mirror.c (ASSERT): Likewise.
96611         * tests/unictype/test-numeric.c (ASSERT): Likewise.
96612         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
96613         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
96614         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
96615         * tests/unictype/test-scripts.c (ASSERT): Likewise.
96616         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
96617         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
96618         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
96619         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
96620         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
96621         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
96622         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
96623         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
96624         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
96625         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
96626         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
96627         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
96628         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
96629         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
96630         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
96631         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
96632         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
96633         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
96634         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
96635         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
96636         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
96637         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
96638         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
96639         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
96640         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
96641         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
96642         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
96643         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
96644         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
96645         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
96646         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
96647         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
96648         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
96649         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
96650         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
96651         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
96652         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
96653         Reported by Eric Blake.
96655 2008-04-11  Bruno Haible  <bruno@clisp.org>
96657         * lib/wchar.in.h: Tweak comment.
96659 2008-04-11  Bruno Haible  <bruno@clisp.org>
96661         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
96662         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
96663         gl_COMMON.
96664         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
96666 2008-04-11  Bruno Haible  <bruno@clisp.org>
96668         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
96670 2008-04-11  Simon Josefsson  <simon@josefsson.org>
96672         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
96673         of attempting to use non-existing /dev/*random.  Based on patch
96674         from Adam Strzelecki <ono@java.pl> in
96675         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
96677 2008-04-08  Bruno Haible  <bruno@clisp.org>
96679         Add tentative support for emx+gcc.
96680         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
96681         * lib/fpurge.c (fpurge): Likewise.
96682         * lib/freadable.c (freadable): Likewise.
96683         * lib/freadahead.c (freadahead): Likewise.
96684         * lib/freading.c (freading): Likewise.
96685         * lib/freadptr.c (freadptr): Likewise.
96686         * lib/freadseek.c (freadptrinc): Likewise.
96687         * lib/fseeko.c (rpl_fseeko): Likewise.
96688         * lib/fseterr.c (fseterr): Likewise.
96689         * lib/fwritable.c (fwritable): Likewise.
96690         * lib/fwriting.c (fwriting): Likewise.
96691         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
96693 2008-04-09  Eric Blake  <ebb9@byu.net>
96695         Avoid some autoconf warnings.
96696         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
96697         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
96698         * m4/afs.m4 (gl_AFS): Likewise.
96699         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
96700         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
96701         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96702         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
96703         (gl_INTEGER_TYPE_SUFFIX): Likewise.
96704         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
96705         (AC_CHECK_DECLS_ONCE): Likewise.
96706         Rename file...
96707         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
96708         gnulib-tool requires autoconf 2.59 or better.
96709         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
96711 2008-04-08  Eric Blake  <ebb9@byu.net>
96713         Use 'git describe --match' if present (added in git 1.5.5).
96714         * build-aux/git-version-gen: Limit result to tags that match 'v*'
96715         if possible.
96717 2008-04-08  Bruno Haible  <bruno@clisp.org>
96719         Add tentative support for OpenServer.
96720         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
96721         _ptr, _cnt.
96722         * lib/fpurge.c (fpurge): Likewise.
96723         * lib/freadable.c (freadable): Likewise.
96724         * lib/freadahead.c (freadahead): Likewise.
96725         * lib/freading.c (freading): Likewise.
96726         * lib/freadptr.c (freadptr): Likewise.
96727         * lib/freadseek.c (freadptrinc): Likewise.
96728         * lib/fseeko.c (rpl_fseeko): Likewise.
96729         * lib/fseterr.c (fseterr): Likewise.
96730         * lib/fwritable.c (fwritable): Likewise.
96731         * lib/fwriting.c (fwriting): Likewise.
96732         Reported by Roger Cornelius <rac@tenzing.org> and
96733         Brian K. White <brian@aljex.com>.
96735 2008-04-06  Jim Meyering  <meyering@redhat.com>
96737         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
96739 2008-04-06  Bruno Haible  <bruno@clisp.org>
96741         Avoid possible error with non-ASCII bytes in UTF-8 locales.
96742         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
96743         * tests/test-printf-posix.sh: Likewise.
96744         * tests/test-vfprintf-posix.sh: Likewise.
96745         * tests/test-vprintf-posix.sh: Likewise.
96746         * tests/test-xprintf-posix.sh: Likewise.
96748 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96750         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
96751         hide error from 'ls', needed on OS/2.
96752         Report by Elbert Pol <elbert.pol@gmail.com>.
96754 2008-04-04  Eric Blake  <ebb9@byu.net>
96756         Make test-fseeko.c failures meaningful.
96757         * tests/test-fseeko.c: Print line number on failure.
96758         * tests/test-fseek.c: Likewise.
96759         Reported by Nelson H. F. Beebe.
96761         Improve strtod bug detection check.
96762         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
96763         required for Solaris 10.
96764         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
96766 2008-04-04  Bruno Haible  <bruno@clisp.org>
96768         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
96769         by m4/setenv.m4.
96771 2008-04-03  Eric Blake  <ebb9@byu.net>
96773         Ensure sane .version contents.
96774         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
96775         version string.
96776         * build-aux/git-version-gen: Improve documentation.
96778         Make GNU make output nicer.
96779         * top/GNUmakefile [!_have-Makefile]: Add dependency on
96780         MAKECMDGOALS to enforce message for all command line targets.  Set
96781         srcdir for use in maint.mk.
96783         Another maintainer tweak.
96784         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
96785         a target that regenerates version.
96787 2008-04-03  Jim Meyering  <meyering@redhat.com>
96789         vc-list-files: don't cause coreutils "make po-check" failure
96790         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
96792 2008-04-03  Eric Blake  <ebb9@byu.net>
96794         Allow VPATH usage of vc-list-files.
96795         * build-aux/vc-list-files (scriptversion): Add timestamp.
96796         (options): Add --help, --version, -C.
96797         (CVS): Support installed cvsu.
96799 2008-04-02  Bruno Haible  <bruno@clisp.org>
96801         Avoid some "statement with no effect" warnings from gcc.
96802         * tests/test-wctype.c (main): Explicitly ignore unused values.
96803         Reported by Jim Meyering.
96805 2008-04-02  Jim Meyering  <meyering@redhat.com>
96807         Avoid some warnings from "gcc -Wshadow".
96808         * tests/test-frexp.c (exp): Define to a different identifier.
96809         * tests/test-frexpl.c (exp): Likewise.
96811 2008-04-03  Jim Meyering  <meyering@redhat.com>
96813         bootstrap: remove dangling *.[ch] symlinks from lib
96814         * build-aux/bootstrap [dangling symlink removal]: Move find's
96815         -depth option to precede all others, to avoid a warning.
96816         Remove *.[ch] files too, and from "$source_base" (usually lib/).
96818 2008-04-02  Bruno Haible  <bruno@clisp.org>
96820         Avoid some warnings from "gcc -Wshadow".
96821         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
96822         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
96823         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
96824         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
96825         Reported by Jim Meyering.
96827 2008-04-01  Bruno Haible  <bruno@clisp.org>
96829         Fix test to work on IRIX 6.5 with cc.
96830         * tests/test-math.c (numeric_equal): New function.
96831         (main): Use it.
96833 2008-04-01  Bruno Haible  <bruno@clisp.org>
96835         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
96837 2008-04-01  Bruno Haible  <bruno@clisp.org>
96839         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
96840         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96841         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
96842         (Depends-on): Remove math.
96844         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
96845         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96846         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
96847         (Depends-on): Remove math.
96849         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
96850         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96851         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
96852         (Depends-on): Remove math.
96853         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
96854         (Depends-on): Remove math.
96856         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
96857         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96858         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
96859         (Depends-on): Remove math.
96860         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
96861         (Depends-on): Remove math.
96863         * tests/test-round1.c: Include nan.h.
96864         (main): Use NaNd instead of NAN.
96865         * modules/round-tests (Files): Add tests/nan.h.
96867         * tests/test-trunc1.c: Include nan.h.
96868         (main): Use NaNd instead of NAN.
96869         * modules/trunc-tests (Files): Add tests/nan.h.
96871         * tests/test-roundf1.c: Include nan.h.
96872         (main): Use NaNf instead of NAN.
96873         * modules/roundf-tests (Files): Add tests/nan.h.
96875         * tests/test-truncf1.c: Include nan.h.
96876         (main): Use NaNf instead of NAN.
96877         * modules/truncf-tests (Files): Add tests/nan.h.
96879         * tests/test-ceilf1.c: Include nan.h.
96880         (main): Use NaNf instead of NAN.
96881         * modules/ceilf-tests (Files): Add tests/nan.h.
96883         * tests/test-floorf1.c: Include nan.h.
96884         (main): Use NaNf instead of NAN.
96885         * modules/floorf-tests (Files): Add tests/nan.h.
96887         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
96888         (main): Use NaNf instead of NAN.
96889         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
96891         * tests/test-isnand.c: Include nan.h instead of <math.h>.
96892         (main): Use NaNd instead of NAN.
96893         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
96895         * tests/test-frexp.c: Include nan.h.
96896         (main): Use NaNd instead of NAN.
96897         * modules/frexp-tests (Files): Add tests/nan.h.
96899         * lib/isnan.c: Don't include <math.h>.
96900         (FUNC): Don't use NAN macro.
96901         * modules/isnand-nolibm (Depends-on): Remove math.
96902         * modules/isnanf-nolibm (Depends-on): Remove math.
96903         * modules/isnanl (Depends-on): Remove math.
96904         * modules/isnanl-nolibm (Depends-on): Remove math.
96906         * tests/nan.h: New file.
96908 2008-04-01  Eric Blake  <ebb9@byu.net>
96910         Fix typos.
96911         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
96912         values to be the right type.
96914         For now, cater to gnulib strtod inaccuracies.
96915         * tests/test-strtod.c (main): Allow 1-ulp error on expected
96916         fractional results.  While not as nice from a QoI perspective, it
96917         is a quicker patch than correctly implementing decimal to binary
96918         rounding.
96920 2008-03-31  Eric Blake  <ebb9@byu.net>
96922         Guarantee a definition of NAN.
96923         * lib/math.in.h (NAN): Define if missing.
96924         * tests/test-math.c (main): Test it.
96925         * doc/posix-headers/math.texi (math.h): Document this.
96926         * lib/isnan.c (rpl_isnand): Use it.
96927         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
96928         * tests/test-floorf1.c (NaN): Likewise.
96929         * tests/test-frexp.c (NaN): Likewise.
96930         * tests/test-isnand.c (NaN): Likewise.
96931         * tests/test-isnanf.c (NaN): Likewise.
96932         * tests/test-round1.c (NaN): Likewise.
96933         * tests/test-roundf1.c (NaN): Likewise.
96934         * tests/test-snprintf-posix.h (NaN): Likewise.
96935         * tests/test-sprintf-posix.h (NaN): Likewise.
96936         * tests/test-trunc1.c (NaN): Likewise.
96937         * tests/test-truncf1.c (NaN): Likewise.
96938         * tests/test-vasnprintf-posix.c (NaN): Likewise.
96939         * tests/test-vasprintf-posix.c (NaN): Likewise.
96940         * modules/isnand-nolibm (Depends-on): Add math.
96941         * modules/isnanf-nolibm (Depends-on): Likewise.
96942         * modules/isnanl (Depends-on): Likewise.
96943         * modules/isnanl-nolibm (Depends-on): Likewise.
96944         * modules/snprintf-posix-tests (Depends-on): Likewise.
96945         * modules/sprintf-posix-tests (Depends-on): Likewise.
96946         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
96947         * modules/vsprintf-posix-tests (Depends-on): Likewise.
96948         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
96949         * modules/vasprintf-posix-tests (Depends-on): Likewise.
96951 2008-03-31  Bruno Haible  <bruno@clisp.org>
96953         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
96954         * doc/posix-functions/strtod.texi: Likewise.
96956 2008-03-31  Bruno Haible  <bruno@clisp.org>
96958         * tests/test-strtod.c (main): Don't use C99 syntax.
96960 2008-03-31  Bruno Haible  <bruno@clisp.org>
96962         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
96963         Reported by Eric Blake.
96965 2008-03-31  Jim Meyering  <meyering@redhat.com>
96967         Don't compare actual signbit return values.
96968         * tests/test-strtod.c (main): Rather, compare only their
96969         zero/non-zero nature.
96971 2008-03-31  Eric Blake  <ebb9@byu.net>
96973         More strtod documentation.
96974         * doc/posix-functions/strtod.texi (strtod): Interpret more test
96975         failures as distinct bugs.
96977 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
96979         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
96980         Problem reported by Erik Benada in
96981         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
96983 2008-03-30  Bruno Haible  <bruno@clisp.org>
96985         * tests/test-strtod.c: Add comments about which assertion fails on which
96986         platform.
96987         * doc/posix-functions/strtod.texi: Add info about many more platforms.
96989 2008-03-30  Eric Blake  <ebb9@byu.net>
96991         Test signbit behavior on zeros.
96992         * tests/test-signbit.c (test_signbitf): Add tests for zero.
96993         (test_signbitd, test_signbitl): Likewise.
96995         More strtod touchups.
96996         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
96997         sign of negative underflow, for now.  Use .5, not .1.
96998         * doc/posix-functions/strtod.texi (strtod): Mention these
96999         limitations.
97000         Reported by Jim Meyering.
97002 2008-03-30  Bruno Haible  <bruno@clisp.org>
97004         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
97005         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
97007 2008-03-30  Bruno Haible  <bruno@clisp.org>
97009         Avoid failure when attempting to return empty iconv results on some
97010         platforms.
97011         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
97012         allocation, don't report ENOMEM when the resulting string is empty.
97014 2008-03-30  Bruno Haible  <bruno@clisp.org>
97016         Fix buffer overrun.
97017         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
97018         Don't consider the width for tmp_length. Check count against tmp_length
97019         before doing the padding. Ensure enough allocation during padding.
97021 2008-03-30  Eric Blake  <ebb9@byu.net>
97023         strtod touchups.
97024         * lib/strtod.c (strtod): Avoid compiler warnings.
97025         Reported by Jim Meyering.
97027 2008-03-30  Bruno Haible  <bruno@clisp.org>
97029         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
97030         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
97031         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
97032         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
97033         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
97034         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
97035         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
97036         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
97038         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
97039         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
97040         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
97041         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
97042         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
97043         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
97044         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
97045         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
97047         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
97048         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
97049         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
97050         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
97051         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
97052         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
97053         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
97054         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
97056         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
97057         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
97059         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
97060         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
97062         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
97063         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
97065         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
97066         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
97067         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
97069         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
97070         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
97071         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
97073         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
97074         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
97075         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
97077         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
97078         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
97079         * modules/vasprintf (Depends-on): Add EOVERFLOW.
97081         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
97082         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
97083         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
97084         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
97085         (Depends-on): Add EOVERFLOW.
97086         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
97087         (Depends-on): Add EOVERFLOW.
97088         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
97089         (Depends-on): Add EOVERFLOW.
97090         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
97091         (Depends-on): Add EOVERFLOW.
97092         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
97093         (Depends-on): Add EOVERFLOW.
97094         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
97095         (Depends-on): Add EOVERFLOW.
97096         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
97097         (Depends-on): Add EOVERFLOW.
97098         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
97099         (Depends-on): Add EOVERFLOW.
97101         * lib/sprintf.c (EOVERFLOW): Remove fallback.
97102         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
97103         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
97105         * lib/snprintf.c (EOVERFLOW): Remove fallback.
97106         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
97107         * modules/snprintf (Depends-on): Add EOVERFLOW.
97109         * lib/poll.c (EOVERFLOW): Remove fallback.
97110         * modules/poll (Depends-on): Add EOVERFLOW.
97112         * lib/getugroups.c (EOVERFLOW): Remove fallback.
97113         * modules/getugroups (Depends-on): Add EOVERFLOW.
97115         * lib/getdelim.c (EOVERFLOW): Remove fallback.
97116         * modules/getdelim (Depends-on): Add EOVERFLOW.
97118         * lib/ftell.c (EOVERFLOW): Remove fallback.
97119         * modules/ftell (Depends-on): Add EOVERFLOW.
97121         * lib/fprintf.c (EOVERFLOW): Remove fallback.
97122         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
97123         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
97125         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
97127         * modules/EOVERFLOW-tests: New file.
97128         * tests/test-EOVERFLOW.c: New file.
97130         * modules/EOVERFLOW: New file.
97131         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
97133 2008-03-30  Bruno Haible  <bruno@clisp.org>
97135         Fix bug introduced on 2007-06-10.
97136         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
97137         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
97139 2008-03-30  Bruno Haible  <bruno@clisp.org>
97141         Improve freadseek's efficiency after ungetc.
97142         * lib/freadseek.c: Include freadahead.h.
97143         (freadptrinc): New function, extracted from freadseek.
97144         (freadseek): Use it in a loop. Use freadahead to determine the number
97145         of loop iterations.
97146         * modules/freadseek (Depends-on): Add freadahead.
97147         (configure.ac): Require AC_C_INLINE.
97149 2008-03-30  Bruno Haible  <bruno@clisp.org>
97151         * lib/freadseek.c (freadseek): Don't ignore the return value of
97152         freadptr.
97154 2008-03-29  Eric Blake  <ebb9@byu.net>
97156         Add hex float support.
97157         * modules/strtod (Depends-on): Add c-ctype.
97158         (Link): Mention POW_LIB.
97159         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
97160         whitespace between 'e' and exponent.
97161         * tests/test-strtod.c (main): Enable hex float tests.
97162         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
97163         now provides.
97165         Document various strtod bugs, with some fixes.
97166         * doc/posix-functions/strtod.texi (strtod): Document bugs with
97167         "-0x", "inf", "nan", and hex constants.
97168         * doc/posix-functions/atof.texi (atof): Likewise.
97169         * modules/stdlib (Makefile.am): Support strtod.
97170         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
97171         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
97172         detect additional strtod bugs.
97173         * lib/stdlib.in.h (rpl_strtod): Add declarations.
97174         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
97175         bool where appropriate.  Parse 'inf' and 'nan'.
97176         * tests/test-strtod.c: New file.
97177         * modules/strtod (Depends-on): Add stdbool, stdlib.
97178         (configure.ac): Turn on module indicator.
97179         * modules/strtod-tests: New module.
97181 2008-03-29  Eric Blake  <ebb9@byu.net>
97183         Fix ftell on mingw.
97184         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
97185         * modules/ftell-tests (Depends-on): Add binary-io.
97186         * modules/ftello-tests (Depends-on): Likewise.
97187         * tests/test-ftell.c (main): Enhance test to cover behavior after
97188         ungetc.  Enforce binary mode.
97189         * tests/test-ftello.c (main): Likewise.
97191         Pass test-freadseek on cygwin.
97192         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
97193         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
97194         ungetc buffer.
97196         * tests/test-fflush2.c (main): Fix typo.
97198 2008-03-29  Bruno Haible  <bruno@clisp.org>
97200         * tests/test-fflush2.c (main): Temporarily disable the contents of
97201         this test.
97202         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
97203         Reported by Eric Blake.
97205 2008-03-28  Simon Josefsson  <simon@josefsson.org>
97207         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
97208         (GC_SHA224_DIGEST_SIZE): Add.
97210         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
97211         (gc_hash_digest_length): Likewise.
97212         (gc_hash_buffer): Likewise.
97214 2008-03-25  Bruno Haible  <bruno@clisp.org>
97216         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
97217         detail which gettext release to use.
97218         Reported by Simon Josefsson.
97220 2008-03-26  Jim Meyering  <meyering@redhat.com>
97222         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
97223         * modules/gnumakefile (clean-GNUmakefile): Also, use
97224         test ... && ... || : syntax rather than if-then ... fi.
97226         gnumakefile: Don't double-quote-expand $(VPATH) value.
97227         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
97229 2008-03-24  Eric Blake  <ebb9@byu.net>
97231         Alter GNUmakefile to install into top directory.
97232         * modules/maintainer-makefile: Split, and add dependency...
97233         * modules/gnumakefile: to this new module.
97234         * build-aux/GNUmakefile: Move...
97235         * top/GNUmakefile: ...here.
97236         * build-aux/maint.mk: Move...
97237         * top/maint.mk: ...here.
97238         * MODULES.html.sh (Support for maintaining...): Document new
97239         module.
97241 2008-03-23  Bruno Haible  <bruno@clisp.org>
97243         * gnulib-tool: New options --vc-files, --no-vc-files.
97244         (func_usage): Document them.
97245         (vc_files): New variable.
97246         (func_import): Consider vc_files.
97247         (func_create_testdir): Set vc_files to empty.
97248         Suggested by Jim Meyering and Karl Berry.
97250 2008-03-23  Bruno Haible  <bruno@clisp.org>
97252         Fix regex compilation error on HP-UX 11.
97253         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
97254         * modules/regex (Files): Add m4/mbstate_t.m4.
97255         Reported by Ton Voon <ton.voon@altinity.com>.
97257 2008-03-23  Bruno Haible  <bruno@clisp.org>
97259         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
97261 2008-03-23  Eric Blake  <ebb9@byu.net>
97262             Bruno Haible  <bruno@clisp.org>
97264         Install files from top/ in the destination directory.
97265         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
97266         augmentation also for the files from top/.
97267         (func_import, func_create_testdir): Rewrite file names:
97268         top/filename -> filename.
97270 2008-03-23  Bruno Haible  <bruno@clisp.org>
97272         Tweak "gnulib --version" output.
97273         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
97275 2008-03-23  Bruno Haible  <bruno@clisp.org>
97277         Tweak "gnulib --version" output.
97278         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
97279         rather than contents of ChangeLog, when possible.
97281 2008-03-21  Eric Blake  <ebb9@byu.net>
97283         More --version tweaks.
97284         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
97285         date of last ChangeLog entry.
97287 2008-03-21  Jim Meyering  <meyering@redhat.com>
97289         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
97291 2008-03-20  Eric Blake  <ebb9@byu.net>
97293         VPATH fix.
97294         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
97296 2008-03-20  Simon Josefsson  <simon@josefsson.org>
97298         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
97299         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
97301 2008-03-20  Eric Blake  <ebb9@byu.net>
97303         Sync GNUmakefile with coreutils.
97304         * build-aux/GNUmakefile (have-Makefile): Rename...
97305         (_have-Makefile): ...to this, for namespace consideration.
97306         (GNUmakefile.cfg): Include, if present.
97307         (_autoreconf): Define a default.
97308         (_is-dist-target): New rule for rebuilds to pick up intra-release
97309         version.
97310         (maint-cfg.mk): Rename...
97311         (cfg.mk): ...to this.
97313 2008-03-18  Jim Meyering  <meyering@redhat.com>
97315         New script and module: mktempd
97316         * MODULES.html.sh (maint+release support): Add mktempd.
97317         * build-aux/mktempd: New file.
97318         * modules/mktempd: New file.
97320 2008-03-15  Jim Meyering  <meyering@redhat.com>
97322         Undo last change.
97323         * lib/sha1.c, lib/md5.c: 63 != ~63.
97324         Reported by Andreas Schwab.
97326         sha1.c, md5.c: Hoist a redundant expression.
97327         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
97328         "ctx->buflen" only once, before calling *_process_block.
97329         * lib/md5.c (md5_process_bytes): Likewise.
97331 2008-03-14  Eric Blake  <ebb9@byu.net>
97333         Bump copyright year in files generated by gnulib-tool.
97334         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
97335         gnulib-tool, rather than hard-coding it.
97337         Fix 'gnulib-tool --version' output to work with git.
97338         * gnulib-tool (func_gnulib_dir): New function, extracted from...
97339         (startup): ...here.
97340         (func_version): Use it to invoke git-version-gen, rather than
97341         relying on CVS keyword expansion.  Modernize wording.
97342         (cvsdatestamp, last_checkin_date, version): Kill unused
97343         variables.
97345 2008-03-12  Jim Meyering  <meyering@redhat.com>
97347         Recognize optional cast of the argument to free.
97348         * build-aux/useless-if-before-free: Update regexps.
97350         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
97352 2008-03-11  Bruno Haible  <bruno@clisp.org>
97354         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
97355         by a single package.
97356         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
97357         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
97358         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
97359         Reported by Sam Steingold <sds@gnu.org>.
97361 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
97363         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
97364         repositories.
97366 2008-03-11  Bruno Haible  <bruno@clisp.org>
97368         Avoid conflicts between local macro definitions.
97369         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
97370         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
97372 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
97373             Bruno Haible  <bruno@clisp.org>
97375         Make va_copy work with some version of xlc on AIX 5.1.
97376         * lib/stdarg.in.h: New file.
97377         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
97378         On AIX, use a <stdarg.h> file substitute.
97379         * modules/stdarg (Files): Add lib/stdarg.in.h.
97380         (Depends-on): Add include_next.
97381         (Makefile.am): Build a stdarg.h substitute if requested.
97382         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
97384 2008-03-10  Bruno Haible  <bruno@clisp.org>
97386         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
97387         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
97388         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97390 2008-03-10  Bruno Haible  <bruno@clisp.org>
97392         * modules/stdlib (Depends-on): Add include_next, remove
97393         absolute-header.
97395 2008-03-09  Bruno Haible  <bruno@clisp.org>
97397         * lib/freadahead.h (freadahead): Document more precisely.
97398         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
97399         the sum of both buffer sizes.
97400         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
97401         * NEWS: Document the change.
97403 2008-03-09  Bruno Haible  <bruno@clisp.org>
97405         Extend freadptr to return also the buffer size.
97406         * lib/freadptr.h (freadptr): Add sizep argument.
97407         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
97408         (freadptr): Add sizep argument. Determine buffer size like freadahead
97409         does.
97410         * tests/test-freadptr.c: Don't include freadahead.h.
97411         (main): Adapt for new calling convention of freadptr.
97412         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
97413         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
97414         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
97415         tests/test-freadptr2.sh.
97416         (Depends): Remove freadahead.
97417         (TESTS): Add test-freadptr2.sh.
97418         (check_PROGRAMS): Add test-freadptr2.
97420 2008-03-09  Bruno Haible  <bruno@clisp.org>
97422         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
97423         Report and solution by Simon Josefsson.
97425 2008-03-06  Bruno Haible  <bruno@clisp.org>
97427         Make fflush after ungetc work on BSD platforms.
97428         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
97429         * tests/test-fflush2.c: New file.
97430         * tests/test-fflush2.sh: New file.
97431         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
97432         tests/test-fflush2.c.
97433         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
97434         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
97436 2008-03-06  Eric Blake  <ebb9@byu.net>
97438         Likewise for ftello.
97439         * modules/ftello (Dependencies): Add extensions.
97440         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
97442 2008-03-06  Bruno Haible  <bruno@clisp.org>
97444         * modules/fseeko (Dependencies): Add extensions.
97445         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
97446         Needed on glibc systems.
97448 2008-03-06  Bruno Haible  <bruno@clisp.org>
97450         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
97451         email address.
97452         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97454 2008-03-06  Bruno Haible  <bruno@clisp.org>
97456         * users.txt: Add libgnupdf.
97458 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
97460         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
97461         (Header File Substitutes, Function Substitutes,
97462         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
97463         (Build robot for gnulib): Fix typo.
97465 2008-03-06  Bruno Haible  <bruno@clisp.org>
97467         * doc/gnulib-tool.texi (VCS Issues): Small updates.
97468         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97470 2008-03-06  Bruno Haible  <bruno@clisp.org>
97472         * doc/func.texi: New file, extracted from doc/gnulib.texi.
97473         * doc/gnulib.texi: Include it.
97475 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97477         * modules/func (License): Change license to unlimited; there was
97478         no LGPL parts in the module anyway.
97480 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97482         * modules/__func__: Renamed to modules/func.
97483         * modules/__func__-tests: Renamed to modules/func-tests.
97484         * tests/test-__func__.c: Renamed to tests/test-func.c.
97485         * m4/__func__.m4: Renamed to m4/func.m4.
97486         * doc/gnulib.texi (__func__): Section renamed to func.
97487         Suggested by Eric Blake <ebb9@byu.net>.
97489 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97491         * doc/gnulib.texi (__func__): Use C99 terminology when talking
97492         about __func__.  Make example self-contained.  Suggested by Eric
97493         Blake <ebb9@byu.net>.
97495         * tests/test-__func__.c (main): Avoid extraneous () around __func.
97496         Suggested by Eric Blake <ebb9@byu.net>.
97498 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97500         * modules/__func__: New file.
97501         * modules/__func__-tests: New file.
97502         * tests/test-__func__.c: New file.
97503         * m4/__func__.m4: New file.
97504         * doc/gnulib.texi (__func__): Document __func__ module.
97506 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97508         * modules/byteswap (License): Re-license as LGPLv2+.
97510 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97512         * doc/Makefile: Add pdf target.
97514 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97516         * modules/inline (License): Use 'unlimited', since there are only
97517         *.m4 files in this module.
97519 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97520             Bruno Haible  <bruno@clisp.org>
97522         Add support for HP C 7.1 on OpenVMS 8.3.
97523         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
97525 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97527         Update VMS specifics.
97528         * lib/getopt.c [VMS]: Remove include of unixlib.h.
97530 2008-03-02  Jim Meyering  <meyering@redhat.com>
97532         Remove the last dependency on the "free" module.
97533         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
97534         Reported by Bob Proulx.
97536         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
97538         Remove useless "if" tests before free.  Deprecate "free" module.
97539         * doc/posix-functions/free.texi: Mention that this
97540         module is no longer useful.
97541         * modules/free (Notice): Say this module is obsolete.
97542         * modules/readutmp (Depends-on): Remove free.
97543         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
97544         * lib/putenv.c (putenv): Likewise.
97545         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
97546         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
97547         * tests/test-c-strcasestr.c (main): Likewise.
97548         * tests/test-c-strstr.c (main): Likewise.
97549         * tests/test-mbscasestr1.c (main): Likewise.
97550         * tests/test-mbscasestr2.c (main): Likewise.
97551         * tests/test-mbsstr1.c (main): Likewise.
97552         * tests/test-mbsstr2.c (main): Likewise.
97553         * tests/test-memmem.c (main): Likewise.
97554         * tests/test-strcasestr.c (main): Likewise.
97555         * tests/test-striconv.c (main): Likewise.
97556         * tests/test-striconveh.c (main): Likewise.
97557         * tests/test-striconveha.c (main): Likewise.
97558         * tests/test-strstr.c (main): Likewise.
97560         * build-aux/git-version-gen: Adjust a comment and the Usage string.
97562         bootstrap: sync from coreutils again
97563         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
97565 2008-03-01  Jim Meyering  <meyering@redhat.com>
97567         bootstrap: sync from coreutils
97568         * build-aux/bootstrap (update_po_files): Copy a .po file into place
97569         also when the target doesn't exist.
97571 2008-03-01  Eric Blake  <ebb9@byu.net>
97573         Fix bugs in last patch.
97574         * lib/memchr2.c (memchr2): Fix typo.
97575         * tests/test-memchr2.c: Test previous bug, and don't use GNU
97576         extension.
97577         Reported by Bruce Korb.
97579         New module 'memchr2'.
97580         * modules/memchr2: New file.
97581         * modules/memchr2-tests: Likewise.
97582         * lib/memchr2.h: Likewise.
97583         * lib/memchr2.c: Likewise, based on memchr.c.
97584         * tests/test-memchr2.c: New test.
97585         * MODULES.html.sh (String handling): Add memchr2.
97587 2008-02-29  Bruno Haible  <bruno@clisp.org>
97589         * modules/freadseek-tests: New file.
97590         * tests/test-freadseek.sh: New file.
97591         * tests/test-freadseek.c: New file.
97593         New module 'freadseek'.
97594         * modules/freadseek: New file.
97595         * lib/freadseek.h: New file.
97596         * lib/freadseek.c: New file.
97597         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
97599 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
97601         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
97602         wydawca.
97604         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
97605         program_invocation_name and program_invocation_short_name are
97606         present.
97608 2008-02-28  Bruno Haible  <bruno@clisp.org>
97610         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
97611         * tests/test-freadptr.sh: Also test non-seekable stdin.
97613 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
97615         * build-aux/bootstrap (source_base, m4_base)
97616         (doc_base, tests_base): New variables.
97617         (gnulib_tool_options): Do not hardcode base directories, use
97618         the above variables instead.
97620 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
97622         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
97624 2008-02-28  Bruno Haible  <bruno@clisp.org>
97626         * modules/freadptr-tests: New file.
97627         * tests/test-freadptr.sh: New file.
97628         * tests/test-freadptr.c: New file.
97630         New module 'freadptr'.
97631         * modules/freadptr: New file.
97632         * lib/freadptr.h: New file.
97633         * lib/freadptr.c: New file.
97634         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
97636 2008-02-26  Karl Berry  <karl@freefriends.org>
97638         Sync from Libtool:
97639         * libltdl/argz.c (argz_add, argz_count): New functions.
97640         * libltdl/argz.in.h: Declare them.
97641         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
97643 2008-02-22  Bruno Haible  <bruno@clisp.org>
97645         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
97646         is a pointer type.  Needed for HP-UX 10.
97647         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
97648         * doc/posix-functions/gmtime_r.texi: Likewise.
97649         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97651 2008-02-24  Bruno Haible  <bruno@clisp.org>
97653         * modules/environ-tests: New file.
97654         * tests/test-environ.c: New file.
97656         New module 'environ'.
97657         * modules/environ: New file.
97658         * lib/unistd.in.h (environ): New declaration.
97659         * m4/environ.m4: New file.
97660         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
97661         after use.
97662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
97663         HAVE_DECL_ENVIRON.
97664         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
97665         HAVE_DECL_ENVIRON.
97666         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
97667         wrong claim that 'environ' is missing on some systems.
97668         * modules/execute (Depends-on): Add environ.
97669         * lib/execute.c (environ): Remove fallback declaration.
97670         * modules/pipe (Depends-on): Add environ.
97671         * lib/pipe.c (environ): Remove fallback declaration.
97672         * modules/setenv (Depends-on): Add environ.
97673         * lib/setenv.c (environ): Remove fallback declaration.
97674         * modules/unsetenv (Depends-on): Add environ.
97675         * lib/unsetenv.c (environ): Remove fallback declaration.
97676         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
97677         m4/environ.m4.
97678         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
97679         (gl_PREREQ_UNSETENV): Likewise.
97681 2008-02-24  Bruno Haible  <bruno@clisp.org>
97683         * doc/posix-functions/environ.texi: Document the MacOS X problem.
97685 2008-02-20  Bob Proulx  <bob@proulx.com>
97687         Enable use of older two part flavor 'git describe'.
97688         * build-aux/git-version-gen: If using the older two part flavor of
97689         git version then recreate the third part now present in the
97690         newer three part flavor of git describe.
97692 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
97694         * lib/fts.c (fts_build): Typo correction to comment.
97696 2008-02-17  Bruno Haible  <bruno@clisp.org>
97698         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
97699         generating no-op conflicts.
97701 2008-02-17  Bruno Haible  <bruno@clisp.org>
97703         Speed up by 10%.
97704         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
97705         result_entries, rather than an index-based loop.
97707 2008-02-17  Bruno Haible  <bruno@clisp.org>
97709         Speed up by 25%.
97710         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
97711         'hashcode_cached'.
97712         (entry_create): New function.
97713         (entry_hashcode): Use the cached hashcode if possible.
97714         (read_changelog_file, try_split_merged_entry): Use entry_create.
97716 2008-02-17  Bruno Haible  <bruno@clisp.org>
97718         Speed up from O(n^2) to O(n) for long ChangeLog files.
97719         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
97720         (read_changelog_file): Change implementation of entries_reversed list
97721         to rbtreehash.
97722         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
97724 2008-02-17  Bruno Haible  <bruno@clisp.org>
97726         New option --split-merged-entry.
97727         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
97728         (find_paragraph_end, try_split_merged_entry): New functions.
97729         (long_options): Add option --split-merged-entry.
97730         (usage): Document option --split-merged-entry.
97731         (main): Implement option --split-merged-entry.
97732         Reported by Eric Blake.
97734 2008-02-17  Bruno Haible  <bruno@clisp.org>
97736         * lib/git-merge-changelog.c: Include c-strstr.h.
97737         (main): Support the "git pull --rebase" situation.
97738         * modules/git-merge-changelog (Depends-on): Add c-strstr.
97739         Reported by Eric Blake.
97741 2008-02-16  Eric Blake  <ebb9@byu.net>
97743         Avoid doubling \ in common case of "c-maybe" quoting style.
97744         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
97745         eliding outer quotes.
97746         * lib/quotearg.h: Document this.
97747         * tests/test-quotearg.c (result_strings, inputs, results_g)
97748         (flag_results, locale_results): Test it by adding a new string to
97749         each test group.
97750         (compare_strings): Test new string.
97752 2008-02-13  Eric Blake  <ebb9@byu.net>
97754         Avoid trigraph quoting in default output.
97755         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
97756         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
97757         unless explicitly requested.
97758         * tests/test-quotearg.c (flag_results, main): Add additional tests.
97760 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
97762         Don't rely on signed integer overflowing to negative value.
97763         * lib/getugroups.c (getugroups): Include <limits.h>.
97764         Instead, compare against INT_MAX, and increment only if the test passes.
97766 2008-02-13  Jim Meyering  <meyering@redhat.com>
97767         and Eric Blake  <ebb9@byu.net>
97769         Avoid shadowing warning and compile errors on Linux.
97770         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
97771         forwarding macros on Linux.
97772         (dcgettext): Define a stub, for Linux.
97773         (results_g, main): Avoid warnings.
97775 2008-02-12  Eric Blake  <ebb9@byu.net>
97777         Silence warning in last patch.
97778         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
97780         Quotearg part 4: add tests, fix c-maybe colon quoting.
97781         * lib/quotearg.h: Improve documentation.
97782         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
97783         escapes when adding outer quotes.  When quoting trigraphs, use
97784         valid C notation.  When quoting NUL, omit extra characters if next
97785         character is not digit.  Alter prototype.
97786         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
97787         callers.
97788         * modules/quotearg-tests: New module.
97789         * tests/test-quotearg.c: New test.
97791 2008-02-07  Eric Blake  <ebb9@byu.net>
97793         Quotearg part 3: add flag to control outer quote elision.
97794         * lib/quotearg.h (c_maybe_quoting_style): New style.
97795         (enum quoting_flags): Better documentation of flags.
97796         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
97797         c-maybe style.
97798         (quotearg_buffer_restyled): Handle new flag to elide outer
97799         quotes.
97801         Quotearg part 2: add flag that can control NUL elision.
97802         * lib/quotearg.h (set_quoting_flags): New prototype.
97803         * lib/quotearg.c (struct quoting_options): Add flag field.
97804         (set_quoting_flags): New function.
97805         (quotearg_buffer_restyled): Add flags parameter.
97806         (quotearg_alloc_mem): Set the flag if length cannot be returned.
97807         (quotearg_n_options): Set the flag, since length cannot be
97808         returned.
97809         (quoting_options_from_style): Default flags correctly.
97811         Quotearg part 1: more wrappers, restore quotearg_char state.
97812         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
97813         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
97814         (quotearg_colon_mem): New wrappers.
97815         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
97816         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
97817         functions.
97818         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
97819         (quotearg_colon_mem): New functions.
97821 2008-02-11  Bruno Haible  <bruno@clisp.org>
97823         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
97824         library in the current directory: it does not work with parallel make.
97825         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97827 2008-02-11  Bruno Haible  <bruno@clisp.org>
97829         * .gitattributes: New file.
97831 2008-02-11  Jim Meyering  <meyering@redhat.com>
97833         useless-if-before-free: Fix reversed exit values.
97834         * build-aux/useless-if-before-free: Use correct values
97835         for EXIT_MATCH and EXIT_NO_MATCH.
97837         * build-aux/useless-if-before-free: Close stdout carefully.
97839 2008-02-10  Bruno Haible  <bruno@clisp.org>
97841         New module 'git-merge-changelog'.
97842         * modules/git-merge-changelog: New file.
97843         * lib/git-merge-changelog.c: New file.
97845 2008-02-10  Jim Meyering  <meyering@redhat.com>
97847         useless-if-before-free: New option: --list (-l).
97849         useless-if-before-free: Don't exit immediately upon open failure.
97850         * build-aux/useless-if-before-free: Exit 2 for errors.
97851         Upon failure to open a file, don't exit immediately.
97852         Rather, just warn and continue with any remaining files.
97854 2008-02-10  Bruno Haible  <bruno@clisp.org>
97856         New abstract list operation 'node_set_value'.
97857         * lib/gl_list.h (gl_list_node_set_value): New function.
97858         (struct gl_list_implementation): New field node_set_value.
97859         * lib/gl_list.c (gl_list_node_set_value): New function.
97860         * lib/gl_array_list.c (gl_array_node_set_value): New function.
97861         (gl_array_list_implementation): Update.
97862         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
97863         (gl_carray_list_implementation): Update.
97864         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
97865         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
97866         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
97867         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
97868         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
97869         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
97870         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
97871         Update.
97872         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
97873         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
97874         (gl_sublist_list_implementation): Update.
97876 2008-02-10  Bruno Haible  <bruno@clisp.org>
97878         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
97879         Needed when ELEMENT is #defined to 'some_type *'.
97881 2008-02-10  Jim Meyering  <meyering@redhat.com>
97883         New script and module: useless-if-before-free
97884         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
97885         * build-aux/useless-if-before-free: New file.
97886         * modules/useless-if-before-free: New file.
97888         * build-aux/gitlog-to-changelog: Use committer date, not author date.
97890         xstrtol_error: Fix typo.
97891         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
97892         s/exit_failure/exit_status/.
97894 2008-02-09  Jim Meyering  <meyering@redhat.com>
97896         New script and module: gitlog-to-changelog
97897         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
97898         * modules/gitlog-to-changelog: New file.
97899         * build-aux/gitlog-to-changelog: New file.
97901 2008-02-08  Jim Meyering  <meyering@redhat.com>
97903         Avoid two "parameter unused" warnings.
97904         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
97905         Mark "st" as used.
97907         Use "git COMMAND", not "git-COMMAND".
97908         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
97909         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
97910         * build-aux/git-version-gen: Use "git status", not "git-status".
97912 2008-02-07  Bruno Haible  <bruno@clisp.org>
97914         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
97915         Avoids a crash on Windows Vista.
97916         Reported by Adam Strzelecki <ono@java.pl> via
97917         Simon Josefsson <simon@josefsson.org>.
97919 2008-02-06  Bruno Haible  <bruno@clisp.org>
97921         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
97922         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
97923         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
97924         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
97925         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
97926         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
97927         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
97928         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
97929         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
97930         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97931         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97932         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97933         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
97934         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97935         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97936         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
97937         left-adjust flag.
97938         * tests/test-snprintf-posix.h (test_function): Likewise.
97939         * tests/test-sprintf-posix.h (test_function): Likewise.
97940         * tests/test-vasprintf-posix.c (test_function): Likewise.
97941         * doc/posix-functions/fprintf.texi: Update.
97942         * doc/posix-functions/printf.texi: Update.
97943         * doc/posix-functions/snprintf.texi: Update.
97944         * doc/posix-functions/sprintf.texi: Update.
97945         * doc/posix-functions/vfprintf.texi: Update.
97946         * doc/posix-functions/vprintf.texi: Update.
97947         * doc/posix-functions/vsnprintf.texi: Update.
97948         * doc/posix-functions/vsprintf.texi: Update.
97949         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97951 2008-02-06  Bruno Haible  <bruno@clisp.org>
97953         Fix bug introduced on 2008-01-26.
97954         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
97956 2008-02-06  Bruno Haible  <bruno@clisp.org>
97958         Fix bug introduced on 2007-06-10.
97959         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
97960         !NEED_PRINTF_FLAG_ZERO.
97962 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
97964         getloadavg: use libperfstat on AIX5
97965         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
97967 2008-02-03  Bruno Haible  <bruno@clisp.org>
97969         * lib/diffseq.h: Add comments about required #includes.
97970         Reported by Michael Biggs <gnulib@doubleplum.net>.
97972 2008-02-01  Bruno Haible  <bruno@clisp.org>
97974         * users.txt: Add gnuit.
97976 2008-01-31  Bruno Haible  <bruno@clisp.org>
97978         * lib/md4.c (set_uint32): Mark as inline.
97979         * lib/md5.c (set_uint32): Likewise.
97980         * lib/sha1.c (set_uint32): Likewise.
97981         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
97982         * m4/md5.m4 (gl_MD5): Likewise.
97983         * m4/sha1.m4 (gl_SHA1): Likewise.
97985 2008-01-31  Jim Meyering  <meyering@redhat.com>
97987         Use "sizeof VAR", rather than a literal "4".
97988         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
97989         * lib/md4.c (md4_read_ctx): Likewise.
97990         * lib/sha1.c (sha1_read_ctx): Likewise.
97992 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97994         * tests/test-sha1.c: New file, based on test-md5.c.
97996         * modules/crypto/sha1-tests: New file.
97998 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98000         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
98002 2008-01-31  Jim Meyering  <meyering@redhat.com>
98004         Prefer "sizeof v" over the equivalent "4".
98005         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
98006         * lib/md5.c (set_uint32): Likewise.
98007         * lib/sha1.c (set_uint32): Likewise.
98009 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98011         * lib/sha1.c (set_uint32): Mark function as static.
98013 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98015         md2: clarify comments to say that alignment is not required.
98016         * lib/md2.h: Remove warning about alignment in comment.
98017         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
98018         never been required.
98020 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98022         md4: adapt alignment constraint fix from sha1.
98023         * lib/md4.c (set_uint32): New function, from sha1.c
98024         (md4_read_ctx): Use it.
98025         (md4_finish_ctx): Doc fix.
98026         * lib/md4.h: Doc fix.
98028 2008-01-31  Simon Josefsson  <simon@josefsson.org>
98030         md5: adapt alignment constraint fix from sha1.
98031         * lib/md5.c (set_uint32): New function, from sha1.c
98032         (md5_read_ctx): Use it.
98033         (md5_finish_ctx): Doc fix.
98034         * lib/md5.h: Doc fix.
98036 2008-01-30  Peter Palfrader  <weasel@debian.org>
98038         sha1: remove the result buffer alignment constraint
98039         * lib/sha1.c (set_uint32): New function.
98040         (sha1_read_ctx): Rewrite to remove the result buffer alignment
98041         constraint.
98042         (sha1_finish_ctx): Remove comment warning about alignment constraint.
98043         * lib/sha1.h: Likewise.
98045 2008-01-30  Andreas Schwab  <schwab@suse.de>
98046             Bruno Haible  <bruno@clisp.org>
98048         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
98049         correct definition of LDBL_MIN_EXP.
98051 2008-01-30  Karl Berry  <karl@gnu.org>
98053         * config/srclist-update: try to preserve x bit on updates.
98054         * config/srclistvars.sh: update for karl.
98056 2008-01-29  Jim Meyering  <meyering@redhat.com>
98058         vasnprintf.c: Avoid warning about unused label
98059         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
98060         "overflow" label definition and associated code with the
98061         same cpp condition that guards the sole use of that label.
98063 2008-01-26  Bruno Haible  <bruno@clisp.org>
98065         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
98066         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
98067         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
98068         * lib/isnanl-nolibm.h (isnanl): Likewise.
98069         Reported by Paul Eggert <eggert@cs.ucla.edu>.
98071 2008-01-26  Bruno Haible  <bruno@clisp.org>
98073         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
98074         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
98076 2008-01-26  Bruno Haible  <bruno@clisp.org>
98078         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
98079         GCC >= 4.0 built-in.
98080         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
98082 2008-01-26  Bruno Haible  <bruno@clisp.org>
98084         Rename isnan, applicable to 'double' only, to isnand.
98085         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
98086         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
98087         (configure.ac): Update.
98088         (Include): Replace "isnan.h" with "isnand.h".
98089         * m4/isnand.m4: Renamed from m4/isnan.m4.
98090         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
98091         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
98092         instead of isnan.c.
98093         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
98094         instead of HAVE_ISNAN_IN_LIBC.
98095         (isnand): Renamed from isnan.
98096         * lib/isnand.c: New file.
98097         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
98098         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
98099         (Makefile.am): Update.
98100         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
98101         Include isnand.h instead of isnan.h.
98102         (main): Test isnand instead of isnan.
98103         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
98104         isnan-nolibm.
98105         * modules/frexp (Depends-on): Likewise.
98106         * modules/frexp-tests (Depends-on): Likewise.
98107         * modules/frexp-nolibm (Depends-on): Likewise.
98108         * modules/frexp-nolibm-tests (Depends-on): Likewise.
98109         * modules/isfinite (Depends-on): Likewise.
98110         * modules/round-tests (Depends-on): Likewise.
98111         * modules/signbit (Depends-on): Likewise.
98112         * modules/signbit-tests (Depends-on): Likewise.
98113         * modules/snprintf-posix (Depends-on): Likewise.
98114         * modules/sprintf-posix (Depends-on): Likewise.
98115         * modules/trunc-tests (Depends-on): Likewise.
98116         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
98117         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
98118         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
98119         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
98120         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
98121         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
98122         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
98123         * modules/vasnprintf-posix (Depends-on): Likewise.
98124         * modules/vasprintf-posix (Depends-on): Likewise.
98125         * modules/vfprintf-posix (Depends-on): Likewise.
98126         * modules/vsnprintf-posix (Depends-on): Likewise.
98127         * modules/vsprintf-posix (Depends-on): Likewise.
98128         * lib/frexp.c: Include isnand.h instead of isnan.h.
98129         (ISNAN): Set to isnand instead of isnan.
98130         * lib/isfinite.c: Include isnand.h instead of isnan.h.
98131         (gl_isfinited): Use isnand instead of isnan.
98132         * lib/signbitd.c: Include isnand.h instead of isnan.h.
98133         (gl_signbitd): Use isnand instead of isnan.
98134         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
98135         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
98136         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
98137         (main): Use isnand instead of isnan.
98138         * tests/test-round1.c: Include isnand.h.
98139         (main): Use isnand instead of isnan.
98140         * tests/test-round2.c: Include isnand.h instead of isnan.h.
98141         (ISNAN): Set to isnand instead of isnan.
98142         * tests/test-trunc1.c: Include isnand.h.
98143         (main): Use isnand instead of isnan.
98144         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
98145         (equal): Use isnand instead of isnan.
98146         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
98147         isnand-nolibm.
98148         * NEWS: Mention the change.
98150 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
98151             Bruno Haible  <bruno@clisp.org>
98153         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
98154         the GCC builtins for signbits are present and set
98155         REPLACE_SIGNBIT_USING_GCC if so.
98156         * lib/math.in.h (signbit): Define using GCC builtins if
98157         REPLACE_SIGNBIT_USING_GCC is set.
98158         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
98159         REPLACE_SIGNBIT_USING_GCC.
98160         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
98162 2008-01-25  Jim Meyering  <meyering@redhat.com>
98164         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
98165         * lib/poll.c: Include <config.h>, not "config.h".
98166         * tests/test-getaddrinfo.c: Likewise.
98168 2008-01-25  Simon Josefsson  <simon@josefsson.org>
98170         * modules/sockets-tests: New file.
98172 2008-01-24  Simon Josefsson  <simon@josefsson.org>
98174         * modules/sockets: New module, can be used to call WSA_Startup and
98175         WSA_Cleanup when needed.
98177         * lib/sockets.h, lib/sockets.c: New files.
98179         * m4/sockets.m4: New file.
98181         * tests/test-sockets.c: New file.
98183 2008-01-19  Bruno Haible  <bruno@clisp.org>
98185         * doc/posix-headers: Renamed from doc/headers.
98186         * doc/posix-functions: Renamed from doc/functions.
98187         * doc/gnulib.texi: Update.
98189 2008-01-19  Bruno Haible  <bruno@clisp.org>
98191         * doc/glibc-functions/strcasestr.texi: Include contents of
98192         doc/functions/strcasestr.texi, fixing the list of platforms.
98193         * doc/functions/strcasestr.texi: Remove file.
98195 2008-01-19  Bruno Haible  <bruno@clisp.org>
98197         * doc/glibc-functions/memmem.texi: Include contents of
98198         doc/functions/memmem.texi.
98199         * doc/functions/memmem.texi: Remove file.
98201 2008-01-18  Bruno Haible  <bruno@clisp.org>
98203         * doc/glibc-functions/*.texi: New files.
98204         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
98205         to use the new files.
98207 2008-01-17  Bruno Haible  <bruno@clisp.org>
98209         * tests/test-gethostname.c (main): Fix printf statement.
98211 2008-01-17  Simon Josefsson  <simon@josefsson.org>
98213         * modules/gethostname-tests: New file.
98215         * tests/test-gethostname.c: New file.
98217 2008-01-17  Simon Josefsson  <simon@josefsson.org>
98219         * lib/gethostname.c: Include string.h unconditionally, strncpy is
98220         used by the UNAME case.  Reported by Bruno Haible
98221         <bruno@clisp.org>.
98223 2008-01-17  Eric Blake  <ebb9@byu.net>
98225         Convert c-strcasestr to be more efficient.
98226         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
98227         (Depends-on): Add c-strcase, remove malloca, strnlen.
98228         * tests/test-c-strcasestr.c (main): Enhance test.
98229         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
98231 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
98233         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
98234         Use it in creating po/Makevars.
98236 2008-01-15  Simon Josefsson  <simon@josefsson.org>
98238         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
98239         Applications that requires it should initialize libgcrypt
98240         manually.
98242 2008-01-16  Simon Josefsson  <simon@josefsson.org>
98244         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
98246 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
98248         Fix problem with getdate on mingw32 reported by Simon Josefsson
98249         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
98250         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
98251         tzname", when deciding whether to declare tzname.
98252         * lib/strftime.c (tzname): Likewise.
98254 2008-01-15  Bruno Haible  <bruno@clisp.org>
98256         Work around a MacOS X 10.5 bug in frexpl().
98257         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
98258         * doc/functions/frexpl.texi: Document the bug.
98259         Reported by Elias Pipping <pipping@gentoo.org>.
98261 2008-01-14  Eric Blake  <ebb9@byu.net>
98263         Touch up previous patch.
98264         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
98265         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
98267         Convert strcasestr module to use Two-Way algorithm.
98268         * modules/strcasestr-simple: New module, based on the old
98269         strcasestr, but with Two-Way rather than KMP.
98270         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
98271         * lib/string.in.h (rpl_strcasestr): Declare.
98272         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
98273         performance.
98274         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
98275         * modules/string (Makefile.am): Support strcasestr.
98276         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
98277         * modules/strcasestr-tests (Depends-on): Check for alarm.
98278         * tests/test-strcasestr.c: Augment test.
98279         * lib/str-two-way.h: Clean up stray macro.
98280         * NEWS: Document new module.
98281         * MODULES.html.sh (string handling): Likewise.
98282         * doc/functions/strcasestr.texi: New file.
98283         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
98284         here, since it is not a POSIX function.
98286 2008-01-14  Colin Watson  <cjwatson@debian.org>
98287             Bruno Haible  <bruno@clisp.org>
98289         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
98290         works fine; if not, set REPLACE_STRSIGNAL.
98291         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
98292         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
98293         REPLACE_STRSIGNAL.
98294         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
98295         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
98296         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
98298 2008-01-14  Bruno Haible  <bruno@clisp.org>
98300         * modules/strsignal (Include): Change to <string.h>.
98302 2008-01-14  Colin Watson  <cjwatson@debian.org>
98304         * modules/argp (Notice): Add a notice recommending to change
98305         XGETTEXT_OPTIONS.
98306         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
98308 2008-01-13  Colin Watson  <cjwatson@debian.org>
98310         * modules/strsignal-tests: New file.
98311         * tests/test-strsignal.c: New file.
98313         * lib/strsignal.c: New file, from glibc with modifications.
98314         * lib/siglist.h: New file, from glibc with modifications.
98315         * lib/string.in.h (strsignal): New declaration.
98316         * m4/strsignal.m4: New file.
98317         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
98318         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
98319         * modules/strsignal: New file.
98320         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
98321         HAVE_DECL_STRSIGNAL.
98323 2008-01-13  Bruno Haible  <bruno@clisp.org>
98325         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
98326         locale encoding is not ASCII. Needed for OpenBSD 4.0.
98327         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
98328         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
98330 2008-01-13  Bruno Haible  <bruno@clisp.org>
98332         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
98333         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
98334         * lib/argp.h (__attribute__): Likewise.
98335         * lib/c-stack.c (__attribute__): Likewise.
98336         * lib/error.h (__attribute__): Likewise.
98337         * lib/fts.c (__attribute__): Likewise.
98338         * lib/openat.h (__attribute__): Likewise.
98339         * lib/stdio.in.h (__attribute__): Likewise.
98340         * lib/string.in.h (__attribute__): Likewise.
98341         * lib/utimens.c (__attribute__): Likewise.
98342         * lib/vasnprintf.h (__attribute__): Likewise.
98343         * lib/xalloc.h (__attribute__): Likewise.
98344         * lib/xprintf.h (__attribute__): Likewise.
98345         * lib/xstrtol.h (__attribute__): Likewise.
98346         * lib/xvasprintf.h (__attribute__): Likewise.
98348 2008-01-12  Bruno Haible  <bruno@clisp.org>
98350         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
98351         * doc/glibc-headers/a.out.texi: New file.
98352         * doc/glibc-headers/aliases.texi: New file.
98353         * doc/glibc-headers/alloca.texi: New file.
98354         * doc/glibc-headers/ar.texi: New file.
98355         * doc/glibc-headers/argp.texi: New file.
98356         * doc/glibc-headers/argz.texi: New file.
98357         * doc/glibc-headers/byteswap.texi: New file.
98358         * doc/glibc-headers/crypt.texi: New file.
98359         * doc/glibc-headers/endian.texi: New file.
98360         * doc/glibc-headers/envz.texi: New file.
98361         * doc/glibc-headers/err.texi: New file.
98362         * doc/glibc-headers/error.texi: New file.
98363         * doc/glibc-headers/execinfo.texi: New file.
98364         * doc/glibc-headers/fpu_control.texi: New file.
98365         * doc/glibc-headers/fstab.texi: New file.
98366         * doc/glibc-headers/fts.texi: New file.
98367         * doc/glibc-headers/getopt.texi: New file.
98368         * doc/glibc-headers/ieee754.texi: New file.
98369         * doc/glibc-headers/ifaddrs.texi: New file.
98370         * doc/glibc-headers/libintl.texi: New file.
98371         * doc/glibc-headers/mcheck.texi: New file.
98372         * doc/glibc-headers/mntent.texi: New file.
98373         * doc/glibc-headers/obstack.texi: New file.
98374         * doc/glibc-headers/paths.texi: New file.
98375         * doc/glibc-headers/printf.texi: New file.
98376         * doc/glibc-headers/pty.texi: New file.
98377         * doc/glibc-headers/resolv.texi: New file.
98378         * doc/glibc-headers/shadow.texi: New file.
98379         * doc/glibc-headers/sysexits.texi: New file.
98380         * doc/glibc-headers/ttyent.texi: New file.
98382 2008-01-12  Jim Meyering  <meyering@redhat.com>
98384         announce-gen: emit Gnulib's git-based version string.
98385         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
98386         New option --gnulib-version=V, where V is expected to be
98387         the output of running git describe in the gnulib directory.
98388         (get_tool_versions): Request feedback on xdelta.  I suspect it's
98389         not useful, and plan to stop publishing an xdelta file with each
98390         coreutils release.
98392         * build-aux/announce-gen: Also check for lzma-compressed files.
98394 2008-01-11  Bruno Haible  <bruno@clisp.org>
98396         * tests/test-memmem.c (main): Increase maximum allowed time.
98397         * tests/test-strstr.c (main): Likewise.
98399 2008-01-11  Bruno Haible  <bruno@clisp.org>
98401         * doc/functions/memmem.texi: Add more precisions about platforms.
98402         * doc/functions/strstr.texi: Likewise.
98404 2008-01-10  Eric Blake  <ebb9@byu.net>
98406         * m4/strstr.m4: Delete cruft from copy-n-paste.
98407         Reported by Bruno Haible.
98409 2008-01-10  Bruno Haible  <bruno@clisp.org>
98411         Make c-strstr rely on strstr.
98412         * lib/c-strstr.c: Don't include str-kmp.h.
98413         (c_strstr): Define in terms of strstr.
98414         * modules/c-strstr (Files): Remove lib/str-kmp.h.
98415         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
98417 2008-01-10  Bruno Haible  <bruno@clisp.org>
98419         * doc/gnulib.texi (String Functions in C Locale): New section.
98420         * doc/c-ctype.texi: New file.
98421         * doc/c-strcase.texi: New file.
98422         * doc/c-strcaseeq.texi: New file.
98423         * doc/c-strcasestr.texi: New file.
98424         * doc/c-strstr.texi: New file.
98425         * doc/c-strtod.texi: New file.
98426         * doc/c-strtold.texi: New file.
98428 2008-01-10  Eric Blake  <ebb9@byu.net>
98430         * lib/relocatable.h: Fix a comment.
98432 2008-01-10  Eric Blake  <ebb9@byu.net>
98434         Share two-way algorithm.
98435         * lib/str-two-way.h: New file, merged from...
98436         * lib/memmem.c: ...here...
98437         * lib/strstr.c: ...and here.
98438         * modules/memmem (Files): Use it.
98439         * modules/strstr (Files): Likewise.
98441         Avoid quadratic strstr implementations.
98442         * lib/strstr.c: New file.
98443         * m4/strstr.m4: Likewise.
98444         * modules/strstr: Likewise.
98445         * modules/strstr-tests: Likewise.
98446         * tests/test-strstr.c: Likewise.
98447         * lib/string.in.h (rpl_strstr): Declare.
98448         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
98449         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
98450         * modules/string (Makefile.am): Likewise.
98451         * MODULES.html.sh (string handling): Mention new module.
98452         * doc/functions/strstr.texi (strstr): Document the bug.
98454 2008-01-10  Bruno Haible  <bruno@clisp.org>
98456         * lib/relocatable.h (relocate): State whether result is freshly
98457         allocated or not.
98458         * lib/relocatable.c (relocate): Return a freshly allocated string
98459         instead of a pointer to a privately held string.
98460         Reported by Sylvain Beucler <beuc@gnu.org>.
98462 2008-01-10  Colin Watson  <cjwatson@debian.org>
98464         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
98465         s/S_ISNLK/S_ISLNK/.
98467 2008-01-09  Bruno Haible  <bruno@clisp.org>
98469         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
98470         and other files.
98471         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
98472         if it's only a guess.
98473         * modules/memmem: Simplify by depending on memmem-simple.
98475 2008-01-09  Bruno Haible  <bruno@clisp.org>
98477         Work around OpenBSD 4.0 tdelete() bug.
98478         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
98479         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
98480         macros and don't redefine the enum values.
98481         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
98482         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
98483         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
98485 2008-01-09  Bruno Haible  <bruno@clisp.org>
98487         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
98488         (main): Don't perform the tests if setlocale did not install a UTF-8
98489         locale. Needed on OpenBSD 4.0.
98490         * modules/wcwidth-tests (Depends-on): Add localcharset.
98492 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
98494         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
98495         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
98496         * NEWS: announce this.
98497         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
98499 2008-01-09  Simon Josefsson  <simon@josefsson.org>
98500         and Eric Blake  <ebb9@byu.net>
98502         Add memmem-simple module.
98503         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
98504         (gl_FUNC_MEMMEM): Separate performance from presence checks.
98505         * modules/memmem-simple: New file.
98506         * modules/memmem (Description): Tweak.
98507         * MODULES.html.sh (string handling): Mention new module.
98508         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
98509         addressed by memmem-simple.
98510         * NEWS: Document the difference.
98512 2008-01-09  Eric Blake  <ebb9@byu.net>
98514         Give gcc some memmem optimization hints.
98515         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
98516         (strcasestr): Declare as pure.
98517         * modules/memmem (Maintainer): Claim my implementation.
98519 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98521         Support AIX 6.1 and higher.
98522         * build-aux/config.libpath: Likewise.
98523         * build-aux/config.rpath: Likewise.
98525 2008-01-08  Jim Meyering  <meyering@redhat.com>
98526             Bruno Haible  <bruno@clisp.org>
98528         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
98529         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
98530         Reported by Peter Fales in
98531         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
98533 2008-01-08  Bruno Haible  <bruno@clisp.org>
98535         * modules/unictype/category-of (Depends-on): Add
98536         unictype/category-none.
98537         * modules/unictype/category-and-tests (Depends-on): Add
98538         unictype/category-{L,N,Lu,Nd}.
98539         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
98540         * modules/unictype/category-or-tests (Depends-on): Add
98541         unictype/category-{L,N}.
98542         * modules/unictype/category-name-tests (Depends-on): Add
98543         unictype/category-{Z,Nl}.
98544         Reported by Simon Josefsson.
98546 2008-01-08  Bruno Haible  <bruno@clisp.org>
98548         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
98549         convention better.
98550         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
98551         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
98552         Reported by Peter Miller <millerp@canb.auug.org.au>.
98554 2008-01-08  Eric Blake  <ebb9@byu.net>
98556         Rewrite memmem to guarantee linear complexity without malloc.
98557         * lib/memmem.c (memmem): Use Two-Way rather than
98558         Knuth-Morris-Pratt, to allow O(1) space usage.
98559         (critical_factorization, two_way_short_needle)
98560         (two_way_long_needle): New functions.
98561         (knuth_morris_pratt): Delete.
98562         * modules/memmem (Depends-on): No longer need malloca or stdbool.
98563         Add stdint.
98564         * tests/test-memmem.c (main): Add tests for periodic needle and
98565         sublinear performance.
98566         * doc/functions/memmem.texi (memmem): Document other deficiencies
98567         in cygwin and older glibc.
98569 2008-01-08  Bruno Haible  <bruno@clisp.org>
98571         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
98572         augmentation.
98574 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
98576         Add a configure time option: --disable-acl.
98577         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
98578         AC_ARG_ENABLE(acl).
98580 2008-01-06  Simon Josefsson  <simon@josefsson.org>
98582         * tests/test-localename.c: Don't include obsolete "setenv.h".
98584         * modules/localename-tests (Depends-on): Need unsetenv.
98586 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98588         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
98590 2008-01-06  Colin Watson  <cjwatson@debian.org>
98592         * users.txt: Add man-db.
98594 2008-01-07  Bruno Haible  <bruno@clisp.org>
98596         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
98597         previous section name.
98599 2008-01-07  Bruno Haible  <bruno@clisp.org>
98601         * lib/progname.c (set_program_name): Don't strip off a leading
98602         "lt-" prefix outside a .libs directory.
98603         Suggested by Paul Eggert.
98605 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
98606             Bruno Haible  <bruno@clisp.org>
98608         Improve memory cleanup in 'relocatable' module.
98609         * lib/relocatable.h (compute_curr_prefix): Change return type to
98610         'char *'.
98611         * lib/relocatable.c (compute_curr_prefix): Change return type to
98612         'char *'. Free curr_installdir after use.
98613         (relocate): Free curr_prefix_better after use.
98614         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
98616 2008-01-01  Bruno Haible  <bruno@clisp.org>
98618         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
98619         failure on older glibc systems.
98620         Reported by Peter Fales <psfales@alcatel-lucent.com>.
98622 2008-01-05  Eric Blake  <ebb9@byu.net>
98624         Avoid quadratic system memmem.
98625         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
98626         Reported by Ralf Wildenhues.
98628         Fix memmem test for mingw.
98629         * modules/memmem-tests (configure.ac): Check for alarm.
98630         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
98631         it.
98632         * doc/functions/memmem.texi: New file.
98633         * doc/gnulib.texi (Function Substitutes): Add memmem.
98634         Reported by Bruno Haible.
98636 2008-01-04  Bruno Haible  <bruno@clisp.org>
98638         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
98639         Require gl_HEADER_STRINGS_H_DEFAULTS, not
98640         gl_HEADER_STRING_H_DEFAULTS.
98642 2008-01-04  Eric Blake  <ebb9@byu.net>
98644         Shorten duration of memmem test.
98645         * tests/test-memmem.c (main): Use alarm to declare failure if test
98646         is taking too long.
98647         Reported by Ralf Wildenhues.
98649 2007-12-21  Simon Josefsson  <simon@josefsson.org>
98651         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
98652         string, needed by strerror.
98654 2008-01-03  Colin Watson  <cjwatson@debian.org>
98655             Bruno Haible  <bruno@clisp.org>
98657         * doc/gnulib-tool.texi (Localization): New section.
98659 2008-01-02  Bruno Haible  <bruno@clisp.org>
98661         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
98662         variables to 'unsigned char *' type.
98663         Reported by Paul Eggert.
98665 2008-01-02  Jim Meyering  <jim@meyering.net>
98667         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
98669 2007-12-31  Jim Meyering  <jim@meyering.net>
98671         Avoid use of private FTS type name.
98672         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
98674 2007-12-30  Karl Berry  <karl@gnu.org>
98676         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
98677         work around defect in Texinfo and/or the standalone Info browser.
98679 2007-12-30  Bruno Haible  <bruno@clisp.org>
98681         Unify 5 copies of the KMP code.
98682         * lib/str-kmp.h: New file.
98683         * lib/c-strcasestr.c: Include str-kmp.h.
98684         (knuth_morris_pratt): Remove function.
98685         (c_strcasestr): Update.
98686         * lib/c-strstr.c: Include str-kmp.h.
98687         (knuth_morris_pratt): Remove function.
98688         (c_strcasestr): Update.
98689         * lib/mbscasestr.c: Include str-kmp.h.
98690         (knuth_morris_pratt_unibyte): Remove function.
98691         * lib/mbsstr.c: Include str-kmp.h.
98692         (knuth_morris_pratt_unibyte): Remove function.
98693         * lib/strcasestr.c: Include str-kmp.h.
98694         (knuth_morris_pratt): Remove function.
98695         (strcasestr): Update.
98696         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
98697         * modules/c-strstr (Files): Likewise.
98698         * modules/mbscasestr (Files): Likewise.
98699         * modules/mbsstr (Files): Likewise.
98700         * modules/strcasestr (Files): Likewise.
98701         Suggested by Paul Eggert.
98703 2007-12-30  Bruno Haible  <bruno@clisp.org>
98705         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
98706         defined.
98708 2007-12-30  Bruno Haible  <bruno@clisp.org>
98710         * lib/xmalloca.h: Include xalloc.h.
98711         (xnmalloca): New macro.
98713 2007-12-30  Bruno Haible  <bruno@clisp.org>
98715         * lib/malloca.h (nmalloca): New macro.
98716         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
98717         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
98718         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
98719         knuth_morris_pratt_multibyte): Likewise.
98720         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
98721         knuth_morris_pratt_multibyte): Likewise.
98722         * lib/memmem.c (knuth_morris_pratt): Likewise.
98723         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
98725 2007-12-25  Bruno Haible  <bruno@clisp.org>
98727         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
98728         * lib/glob.c: Don't include openat.h.
98729         (link_exists2_p): Add back the code that deals with the
98730         !GLOB_ALTDIRFUNC case.
98731         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
98732         let it do the filename concatenation.
98733         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
98734         * modules/glob (Depends-on): Remove openat.
98736 2007-12-31  Bruno Haible  <bruno@clisp.org>
98738         * modules/dirfd (License): Change to LGPLv2+.
98739         Approved by Jim Meyering.
98741 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
98743         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
98744         when multiplying M by sizeof (size_t).
98746 2007-12-10  Martin Lambers  <marlam@marlam.de>
98748         Override getpagesize on mingw.
98749         * lib/getpagesize.c: New file.
98750         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
98751         * modules/getpagesize (Files): Add lib/getpagesize.c.
98752         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
98753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
98754         REPLACE_GETPAGESIZE.
98755         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
98757 2007-12-25  Bruno Haible  <bruno@clisp.org>
98759         * modules/localcharset (Notice): New field.
98760         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
98761         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
98763 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
98764             Bruno Haible  <bruno@clisp.org>
98766         Avoid using the syntax symbol() in formatted documentation.
98767         * MODULES.html.sh (func_module): When replacing symbol() with a
98768         hyperlink, remove the parentheses. Show an error if some remain.
98769         Recognize and render the '...' syntax.
98770         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
98771         Rework. Add paragraph about GCC's inlining.
98772         * doc/alloca.texi: Likewise.
98773         * doc/error.texi: Remove parentheses from symbol reference.
98774         * doc/gnulib-intro.texi: Likewise.
98775         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
98776         * modules/fnmatch (Description): Reword to say "the ... function".
98777         * modules/full-read (Description): Likewise.
98778         * modules/full-write (Description): Likewise.
98779         * modules/safe-read (Description): Likewise.
98780         * modules/safe-write (Description): Likewise.
98781         * modules/strchrnul (Description): Likewise.
98782         * modules/trim (Description): Likewise.
98783         * modules/error (Description): Remove parentheses from symbol
98784         references.
98785         * modules/verror (Description): Likewise.
98786         Reported by Karl Berry.
98788 2007-12-25  Bruno Haible  <bruno@clisp.org>
98790         Fixup after 2007-10-16 commit.
98791         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
98793 2007-12-24  Bruno Haible  <bruno@clisp.org>
98795         Make --enable-relocatable work with DESTDIR.
98796         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
98797         to compute installdir from destprog.
98798         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
98799         also set the RELOC_DESTDIR variable.
98800         Reported by Левашев Иван <octagram@bluebottle.com>.
98802 2007-12-24  Bruno Haible  <bruno@clisp.org>
98804         Fix link error due to xalloc_die().
98805         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
98806         of xreadlink.
98807         * lib/relocwrapper.c: Update comments.
98808         * build-aux/install-reloc: Remove xreadlink.c from file list.
98809         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
98810         xreadlink.c.
98811         Reported by Левашев Иван <octagram@bluebottle.com>.
98813 2007-12-24  Bruno Haible  <bruno@clisp.org>
98815         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
98816         * lib/setenv.h: Remove file.
98817         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
98818         lib/setenv.h.
98819         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
98820         (Depends-on): Add stdlib.
98821         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
98822         gl_FUNC_UNSETENV.
98823         (Include): Replace setenv.h with <stdlib.h>.
98824         * modules/unsetenv: New file.
98825         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
98826         * lib/unsetenv.c: Include <stdlib.h> first.
98827         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
98828         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
98829         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
98830         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
98831         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
98832         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98833         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
98834         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98835         * doc/functions/unsetenv.texi: Update.
98836         * modules/xsetenv (Depends-on): Add unsetenv.
98837         * modules/getdate (Depends-on): Likewise.
98838         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
98839         * lib/xsetenv.c: Don't include setenv.h.
98840         * lib/getdate.y: Likewise.
98841         * lib/relocwrapper.c: Likewise.
98842         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
98843         (Depends-on): Add stdlib.
98844         * NEWS: Mention the changes.
98845         Reported by Левашев Иван <octagram@bluebottle.com>.
98847 2007-12-23  Bruno Haible  <bruno@clisp.org>
98849         * lib/memmem.c (memmem): Use lowercase variable names. Tab
98850         indentation.
98852 2007-12-23  Bruno Haible  <bruno@clisp.org>
98854         * lib/c-strcasestr.c: Add more comments.
98855         * lib/c-strstr.c: Likewise.
98856         * lib/mbscasestr.c: Likewise.
98857         * lib/mbsstr.c: Likewise.
98858         * lib/strcasestr.c: Likewise.
98859         * lib/memmem.c: Likewise.
98861 2007-12-23  Bruno Haible  <bruno@clisp.org>
98863         * tests/test-memmem.c: Include <string.h> first.
98865 2007-12-22  Bruno Haible  <bruno@clisp.org>
98867         * gnulib-tool (func_create_testdir): Change $auxdir while generating
98868         the contents of $testsbase.
98869         Reported by Ralf Wildenhues.
98871 2007-12-22  Bruno Haible  <bruno@clisp.org>
98873         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
98874         two variables local_ldadd_before, local_ldadd_last.
98876 2007-12-20  Eric Blake  <ebb9@byu.net>
98878         Work around circular library issue when cross-compiling.
98879         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
98880         that progname.o does not need to pull in rpl_memcmp.
98882 2007-12-19  Eric Blake  <ebb9@byu.net>
98884         Fix memmem to avoid O(n^2) worst-case complexity.
98885         * lib/memmem.c (knuth_morris_pratt): New function.
98886         (memmem): Use it if first few naive iterations fail.
98887         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
98888         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
98889         * modules/memchr (License): Likewise.
98890         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
98891         malloca.
98892         * tests/test-memmem.c: Rewrite, borrowing ideas from
98893         test-mbsstr1.c; the old version wouldn't even compile!
98894         * modules/memmem-tests: New file.
98895         * lib/string.in.h (rpl_memmem): Add declaration.
98896         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
98897         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
98898         REPLACE_MEMMEM.
98900 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
98902         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
98903         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
98904         before any system include files, and undef after them all.  This
98905         should fix a problem on VMS reported by John E. Malmberg in
98906         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
98908 2007-12-17  Eric Blake  <ebb9@byu.net>
98910         Revert addition of verify, for BSD/OS.
98911         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
98912         can't handle large files, for the sake of obsolete platforms.
98913         * modules/fseeko (Depends-on): Remove verify.
98914         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
98915         * doc/functions/ftello.texi (ftello): Likewise.
98916         * doc/functions/fgetpos.texi (fgetpos): Likewise.
98917         Reported by Larry Jones.
98919 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
98921         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
98922         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
98924 2007-12-17  Jim Meyering  <meyering@redhat.com>
98926         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
98927         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
98928         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
98929         * modules/getcwd (Depends-on): Add openat.
98930         Reported by Petr Salinger.
98932 2007-12-17  Bruno Haible  <bruno@clisp.org>
98934         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
98935         avoid a segmentation fault of the configure test on x86_64 systems.
98937 2007-12-15  Jim Meyering  <meyering@redhat.com>
98939         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
98941 2007-12-13  Eric Blake  <ebb9@byu.net>
98943         Another fseek test.
98944         * tests/test-fseek.c (main): Also test ungetc handling.
98945         * tests/test-fseeko.c (main): Likewise.
98946         * modules/fseeko (Depends-on): Add verify.
98947         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
98948         large.
98949         Reported by Larry Jones.
98951         Fix fseeko on mingw.
98952         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
98953         seek.
98955         Beef up fseek tests.
98956         * tests/test-fseek.c (main): Also test eof handling.
98957         * tests/test-fseeko.c (main): Likewise.
98958         Reported by Larry Jones.
98960 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
98962         Fix fseeko on BSD-based platforms.
98963         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
98964         successful seek.
98966 2007-12-12  Eric Blake  <ebb9@byu.net>
98968         Allow circular dependency of separate libtests.a
98969         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
98970         when use_libtests.
98972 2007-12-11  Eric Blake  <ebb9@byu.net>
98974         Fix bug with -0.0L in previous patch.
98975         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
98976         * tests/test-isnan.c (main): Also test on zeroes.
98977         * tests/test-isnanf.c (main): Likewise.
98978         * tests/test-isnanl.h (main): Likewise.
98980         Detect pseudo-denormals on x86 even when cross-compiling.
98981         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
98982         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
98983         invalid bit patterns that happen to satisfy ==.
98985         Avoid link failures with separate libtests.a.
98986         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
98987         last, to satisfy circular dependencies.
98989 2007-12-11  Eric Blake  <ebb9@byu.net>
98990         and Bruno Haible  <bruno@clisp.org>
98992         Fix OpenBSD 4.0 <float.h> handling of long double.
98993         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
98994         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
98995         * doc/headers/float.texi (float.h): Document OpenBSD bug.
98997 2007-12-11  Jim Meyering  <meyering@redhat.com>
98999         * users.txt: Add libvirt.
99001         Support versions of autoconf prior to 2.59c.
99002         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
99003         if it is not already defined.
99005 2007-12-09  Bruno Haible  <bruno@clisp.org>
99007         Let 'gnulib-tool --import' collect sources needed for the tests in
99008         tests/ rather than in lib/.
99009         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
99010         argument. If true, add rules to generate libtests.a, and put libtests.a
99011         into $(LDADD). Consider source files in subdirectories and set
99012         uses_subdirs.
99013         (func_emit_initmacro_start, func_emit_initmacro_end,
99014         func_emit_initmacro_done): Pass all arguments explicitly.
99015         (func_import): Determine two module lists main_modules,
99016         testsrelated_modules. Determine use_libtests. Determine two variables
99017         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
99018         instead of just sed_transform_lib_file. Determine two variables
99019         main_files and testsrelated_files. Compute 'files' as the union of
99020         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
99021         func_add_or_update. In the generated gnulib-comp.m4, collect the
99022         object files for tests/ in different variables than those for lib/.
99023         Substitute LIBTESTS_LIBDEPS.
99024         (func_create_testdir): Combine the uses_subdirs results from
99025         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
99027 2007-12-09  Bruno Haible  <bruno@clisp.org>
99029         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
99030         the build-aux directory.
99032 2007-12-09  Bruno Haible  <bruno@clisp.org>
99034         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
99035         introduced on 2006-09-09.
99037 2007-12-07  Jim Meyering  <meyering@redhat.com>
99039         Let these macros work also with autoconf-2.59.
99040         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
99041         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
99042         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
99044 2007-12-06  Jim Meyering  <meyering@redhat.com>
99046         Avoid a configure-time syntax error in gl_FUNC_ACL.
99047         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
99048         function in each branch, before testing the cache variable.
99050 2007-12-04  Eric Blake  <ebb9@byu.net>
99052         Make scripts executable.
99053         * build-aux/config.guess: Add execute permissions.
99054         * build-aux/config.sub: Likewise.
99055         * build-aux/gendocs.sh: Likewise.
99057         Fix frexp on mingw.
99058         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
99059         cross-compiling.
99060         * doc/functions/frexp.texi (frexp): Document the bug.
99062         Make cygwin fseeko check more reliable.
99063         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
99064         version numbers, rather than unrelated feature check.
99065         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
99066         * doc/functions/ftello.texi (ftello): Likewise.
99067         Reported by Bruno Haible.
99069         * m4/strerror.m4: Bump version number.
99071 2007-12-03  Bruno Haible  <bruno@clisp.org>
99073         * doc/functions/mprotect.texi: Mention the mingw problem.
99075 2007-12-03  Eric Blake  <ebb9@byu.net>
99077         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
99078         REPLACE_STRERROR is initialized before this macro.
99080 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
99082         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
99083         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
99084         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
99085         put -lsec in even for programs other than 'ls'.  This fixes a problem
99086         for gettext reported by Bruno Haible in
99087         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
99088         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
99089         Add support for Solaris 10.  This isn't efficient, but should get the
99090         job done for now.
99092 2007-12-03  James Youngman  <jay@gnu.org>
99094         * doc/regexprops-generic.texi: change "an close-group" to "a
99095         close-group" and "illegal" to "not allowed".
99097 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99099         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
99100         pr_byname.h. Needed for the rare case when the maintainer has done
99101         "make maintainer-clean" in the source directory and then attempts a
99102         build outside the source directory.
99103         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
99104         scripts_byname.h.
99106 2007-12-02  Martin Lambers  <marlam@marlam.de>
99107             Bruno Haible  <bruno@clisp.org>
99109         * lib/getpagesize.h: Remove file.
99110         * lib/unistd.in.h: Include declaration of getpagesize here.
99111         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
99112         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
99113         HAVE_SYS_PARAM_H.
99114         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
99115         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
99116         * modules/getpagesize (Files): Remove lib/getpagesize.h.
99117         (Depends-on): Add unistd.
99118         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
99119         (Include): Use <unistd.h> instead of getpagesize.h.
99120         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
99121         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
99122         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
99123         gl_GETPAGESIZE invocation, already handled by module dependency.
99124         * lib/pagealign_alloc.c: Don't include getpagesize.h.
99126 2007-12-02  Bruno Haible  <bruno@clisp.org>
99128         * modules/strings-tests: New file.
99129         * tests/test-strings.c: New file.
99131         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
99132         * lib/strings.in.h: New file.
99133         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
99134         * m4/strings_h.m4: New file.
99135         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
99136         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
99137         * modules/strings: New file.
99138         * modules/string (Makefile.am): Update.
99139         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
99140         Reported by Karl Berry.
99142 2007-12-01  Eric Blake  <ebb9@byu.net>
99144         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
99145         accommodate fix in cygwin 1.5.25.
99147 2007-12-01  Jim Meyering  <meyering@redhat.com>
99149         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
99150         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
99151         that would inhibit utf8-optimization of a regexp containing line-
99152         or buffer-anchors, e.g., `^', `$'.
99154 2007-11-30  Bruno Haible  <bruno@clisp.org>
99156         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
99157         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
99158         glthread_recursive_lock_init.
99159         * lib/lock.c (glthread_recursive_lock_init)
99160         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
99161         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
99163 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
99165         New function qset_acl, like set_acl but with syscall semantics.
99166         * lib/acl.h (qset_acl): New decl.
99167         * lib/acl.c (qset_acl): New function.
99168         (set_acl): Use new function.  Use more-consistent diagnostics.
99170 2007-11-28  Jim Meyering  <meyering@redhat.com>
99172         * modules/physmem (License): Change from GPL to LGPLv2+.
99174 2007-11-26  Bruno Haible  <bruno@clisp.org>
99176         * lib/vasnprintf.c (decode_long_double): Don't abort if the
99177         'long double' type has excess precision.
99178         Reported by Jim Meyering in
99179         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
99181 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99183         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
99184         Sync from <http://gnu.org/licenses>.
99185         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
99186         with license text from same location.
99187         * doc/maintain.texi, doc/standards.texi:  Sync from
99188         <http://savannah.gnu.org/projects/gnustandards>.
99190 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
99191         and Jim Meyering  <meyering@redhat.com>
99193         Adjust getdate' grammar to accept a slightly more regular language.
99194         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
99195         Before, the former was rejected.
99196         * lib/getdate.y (digits_to_date_time): New function, factored
99197         out of ...
99198         (number): ...here.  Just call digits_to_date_time.
99199         (hybrid): New non-terminal to handle an <unsigned number,
99200         signed relative offset> sequence consistently.
99202 2007-11-18  Jim Meyering  <meyering@redhat.com>
99204         Pull my changes from coreutils:
99205         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
99206         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
99207         use of $gnulib_tool_option_extras, so that it's separated from the
99208         preceding argument.
99210         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
99211         * build-aux/bootstrap (cp_mark_as_generated): Create any required
99212         parent destination directories before copying a file into place.
99214 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
99216         bootstrap: work also with 4-argument variant of AC_INIT
99217         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
99219 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
99221         Port test-getaddrinfo to Solaris.
99222         Problem reported by Bruno Haible in
99223         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
99224         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
99225         explanation of setting 'hints'.
99226         Don't reject an implementation merely because it returns EAI_SERVICE.
99227         (EAI_SERVICE): Define to 0 if not defined.
99229 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
99231         The license of gnu-make and posix-shell is now "GPLed build tool".
99232         * modules/gnu-make (License): Likewise.
99233         * modules/posix-shell (License): Likewise.
99235         New module posix-shell, for determining a POSIX shell
99236         or perhaps something that is close enough to a POSIX shell.
99237         * m4/posix-shell.m4: New file.
99238         * modules/posix-shell: New file.
99240         * MODULES.html.sh: Mention new module.
99242         New module gnu-make, for determining whether we're using GNU Make.
99243         * m4/gnu-make.m4: New file.
99244         * modules/gnu-make: New file.
99245         * MODULES.html.sh: Mention new module.
99247 2007-11-14  Jim Meyering  <meyering@redhat.com>
99249         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
99250         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
99251         use this macro to create a function _definition_.
99252         Remove useless "#undef ARGMATCH_DIE".
99254 2007-11-14  Bruno Haible  <bruno@clisp.org>
99256         * lib/config.charset: Update for OpenBSD 4.1.
99257         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
99259 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
99261         Document 64-bit #if problems in stdint.texi.
99262         * doc/headers/stdint.texi (stdint.h): Mention problems with
99263         64-bit-#if, and how to work around them.
99265         Don't insist on 'long long int' support in the preprocessor.  It
99266         breaks too many things.  For example, PRIdMAX still uses a 'long
99267         long int' format with the latest Sun compiler, even though
99268         HAVE_LONG_LONG_INT isn't defined due to that compiler's
99269         preprocessor problem.  This causes the latest coreutils to dump
99270         core on Solaris 10 sparc with the Sun C compiler.
99271         Instead, fix the 2007-10-16 problem in a different way, by evaluating
99272         the troublesome expressions at configure-time, not at #if-time.
99273         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
99274         preprocessor.
99275         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
99276         compile-time C checks, done at 'configure'-time.
99277         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
99278         * modules/inttypes (Makefile): Substitute the new symbols that
99279         gl_INTTYPES_H now generates.
99280         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
99282 2007-11-12  Bruno Haible  <bruno@clisp.org>
99284         Tests for Unicode character classification functions.
99286         * modules/unictype/bidicategory-byname-tests: New file.
99287         * modules/unictype/bidicategory-name-tests: New file.
99288         * modules/unictype/bidicategory-of-tests: New file.
99289         * modules/unictype/bidicategory-test-tests: New file.
99290         * modules/unictype/block-list-tests: New file.
99291         * modules/unictype/block-of-tests: New file.
99292         * modules/unictype/block-test-tests: New file.
99293         * modules/unictype/category-C-tests: New file.
99294         * modules/unictype/category-Cc-tests: New file.
99295         * modules/unictype/category-Cf-tests: New file.
99296         * modules/unictype/category-Cn-tests: New file.
99297         * modules/unictype/category-Co-tests: New file.
99298         * modules/unictype/category-Cs-tests: New file.
99299         * modules/unictype/category-L-tests: New file.
99300         * modules/unictype/category-Ll-tests: New file.
99301         * modules/unictype/category-Lm-tests: New file.
99302         * modules/unictype/category-Lo-tests: New file.
99303         * modules/unictype/category-Lt-tests: New file.
99304         * modules/unictype/category-Lu-tests: New file.
99305         * modules/unictype/category-M-tests: New file.
99306         * modules/unictype/category-Mc-tests: New file.
99307         * modules/unictype/category-Me-tests: New file.
99308         * modules/unictype/category-Mn-tests: New file.
99309         * modules/unictype/category-N-tests: New file.
99310         * modules/unictype/category-Nd-tests: New file.
99311         * modules/unictype/category-Nl-tests: New file.
99312         * modules/unictype/category-No-tests: New file.
99313         * modules/unictype/category-P-tests: New file.
99314         * modules/unictype/category-Pc-tests: New file.
99315         * modules/unictype/category-Pd-tests: New file.
99316         * modules/unictype/category-Pe-tests: New file.
99317         * modules/unictype/category-Pf-tests: New file.
99318         * modules/unictype/category-Pi-tests: New file.
99319         * modules/unictype/category-Po-tests: New file.
99320         * modules/unictype/category-Ps-tests: New file.
99321         * modules/unictype/category-S-tests: New file.
99322         * modules/unictype/category-Sc-tests: New file.
99323         * modules/unictype/category-Sk-tests: New file.
99324         * modules/unictype/category-Sm-tests: New file.
99325         * modules/unictype/category-So-tests: New file.
99326         * modules/unictype/category-Z-tests: New file.
99327         * modules/unictype/category-Zl-tests: New file.
99328         * modules/unictype/category-Zp-tests: New file.
99329         * modules/unictype/category-Zs-tests: New file.
99330         * modules/unictype/category-and-not-tests: New file.
99331         * modules/unictype/category-and-tests: New file.
99332         * modules/unictype/category-byname-tests: New file.
99333         * modules/unictype/category-name-tests: New file.
99334         * modules/unictype/category-none-tests: New file.
99335         * modules/unictype/category-of-tests: New file.
99336         * modules/unictype/category-or-tests: New file.
99337         * modules/unictype/category-test-withtable-tests: New file.
99338         * modules/unictype/combining-class-tests: New file.
99339         * modules/unictype/ctype-alnum-tests: New file.
99340         * modules/unictype/ctype-alpha-tests: New file.
99341         * modules/unictype/ctype-blank-tests: New file.
99342         * modules/unictype/ctype-cntrl-tests: New file.
99343         * modules/unictype/ctype-digit-tests: New file.
99344         * modules/unictype/ctype-graph-tests: New file.
99345         * modules/unictype/ctype-lower-tests: New file.
99346         * modules/unictype/ctype-print-tests: New file.
99347         * modules/unictype/ctype-punct-tests: New file.
99348         * modules/unictype/ctype-space-tests: New file.
99349         * modules/unictype/ctype-upper-tests: New file.
99350         * modules/unictype/ctype-xdigit-tests: New file.
99351         * modules/unictype/decimal-digit-tests: New file.
99352         * modules/unictype/digit-tests: New file.
99353         * modules/unictype/mirror-tests: New file.
99354         * modules/unictype/numeric-tests: New file.
99355         * modules/unictype/property-alphabetic-tests: New file.
99356         * modules/unictype/property-ascii-hex-digit-tests: New file.
99357         * modules/unictype/property-bidi-arabic-digit-tests: New file.
99358         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
99359         * modules/unictype/property-bidi-block-separator-tests: New file.
99360         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
99361         * modules/unictype/property-bidi-common-separator-tests: New file.
99362         * modules/unictype/property-bidi-control-tests: New file.
99363         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
99364         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
99365         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
99366         * modules/unictype/property-bidi-european-digit-tests: New file.
99367         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
99368         * modules/unictype/property-bidi-left-to-right-tests: New file.
99369         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
99370         * modules/unictype/property-bidi-other-neutral-tests: New file.
99371         * modules/unictype/property-bidi-pdf-tests: New file.
99372         * modules/unictype/property-bidi-segment-separator-tests: New file.
99373         * modules/unictype/property-bidi-whitespace-tests: New file.
99374         * modules/unictype/property-byname-tests: New file.
99375         * modules/unictype/property-combining-tests: New file.
99376         * modules/unictype/property-composite-tests: New file.
99377         * modules/unictype/property-currency-symbol-tests: New file.
99378         * modules/unictype/property-dash-tests: New file.
99379         * modules/unictype/property-decimal-digit-tests: New file.
99380         * modules/unictype/property-default-ignorable-code-point-tests: New file.
99381         * modules/unictype/property-deprecated-tests: New file.
99382         * modules/unictype/property-diacritic-tests: New file.
99383         * modules/unictype/property-extender-tests: New file.
99384         * modules/unictype/property-format-control-tests: New file.
99385         * modules/unictype/property-grapheme-base-tests: New file.
99386         * modules/unictype/property-grapheme-extend-tests: New file.
99387         * modules/unictype/property-grapheme-link-tests: New file.
99388         * modules/unictype/property-hex-digit-tests: New file.
99389         * modules/unictype/property-hyphen-tests: New file.
99390         * modules/unictype/property-id-continue-tests: New file.
99391         * modules/unictype/property-id-start-tests: New file.
99392         * modules/unictype/property-ideographic-tests: New file.
99393         * modules/unictype/property-ids-binary-operator-tests: New file.
99394         * modules/unictype/property-ids-trinary-operator-tests: New file.
99395         * modules/unictype/property-ignorable-control-tests: New file.
99396         * modules/unictype/property-iso-control-tests: New file.
99397         * modules/unictype/property-join-control-tests: New file.
99398         * modules/unictype/property-left-of-pair-tests: New file.
99399         * modules/unictype/property-line-separator-tests: New file.
99400         * modules/unictype/property-logical-order-exception-tests: New file.
99401         * modules/unictype/property-lowercase-tests: New file.
99402         * modules/unictype/property-math-tests: New file.
99403         * modules/unictype/property-non-break-tests: New file.
99404         * modules/unictype/property-not-a-character-tests: New file.
99405         * modules/unictype/property-numeric-tests: New file.
99406         * modules/unictype/property-other-alphabetic-tests: New file.
99407         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
99408         * modules/unictype/property-other-grapheme-extend-tests: New file.
99409         * modules/unictype/property-other-id-continue-tests: New file.
99410         * modules/unictype/property-other-id-start-tests: New file.
99411         * modules/unictype/property-other-lowercase-tests: New file.
99412         * modules/unictype/property-other-math-tests: New file.
99413         * modules/unictype/property-other-uppercase-tests: New file.
99414         * modules/unictype/property-paired-punctuation-tests: New file.
99415         * modules/unictype/property-paragraph-separator-tests: New file.
99416         * modules/unictype/property-pattern-syntax-tests: New file.
99417         * modules/unictype/property-pattern-white-space-tests: New file.
99418         * modules/unictype/property-private-use-tests: New file.
99419         * modules/unictype/property-punctuation-tests: New file.
99420         * modules/unictype/property-quotation-mark-tests: New file.
99421         * modules/unictype/property-radical-tests: New file.
99422         * modules/unictype/property-sentence-terminal-tests: New file.
99423         * modules/unictype/property-soft-dotted-tests: New file.
99424         * modules/unictype/property-space-tests: New file.
99425         * modules/unictype/property-terminal-punctuation-tests: New file.
99426         * modules/unictype/property-test-tests: New file.
99427         * modules/unictype/property-titlecase-tests: New file.
99428         * modules/unictype/property-unassigned-code-value-tests: New file.
99429         * modules/unictype/property-unified-ideograph-tests: New file.
99430         * modules/unictype/property-uppercase-tests: New file.
99431         * modules/unictype/property-variation-selector-tests: New file.
99432         * modules/unictype/property-white-space-tests: New file.
99433         * modules/unictype/property-xid-continue-tests: New file.
99434         * modules/unictype/property-xid-start-tests: New file.
99435         * modules/unictype/property-zero-width-tests: New file.
99436         * modules/unictype/scripts-tests: New file.
99437         * modules/unictype/syntax-c-ident-tests: New file.
99438         * modules/unictype/syntax-c-whitespace-tests: New file.
99439         * modules/unictype/syntax-java-ident-tests: New file.
99440         * modules/unictype/syntax-java-whitespace-tests: New file.
99441         * tests/unictype/test-bidi_byname.c: New file.
99442         * tests/unictype/test-bidi_name.c: New file.
99443         * tests/unictype/test-bidi_of.c: New file.
99444         * tests/unictype/test-bidi_test.c: New file.
99445         * tests/unictype/test-block_list.c: New file.
99446         * tests/unictype/test-block_of.c: New file.
99447         * tests/unictype/test-block_test.c: New file.
99448         * tests/unictype/test-categ_and.c: New file.
99449         * tests/unictype/test-categ_and_not.c: New file.
99450         * tests/unictype/test-categ_byname.c: New file.
99451         * tests/unictype/test-categ_name.c: New file.
99452         * tests/unictype/test-categ_none.c: New file.
99453         * tests/unictype/test-categ_of.c: New file.
99454         * tests/unictype/test-categ_or.c: New file.
99455         * tests/unictype/test-categ_test_withtable.c: New file.
99456         * tests/unictype/test-combining.c: New file.
99457         * tests/unictype/test-decdigit.c: New file.
99458         * tests/unictype/test-digit.c: New file.
99459         * tests/unictype/test-mirror.c: New file.
99460         * tests/unictype/test-numeric.c: New file.
99461         * tests/unictype/test-pr_byname.c: New file.
99462         * tests/unictype/test-pr_test.c: New file.
99463         * tests/unictype/test-predicate-part1.h: New file.
99464         * tests/unictype/test-predicate-part2.h: New file.
99465         * tests/unictype/test-scripts.c: New file.
99466         * tests/unictype/test-sy_c_ident.c: New file.
99467         * tests/unictype/test-sy_java_ident.c: New file.
99469         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
99470         for Unicode 5.0.0.
99471         * tests/unictype/test-categ_Cc.c: Likewise.
99472         * tests/unictype/test-categ_Cf.c: Likewise.
99473         * tests/unictype/test-categ_Cn.c: Likewise.
99474         * tests/unictype/test-categ_Co.c: Likewise.
99475         * tests/unictype/test-categ_Cs.c: Likewise.
99476         * tests/unictype/test-categ_L.c: Likewise.
99477         * tests/unictype/test-categ_Ll.c: Likewise.
99478         * tests/unictype/test-categ_Lm.c: Likewise.
99479         * tests/unictype/test-categ_Lo.c: Likewise.
99480         * tests/unictype/test-categ_Lt.c: Likewise.
99481         * tests/unictype/test-categ_Lu.c: Likewise.
99482         * tests/unictype/test-categ_M.c: Likewise.
99483         * tests/unictype/test-categ_Mc.c: Likewise.
99484         * tests/unictype/test-categ_Me.c: Likewise.
99485         * tests/unictype/test-categ_Mn.c: Likewise.
99486         * tests/unictype/test-categ_N.c: Likewise.
99487         * tests/unictype/test-categ_Nd.c: Likewise.
99488         * tests/unictype/test-categ_Nl.c: Likewise.
99489         * tests/unictype/test-categ_No.c: Likewise.
99490         * tests/unictype/test-categ_P.c: Likewise.
99491         * tests/unictype/test-categ_Pc.c: Likewise.
99492         * tests/unictype/test-categ_Pd.c: Likewise.
99493         * tests/unictype/test-categ_Pe.c: Likewise.
99494         * tests/unictype/test-categ_Pf.c: Likewise.
99495         * tests/unictype/test-categ_Pi.c: Likewise.
99496         * tests/unictype/test-categ_Po.c: Likewise.
99497         * tests/unictype/test-categ_Ps.c: Likewise.
99498         * tests/unictype/test-categ_S.c: Likewise.
99499         * tests/unictype/test-categ_Sc.c: Likewise.
99500         * tests/unictype/test-categ_Sk.c: Likewise.
99501         * tests/unictype/test-categ_Sm.c: Likewise.
99502         * tests/unictype/test-categ_So.c: Likewise.
99503         * tests/unictype/test-categ_Z.c: Likewise.
99504         * tests/unictype/test-categ_Zl.c: Likewise.
99505         * tests/unictype/test-categ_Zp.c: Likewise.
99506         * tests/unictype/test-categ_Zs.c: Likewise.
99507         * tests/unictype/test-ctype_alnum.c: Likewise.
99508         * tests/unictype/test-ctype_alpha.c: Likewise.
99509         * tests/unictype/test-ctype_blank.c: Likewise.
99510         * tests/unictype/test-ctype_cntrl.c: Likewise.
99511         * tests/unictype/test-ctype_digit.c: Likewise.
99512         * tests/unictype/test-ctype_graph.c: Likewise.
99513         * tests/unictype/test-ctype_lower.c: Likewise.
99514         * tests/unictype/test-ctype_print.c: Likewise.
99515         * tests/unictype/test-ctype_punct.c: Likewise.
99516         * tests/unictype/test-ctype_space.c: Likewise.
99517         * tests/unictype/test-ctype_upper.c: Likewise.
99518         * tests/unictype/test-ctype_xdigit.c: Likewise.
99519         * tests/unictype/test-decdigit.h: Likewise.
99520         * tests/unictype/test-digit.h: Likewise.
99521         * tests/unictype/test-numeric.h: Likewise.
99522         * tests/unictype/test-pr_alphabetic.c: Likewise.
99523         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
99524         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
99525         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
99526         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
99527         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
99528         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
99529         * tests/unictype/test-pr_bidi_control.c: Likewise.
99530         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
99531         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
99532         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
99533         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
99534         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
99535         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
99536         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
99537         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
99538         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
99539         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
99540         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
99541         * tests/unictype/test-pr_combining.c: Likewise.
99542         * tests/unictype/test-pr_composite.c: Likewise.
99543         * tests/unictype/test-pr_currency_symbol.c: Likewise.
99544         * tests/unictype/test-pr_dash.c: Likewise.
99545         * tests/unictype/test-pr_decimal_digit.c: Likewise.
99546         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
99547         * tests/unictype/test-pr_deprecated.c: Likewise.
99548         * tests/unictype/test-pr_diacritic.c: Likewise.
99549         * tests/unictype/test-pr_extender.c: Likewise.
99550         * tests/unictype/test-pr_format_control.c: Likewise.
99551         * tests/unictype/test-pr_grapheme_base.c: Likewise.
99552         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
99553         * tests/unictype/test-pr_grapheme_link.c: Likewise.
99554         * tests/unictype/test-pr_hex_digit.c: Likewise.
99555         * tests/unictype/test-pr_hyphen.c: Likewise.
99556         * tests/unictype/test-pr_id_continue.c: Likewise.
99557         * tests/unictype/test-pr_id_start.c: Likewise.
99558         * tests/unictype/test-pr_ideographic.c: Likewise.
99559         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
99560         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
99561         * tests/unictype/test-pr_ignorable_control.c: Likewise.
99562         * tests/unictype/test-pr_iso_control.c: Likewise.
99563         * tests/unictype/test-pr_join_control.c: Likewise.
99564         * tests/unictype/test-pr_left_of_pair.c: Likewise.
99565         * tests/unictype/test-pr_line_separator.c: Likewise.
99566         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
99567         * tests/unictype/test-pr_lowercase.c: Likewise.
99568         * tests/unictype/test-pr_math.c: Likewise.
99569         * tests/unictype/test-pr_non_break.c: Likewise.
99570         * tests/unictype/test-pr_not_a_character.c: Likewise.
99571         * tests/unictype/test-pr_numeric.c: Likewise.
99572         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
99573         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
99574         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
99575         * tests/unictype/test-pr_other_id_continue.c: Likewise.
99576         * tests/unictype/test-pr_other_id_start.c: Likewise.
99577         * tests/unictype/test-pr_other_lowercase.c: Likewise.
99578         * tests/unictype/test-pr_other_math.c: Likewise.
99579         * tests/unictype/test-pr_other_uppercase.c: Likewise.
99580         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
99581         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
99582         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
99583         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
99584         * tests/unictype/test-pr_private_use.c: Likewise.
99585         * tests/unictype/test-pr_punctuation.c: Likewise.
99586         * tests/unictype/test-pr_quotation_mark.c: Likewise.
99587         * tests/unictype/test-pr_radical.c: Likewise.
99588         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
99589         * tests/unictype/test-pr_soft_dotted.c: Likewise.
99590         * tests/unictype/test-pr_space.c: Likewise.
99591         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
99592         * tests/unictype/test-pr_titlecase.c: Likewise.
99593         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
99594         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
99595         * tests/unictype/test-pr_uppercase.c: Likewise.
99596         * tests/unictype/test-pr_variation_selector.c: Likewise.
99597         * tests/unictype/test-pr_white_space.c: Likewise.
99598         * tests/unictype/test-pr_xid_continue.c: Likewise.
99599         * tests/unictype/test-pr_xid_start.c: Likewise.
99600         * tests/unictype/test-pr_zero_width.c: Likewise.
99601         * tests/unictype/test-sy_c_whitespace.c: Likewise.
99602         * tests/unictype/test-sy_java_whitespace.c: Likewise.
99604 2007-11-12  Bruno Haible  <bruno@clisp.org>
99606         Unicode character classification functions.
99607         * lib/unictype.h: New file.
99608         * modules/unictype/base: New file.
99609         * modules/unictype/category-L: New file.
99610         * modules/unictype/category-Lu: New file.
99611         * modules/unictype/category-Ll: New file.
99612         * modules/unictype/category-Lt: New file.
99613         * modules/unictype/category-Lm: New file.
99614         * modules/unictype/category-Lo: New file.
99615         * modules/unictype/category-M: New file.
99616         * modules/unictype/category-Mn: New file.
99617         * modules/unictype/category-Mc: New file.
99618         * modules/unictype/category-Me: New file.
99619         * modules/unictype/category-N: New file.
99620         * modules/unictype/category-Nd: New file.
99621         * modules/unictype/category-Nl: New file.
99622         * modules/unictype/category-No: New file.
99623         * modules/unictype/category-P: New file.
99624         * modules/unictype/category-Pc: New file.
99625         * modules/unictype/category-Pd: New file.
99626         * modules/unictype/category-Ps: New file.
99627         * modules/unictype/category-Pe: New file.
99628         * modules/unictype/category-Pi: New file.
99629         * modules/unictype/category-Pf: New file.
99630         * modules/unictype/category-Po: New file.
99631         * modules/unictype/category-S: New file.
99632         * modules/unictype/category-Sm: New file.
99633         * modules/unictype/category-Sc: New file.
99634         * modules/unictype/category-Sk: New file.
99635         * modules/unictype/category-So: New file.
99636         * modules/unictype/category-Z: New file.
99637         * modules/unictype/category-Zs: New file.
99638         * modules/unictype/category-Zl: New file.
99639         * modules/unictype/category-Zp: New file.
99640         * modules/unictype/category-C: New file.
99641         * modules/unictype/category-Cc: New file.
99642         * modules/unictype/category-Cf: New file.
99643         * modules/unictype/category-Cs: New file.
99644         * modules/unictype/category-Co: New file.
99645         * modules/unictype/category-Cn: New file.
99646         * modules/unictype/category-or: New file.
99647         * modules/unictype/category-of: New file.
99648         * modules/unictype/category-test: New file.
99649         * modules/unictype/category-test-withtable: New file.
99650         * modules/unictype/category-byname: New file.
99651         * modules/unictype/category-none: New file.
99652         * modules/unictype/category-and: New file.
99653         * modules/unictype/category-and-not: New file.
99654         * modules/unictype/category-name: New file.
99655         * modules/unictype/combining-class: New file.
99656         * modules/unictype/category-all: New file.
99657         * modules/unictype/bidicategory-all: New file.
99658         * modules/unictype/bidicategory-byname: New file.
99659         * modules/unictype/bidicategory-name: New file.
99660         * modules/unictype/bidicategory-of: New file.
99661         * modules/unictype/bidicategory-test: New file.
99662         * modules/unictype/decimal-digit: New file.
99663         * modules/unictype/digit: New file.
99664         * modules/unictype/numeric: New file.
99665         * modules/unictype/mirror: New file.
99666         * modules/unictype/property-white-space: New file.
99667         * modules/unictype/property-alphabetic: New file.
99668         * modules/unictype/property-other-alphabetic: New file.
99669         * modules/unictype/property-not-a-character: New file.
99670         * modules/unictype/property-default-ignorable-code-point: New file.
99671         * modules/unictype/property-other-default-ignorable-code-point: New
99672         file.
99673         * modules/unictype/property-deprecated: New file.
99674         * modules/unictype/property-logical-order-exception: New file.
99675         * modules/unictype/property-variation-selector: New file.
99676         * modules/unictype/property-private-use: New file.
99677         * modules/unictype/property-unassigned-code-value: New file.
99678         * modules/unictype/property-uppercase: New file.
99679         * modules/unictype/property-other-uppercase: New file.
99680         * modules/unictype/property-lowercase: New file.
99681         * modules/unictype/property-other-lowercase: New file.
99682         * modules/unictype/property-titlecase: New file.
99683         * modules/unictype/property-soft-dotted: New file.
99684         * modules/unictype/property-id-start: New file.
99685         * modules/unictype/property-other-id-start: New file.
99686         * modules/unictype/property-id-continue: New file.
99687         * modules/unictype/property-other-id-continue: New file.
99688         * modules/unictype/property-xid-start: New file.
99689         * modules/unictype/property-xid-continue: New file.
99690         * modules/unictype/property-pattern-white-space: New file.
99691         * modules/unictype/property-pattern-syntax: New file.
99692         * modules/unictype/property-join-control: New file.
99693         * modules/unictype/property-grapheme-base: New file.
99694         * modules/unictype/property-grapheme-extend: New file.
99695         * modules/unictype/property-other-grapheme-extend: New file.
99696         * modules/unictype/property-grapheme-link: New file.
99697         * modules/unictype/property-bidi-control: New file.
99698         * modules/unictype/property-bidi-left-to-right: New file.
99699         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
99700         * modules/unictype/property-bidi-arabic-right-to-left: New file.
99701         * modules/unictype/property-bidi-european-digit: New file.
99702         * modules/unictype/property-bidi-eur-num-separator: New file.
99703         * modules/unictype/property-bidi-eur-num-terminator: New file.
99704         * modules/unictype/property-bidi-arabic-digit: New file.
99705         * modules/unictype/property-bidi-common-separator: New file.
99706         * modules/unictype/property-bidi-block-separator: New file.
99707         * modules/unictype/property-bidi-segment-separator: New file.
99708         * modules/unictype/property-bidi-whitespace: New file.
99709         * modules/unictype/property-bidi-non-spacing-mark: New file.
99710         * modules/unictype/property-bidi-boundary-neutral: New file.
99711         * modules/unictype/property-bidi-pdf: New file.
99712         * modules/unictype/property-bidi-embedding-or-override: New file.
99713         * modules/unictype/property-bidi-other-neutral: New file.
99714         * modules/unictype/property-hex-digit: New file.
99715         * modules/unictype/property-ascii-hex-digit: New file.
99716         * modules/unictype/property-ideographic: New file.
99717         * modules/unictype/property-unified-ideograph: New file.
99718         * modules/unictype/property-radical: New file.
99719         * modules/unictype/property-ids-binary-operator: New file.
99720         * modules/unictype/property-ids-trinary-operator: New file.
99721         * modules/unictype/property-zero-width: New file.
99722         * modules/unictype/property-space: New file.
99723         * modules/unictype/property-non-break: New file.
99724         * modules/unictype/property-iso-control: New file.
99725         * modules/unictype/property-format-control: New file.
99726         * modules/unictype/property-dash: New file.
99727         * modules/unictype/property-hyphen: New file.
99728         * modules/unictype/property-punctuation: New file.
99729         * modules/unictype/property-line-separator: New file.
99730         * modules/unictype/property-paragraph-separator: New file.
99731         * modules/unictype/property-quotation-mark: New file.
99732         * modules/unictype/property-sentence-terminal: New file.
99733         * modules/unictype/property-terminal-punctuation: New file.
99734         * modules/unictype/property-currency-symbol: New file.
99735         * modules/unictype/property-math: New file.
99736         * modules/unictype/property-other-math: New file.
99737         * modules/unictype/property-paired-punctuation: New file.
99738         * modules/unictype/property-left-of-pair: New file.
99739         * modules/unictype/property-combining: New file.
99740         * modules/unictype/property-composite: New file.
99741         * modules/unictype/property-decimal-digit: New file.
99742         * modules/unictype/property-numeric: New file.
99743         * modules/unictype/property-diacritic: New file.
99744         * modules/unictype/property-extender: New file.
99745         * modules/unictype/property-ignorable-control: New file.
99746         * modules/unictype/property-test: New file.
99747         * modules/unictype/property-byname: New file.
99748         * modules/unictype/property-all: New file.
99749         * modules/unictype/scripts: New file.
99750         * modules/unictype/scripts-all: New file.
99751         * modules/unictype/block-of: New file.
99752         * modules/unictype/block-test: New file.
99753         * modules/unictype/block-list: New file.
99754         * modules/unictype/block-all: New file.
99755         * modules/unictype/syntax-c-whitespace: New file.
99756         * modules/unictype/syntax-java-whitespace: New file.
99757         * modules/unictype/syntax-c-ident: New file.
99758         * modules/unictype/syntax-java-ident: New file.
99759         * modules/unictype/ctype-alnum: New file.
99760         * modules/unictype/ctype-alpha: New file.
99761         * modules/unictype/ctype-cntrl: New file.
99762         * modules/unictype/ctype-digit: New file.
99763         * modules/unictype/ctype-graph: New file.
99764         * modules/unictype/ctype-lower: New file.
99765         * modules/unictype/ctype-print: New file.
99766         * modules/unictype/ctype-punct: New file.
99767         * modules/unictype/ctype-space: New file.
99768         * modules/unictype/ctype-upper: New file.
99769         * modules/unictype/ctype-xdigit: New file.
99770         * modules/unictype/ctype-blank: New file.
99771         * lib/unictype/bidi_byname.c: New file.
99772         * lib/unictype/bidi_name.c: New file.
99773         * lib/unictype/bidi_of.c: New file.
99774         * lib/unictype/bidi_test.c: New file.
99775         * lib/unictype/bitmap.h: New file.
99776         * lib/unictype/block_test.c: New file.
99777         * lib/unictype/blocks.c: New file.
99778         * lib/unictype/categ_C.c: New file.
99779         * lib/unictype/categ_Cc.c: New file.
99780         * lib/unictype/categ_Cf.c: New file.
99781         * lib/unictype/categ_Cn.c: New file.
99782         * lib/unictype/categ_Co.c: New file.
99783         * lib/unictype/categ_Cs.c: New file.
99784         * lib/unictype/categ_L.c: New file.
99785         * lib/unictype/categ_Ll.c: New file.
99786         * lib/unictype/categ_Lm.c: New file.
99787         * lib/unictype/categ_Lo.c: New file.
99788         * lib/unictype/categ_Lt.c: New file.
99789         * lib/unictype/categ_Lu.c: New file.
99790         * lib/unictype/categ_M.c: New file.
99791         * lib/unictype/categ_Mc.c: New file.
99792         * lib/unictype/categ_Me.c: New file.
99793         * lib/unictype/categ_Mn.c: New file.
99794         * lib/unictype/categ_N.c: New file.
99795         * lib/unictype/categ_Nd.c: New file.
99796         * lib/unictype/categ_Nl.c: New file.
99797         * lib/unictype/categ_No.c: New file.
99798         * lib/unictype/categ_P.c: New file.
99799         * lib/unictype/categ_Pc.c: New file.
99800         * lib/unictype/categ_Pd.c: New file.
99801         * lib/unictype/categ_Pe.c: New file.
99802         * lib/unictype/categ_Pf.c: New file.
99803         * lib/unictype/categ_Pi.c: New file.
99804         * lib/unictype/categ_Po.c: New file.
99805         * lib/unictype/categ_Ps.c: New file.
99806         * lib/unictype/categ_S.c: New file.
99807         * lib/unictype/categ_Sc.c: New file.
99808         * lib/unictype/categ_Sk.c: New file.
99809         * lib/unictype/categ_Sm.c: New file.
99810         * lib/unictype/categ_So.c: New file.
99811         * lib/unictype/categ_Z.c: New file.
99812         * lib/unictype/categ_Zl.c: New file.
99813         * lib/unictype/categ_Zp.c: New file.
99814         * lib/unictype/categ_Zs.c: New file.
99815         * lib/unictype/categ_and.c: New file.
99816         * lib/unictype/categ_and_not.c: New file.
99817         * lib/unictype/categ_byname.c: New file.
99818         * lib/unictype/categ_name.c: New file.
99819         * lib/unictype/categ_none.c: New file.
99820         * lib/unictype/categ_of.c: New file.
99821         * lib/unictype/categ_or.c: New file.
99822         * lib/unictype/categ_test.c: New file.
99823         * lib/unictype/combining.c: New file.
99824         * lib/unictype/ctype_alnum.c: New file.
99825         * lib/unictype/ctype_alpha.c: New file.
99826         * lib/unictype/ctype_blank.c: New file.
99827         * lib/unictype/ctype_cntrl.c: New file.
99828         * lib/unictype/ctype_digit.c: New file.
99829         * lib/unictype/ctype_graph.c: New file.
99830         * lib/unictype/ctype_lower.c: New file.
99831         * lib/unictype/ctype_print.c: New file.
99832         * lib/unictype/ctype_punct.c: New file.
99833         * lib/unictype/ctype_space.c: New file.
99834         * lib/unictype/ctype_upper.c: New file.
99835         * lib/unictype/ctype_xdigit.c: New file.
99836         * lib/unictype/decdigit.c: New file.
99837         * lib/unictype/digit.c: New file.
99838         * lib/unictype/identsyntaxmap.h: New file.
99839         * lib/unictype/mirror.c: New file.
99840         * lib/unictype/numeric.c: New file.
99841         * lib/unictype/pr_alphabetic.c: New file.
99842         * lib/unictype/pr_ascii_hex_digit.c: New file.
99843         * lib/unictype/pr_bidi_arabic_digit.c: New file.
99844         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
99845         * lib/unictype/pr_bidi_block_separator.c: New file.
99846         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
99847         * lib/unictype/pr_bidi_common_separator.c: New file.
99848         * lib/unictype/pr_bidi_control.c: New file.
99849         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
99850         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
99851         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
99852         * lib/unictype/pr_bidi_european_digit.c: New file.
99853         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
99854         * lib/unictype/pr_bidi_left_to_right.c: New file.
99855         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
99856         * lib/unictype/pr_bidi_other_neutral.c: New file.
99857         * lib/unictype/pr_bidi_pdf.c: New file.
99858         * lib/unictype/pr_bidi_segment_separator.c: New file.
99859         * lib/unictype/pr_bidi_whitespace.c: New file.
99860         * lib/unictype/pr_byname.c: New file.
99861         * lib/unictype/pr_byname.gperf: New file.
99862         * lib/unictype/pr_combining.c: New file.
99863         * lib/unictype/pr_composite.c: New file.
99864         * lib/unictype/pr_currency_symbol.c: New file.
99865         * lib/unictype/pr_dash.c: New file.
99866         * lib/unictype/pr_decimal_digit.c: New file.
99867         * lib/unictype/pr_default_ignorable_code_point.c: New file.
99868         * lib/unictype/pr_deprecated.c: New file.
99869         * lib/unictype/pr_diacritic.c: New file.
99870         * lib/unictype/pr_extender.c: New file.
99871         * lib/unictype/pr_format_control.c: New file.
99872         * lib/unictype/pr_grapheme_base.c: New file.
99873         * lib/unictype/pr_grapheme_extend.c: New file.
99874         * lib/unictype/pr_grapheme_link.c: New file.
99875         * lib/unictype/pr_hex_digit.c: New file.
99876         * lib/unictype/pr_hyphen.c: New file.
99877         * lib/unictype/pr_id_continue.c: New file.
99878         * lib/unictype/pr_id_start.c: New file.
99879         * lib/unictype/pr_ideographic.c: New file.
99880         * lib/unictype/pr_ids_binary_operator.c: New file.
99881         * lib/unictype/pr_ids_trinary_operator.c: New file.
99882         * lib/unictype/pr_ignorable_control.c: New file.
99883         * lib/unictype/pr_iso_control.c: New file.
99884         * lib/unictype/pr_join_control.c: New file.
99885         * lib/unictype/pr_left_of_pair.c: New file.
99886         * lib/unictype/pr_line_separator.c: New file.
99887         * lib/unictype/pr_logical_order_exception.c: New file.
99888         * lib/unictype/pr_lowercase.c: New file.
99889         * lib/unictype/pr_math.c: New file.
99890         * lib/unictype/pr_non_break.c: New file.
99891         * lib/unictype/pr_not_a_character.c: New file.
99892         * lib/unictype/pr_numeric.c: New file.
99893         * lib/unictype/pr_other_alphabetic.c: New file.
99894         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
99895         * lib/unictype/pr_other_grapheme_extend.c: New file.
99896         * lib/unictype/pr_other_id_continue.c: New file.
99897         * lib/unictype/pr_other_id_start.c: New file.
99898         * lib/unictype/pr_other_lowercase.c: New file.
99899         * lib/unictype/pr_other_math.c: New file.
99900         * lib/unictype/pr_other_uppercase.c: New file.
99901         * lib/unictype/pr_paired_punctuation.c: New file.
99902         * lib/unictype/pr_paragraph_separator.c: New file.
99903         * lib/unictype/pr_pattern_syntax.c: New file.
99904         * lib/unictype/pr_pattern_white_space.c: New file.
99905         * lib/unictype/pr_private_use.c: New file.
99906         * lib/unictype/pr_punctuation.c: New file.
99907         * lib/unictype/pr_quotation_mark.c: New file.
99908         * lib/unictype/pr_radical.c: New file.
99909         * lib/unictype/pr_sentence_terminal.c: New file.
99910         * lib/unictype/pr_soft_dotted.c: New file.
99911         * lib/unictype/pr_space.c: New file.
99912         * lib/unictype/pr_terminal_punctuation.c: New file.
99913         * lib/unictype/pr_test.c: New file.
99914         * lib/unictype/pr_titlecase.c: New file.
99915         * lib/unictype/pr_unassigned_code_value.c: New file.
99916         * lib/unictype/pr_unified_ideograph.c: New file.
99917         * lib/unictype/pr_uppercase.c: New file.
99918         * lib/unictype/pr_variation_selector.c: New file.
99919         * lib/unictype/pr_white_space.c: New file.
99920         * lib/unictype/pr_xid_continue.c: New file.
99921         * lib/unictype/pr_xid_start.c: New file.
99922         * lib/unictype/pr_zero_width.c: New file.
99923         * lib/unictype/scripts.c: New file.
99924         * lib/unictype/sy_c_ident.c: New file.
99925         * lib/unictype/sy_c_whitespace.c: New file.
99926         * lib/unictype/sy_java_ident.c: New file.
99927         * lib/unictype/sy_java_whitespace.c: New file.
99929         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
99930         Unicode 5.0.0.
99931         * lib/unictype/blocks.h: Likewise.
99932         * lib/unictype/categ_C.h: Likewise.
99933         * lib/unictype/categ_Cc.h: Likewise.
99934         * lib/unictype/categ_Cf.h: Likewise.
99935         * lib/unictype/categ_Cn.h: Likewise.
99936         * lib/unictype/categ_Co.h: Likewise.
99937         * lib/unictype/categ_Cs.h: Likewise.
99938         * lib/unictype/categ_L.h: Likewise.
99939         * lib/unictype/categ_Ll.h: Likewise.
99940         * lib/unictype/categ_Lm.h: Likewise.
99941         * lib/unictype/categ_Lo.h: Likewise.
99942         * lib/unictype/categ_Lt.h: Likewise.
99943         * lib/unictype/categ_Lu.h: Likewise.
99944         * lib/unictype/categ_M.h: Likewise.
99945         * lib/unictype/categ_Mc.h: Likewise.
99946         * lib/unictype/categ_Me.h: Likewise.
99947         * lib/unictype/categ_Mn.h: Likewise.
99948         * lib/unictype/categ_N.h: Likewise.
99949         * lib/unictype/categ_Nd.h: Likewise.
99950         * lib/unictype/categ_Nl.h: Likewise.
99951         * lib/unictype/categ_No.h: Likewise.
99952         * lib/unictype/categ_P.h: Likewise.
99953         * lib/unictype/categ_Pc.h: Likewise.
99954         * lib/unictype/categ_Pd.h: Likewise.
99955         * lib/unictype/categ_Pe.h: Likewise.
99956         * lib/unictype/categ_Pf.h: Likewise.
99957         * lib/unictype/categ_Pi.h: Likewise.
99958         * lib/unictype/categ_Po.h: Likewise.
99959         * lib/unictype/categ_Ps.h: Likewise.
99960         * lib/unictype/categ_S.h: Likewise.
99961         * lib/unictype/categ_Sc.h: Likewise.
99962         * lib/unictype/categ_Sk.h: Likewise.
99963         * lib/unictype/categ_Sm.h: Likewise.
99964         * lib/unictype/categ_So.h: Likewise.
99965         * lib/unictype/categ_Z.h: Likewise.
99966         * lib/unictype/categ_Zl.h: Likewise.
99967         * lib/unictype/categ_Zp.h: Likewise.
99968         * lib/unictype/categ_Zs.h: Likewise.
99969         * lib/unictype/categ_of.h: Likewise.
99970         * lib/unictype/combining.h: Likewise.
99971         * lib/unictype/ctype_alnum.h: Likewise.
99972         * lib/unictype/ctype_alpha.h: Likewise.
99973         * lib/unictype/ctype_blank.h: Likewise.
99974         * lib/unictype/ctype_cntrl.h: Likewise.
99975         * lib/unictype/ctype_digit.h: Likewise.
99976         * lib/unictype/ctype_graph.h: Likewise.
99977         * lib/unictype/ctype_lower.h: Likewise.
99978         * lib/unictype/ctype_print.h: Likewise.
99979         * lib/unictype/ctype_punct.h: Likewise.
99980         * lib/unictype/ctype_space.h: Likewise.
99981         * lib/unictype/ctype_upper.h: Likewise.
99982         * lib/unictype/ctype_xdigit.h: Likewise.
99983         * lib/unictype/decdigit.h: Likewise.
99984         * lib/unictype/digit.h: Likewise.
99985         * lib/unictype/mirror.h: Likewise.
99986         * lib/unictype/numeric.h: Likewise.
99987         * lib/unictype/pr_alphabetic.h: Likewise.
99988         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
99989         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
99990         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
99991         * lib/unictype/pr_bidi_block_separator.h: Likewise.
99992         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
99993         * lib/unictype/pr_bidi_common_separator.h: Likewise.
99994         * lib/unictype/pr_bidi_control.h: Likewise.
99995         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
99996         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
99997         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
99998         * lib/unictype/pr_bidi_european_digit.h: Likewise.
99999         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
100000         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
100001         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
100002         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
100003         * lib/unictype/pr_bidi_pdf.h: Likewise.
100004         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
100005         * lib/unictype/pr_bidi_whitespace.h: Likewise.
100006         * lib/unictype/pr_combining.h: Likewise.
100007         * lib/unictype/pr_composite.h: Likewise.
100008         * lib/unictype/pr_currency_symbol.h: Likewise.
100009         * lib/unictype/pr_dash.h: Likewise.
100010         * lib/unictype/pr_decimal_digit.h: Likewise.
100011         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
100012         * lib/unictype/pr_deprecated.h: Likewise.
100013         * lib/unictype/pr_diacritic.h: Likewise.
100014         * lib/unictype/pr_extender.h: Likewise.
100015         * lib/unictype/pr_format_control.h: Likewise.
100016         * lib/unictype/pr_grapheme_base.h: Likewise.
100017         * lib/unictype/pr_grapheme_extend.h: Likewise.
100018         * lib/unictype/pr_grapheme_link.h: Likewise.
100019         * lib/unictype/pr_hex_digit.h: Likewise.
100020         * lib/unictype/pr_hyphen.h: Likewise.
100021         * lib/unictype/pr_id_continue.h: Likewise.
100022         * lib/unictype/pr_id_start.h: Likewise.
100023         * lib/unictype/pr_ideographic.h: Likewise.
100024         * lib/unictype/pr_ids_binary_operator.h: Likewise.
100025         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
100026         * lib/unictype/pr_ignorable_control.h: Likewise.
100027         * lib/unictype/pr_iso_control.h: Likewise.
100028         * lib/unictype/pr_join_control.h: Likewise.
100029         * lib/unictype/pr_left_of_pair.h: Likewise.
100030         * lib/unictype/pr_line_separator.h: Likewise.
100031         * lib/unictype/pr_logical_order_exception.h: Likewise.
100032         * lib/unictype/pr_lowercase.h: Likewise.
100033         * lib/unictype/pr_math.h: Likewise.
100034         * lib/unictype/pr_non_break.h: Likewise.
100035         * lib/unictype/pr_not_a_character.h: Likewise.
100036         * lib/unictype/pr_numeric.h: Likewise.
100037         * lib/unictype/pr_other_alphabetic.h: Likewise.
100038         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
100039         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
100040         * lib/unictype/pr_other_id_continue.h: Likewise.
100041         * lib/unictype/pr_other_id_start.h: Likewise.
100042         * lib/unictype/pr_other_lowercase.h: Likewise.
100043         * lib/unictype/pr_other_math.h: Likewise.
100044         * lib/unictype/pr_other_uppercase.h: Likewise.
100045         * lib/unictype/pr_paired_punctuation.h: Likewise.
100046         * lib/unictype/pr_paragraph_separator.h: Likewise.
100047         * lib/unictype/pr_pattern_syntax.h: Likewise.
100048         * lib/unictype/pr_pattern_white_space.h: Likewise.
100049         * lib/unictype/pr_private_use.h: Likewise.
100050         * lib/unictype/pr_punctuation.h: Likewise.
100051         * lib/unictype/pr_quotation_mark.h: Likewise.
100052         * lib/unictype/pr_radical.h: Likewise.
100053         * lib/unictype/pr_sentence_terminal.h: Likewise.
100054         * lib/unictype/pr_soft_dotted.h: Likewise.
100055         * lib/unictype/pr_space.h: Likewise.
100056         * lib/unictype/pr_terminal_punctuation.h: Likewise.
100057         * lib/unictype/pr_titlecase.h: Likewise.
100058         * lib/unictype/pr_unassigned_code_value.h: Likewise.
100059         * lib/unictype/pr_unified_ideograph.h: Likewise.
100060         * lib/unictype/pr_uppercase.h: Likewise.
100061         * lib/unictype/pr_variation_selector.h: Likewise.
100062         * lib/unictype/pr_white_space.h: Likewise.
100063         * lib/unictype/pr_xid_continue.h: Likewise.
100064         * lib/unictype/pr_xid_start.h: Likewise.
100065         * lib/unictype/pr_zero_width.h: Likewise.
100066         * lib/unictype/scripts.h: Likewise.
100067         * lib/unictype/scripts_byname.gperf: Likewise.
100068         * lib/unictype/sy_c_ident.h: Likewise.
100069         * lib/unictype/sy_c_whitespace.h: Likewise.
100070         * lib/unictype/sy_java_ident.h: Likewise.
100071         * lib/unictype/sy_java_whitespace.h: Likewise.
100073         * lib/unictype/Makefile: New file.
100074         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
100075         glibc.
100076         * lib/unictype/3level.h: New file, copied from glibc.
100077         * lib/unictype/3levelbit.h: New file.
100079 2007-11-11  Bruno Haible  <bruno@clisp.org>
100081         * modules/gperf: New file.
100082         * modules/iconv_open (Depends-on): Add it.
100083         (Makefile.am): Remove the GPERF definition.
100085 2007-11-11  Bruno Haible  <bruno@clisp.org>
100087         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
100088         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
100090 2007-11-11  Bruno Haible  <bruno@clisp.org>
100092         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
100093         (usage): Remove function.
100095 2007-11-11  Bruno Haible  <bruno@clisp.org>
100097         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
100098         gl_FUNC_CEILF_LIBS.
100099         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
100100         gl_FUNC_CEIL_LIBS.
100101         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
100102         gl_FUNC_CEILL_LIBS.
100103         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
100104         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
100105         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
100107 2007-11-11  Bruno Haible  <bruno@clisp.org>
100109         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
100110         roundf were declared but do not exist on functions.
100111         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
100112         roundl were declared but do not exist on functions.
100113         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
100114         HAVE_FLOORL_AND_CEILL, respectively.
100115         Needed for Sun C on Solaris 10.
100117 2007-11-11  Bruno Haible  <bruno@clisp.org>
100119         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
100120         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
100121         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
100122         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
100123         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
100124         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
100125         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
100126         HAVE_DECL_ROUNDF.
100127         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
100128         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
100129         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
100130         of HAVE_DECL_ROUND*.
100131         * modules/math (Makefile.am): Update.
100133 2007-11-10  Bruno Haible  <bruno@clisp.org>
100135         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
100136         ptrdiff_t as m4/intl.m4.
100138 2007-11-10  Jim Meyering  <meyering@redhat.com>
100140         Avoid link failure for the argmatch test.
100141         * tests/test-argmatch.c (usage): Define function to avoid a link
100142         failure: argmatch_die requires a usage function.
100144 2007-11-09  Bruno Haible  <bruno@clisp.org>
100146         * doc/functions/snprintf.texi: Mention BeOS deficiency.
100147         * doc/functions/vsnprintf.texi: Likewise.
100148         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
100149         with a size argument < 2.
100151 2007-11-09  Bruno Haible  <bruno@clisp.org>
100153         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
100154         buffer. Fixes an inefficiency introduced on 2007-11-03.
100156 2007-11-09  Bruno Haible  <bruno@clisp.org>
100158         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
100159         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
100161 2007-11-08  Jim Meyering  <meyering@redhat.com>
100163         Change cache variable name prefix "jm_" to "gl_" everywhere.
100164         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
100165         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
100166         * m4/uptime.m4: s/gl_/jm_/
100168 2007-11-07  Bruno Haible  <bruno@clisp.org>
100170         Update to GNU gettext 0.17.
100171         * m4/intl.m4: Update to GNU gettext 0.17.
100172         * m4/po.m4: Likewise.
100173         * modules/gettext (Files): Remove m4/ulonglong.m4.
100174         (configure.ac): Require gettext infrastructure from version 0.17.
100176 2007-11-06  Bruno Haible  <bruno@clisp.org>
100178         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
100179         symbolic values are not defined in a public header.
100180         * lib/freadable.c (freadable) [QNX]: Likewise.
100181         * lib/freadahead.c (freadahead) [QNX]: Likewise.
100182         * lib/freading.c (freading) [QNX]: Likewise.
100183         * lib/fseterr.c (fseterr) [QNX]: Likewise.
100184         * lib/fwritable.c (fwritable) [QNX]: Likewise.
100185         * lib/fwriting.c (fwriting) [QNX]: Likewise.
100186         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
100187         Reported by Alain Magloire.
100189         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
100191 2007-11-05  Bruno Haible  <bruno@clisp.org>
100193         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
100194         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
100195         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
100196         Reported by Eric Blake.
100198 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100199             Bruno Haible  <bruno@clisp.org>
100201         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
100202         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
100203         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
100204         (malloc): Undefine also before including <stdlib.h>.
100205         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
100206         Needed on OSF/1 4.0.
100208 2007-11-05  Jim Meyering  <meyering@redhat.com>
100210         git-version-gen: sync from coreutils.
100211         * build-aux/git-version-gen: Add comments.
100212         Change the first '-' to '.' in the snapshot version string,
100213         e.g., 6.9-377-08144 -> 6.9.377-08144
100214         Remove first parameter.
100215         Don't declare a version "-dirty" merely because a time
100216         stamp has changed.
100218 2007-11-04  Bruno Haible  <bruno@clisp.org>
100220         * lib/lock.h: Protect all macro definitions containing an 'if'
100221         statement through a "do { ... } while (0)".
100222         * lib/tls.h: Likewise.
100224 2007-11-04  Bruno Haible  <bruno@clisp.org>
100226         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
100228 2007-11-04  Bruno Haible  <bruno@clisp.org>
100230         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
100231         * modules/fprintf-posix (Depends-on): Add nocrash.
100232         * modules/snprintf-posix (Depends-on): Likewise.
100233         * modules/sprintf-posix (Depends-on): Likewise.
100234         * modules/vasnprintf-posix (Depends-on): Likewise.
100235         * modules/vasprintf-posix (Depends-on): Likewise.
100236         * modules/vfprintf-posix (Depends-on): Likewise.
100237         * modules/vsnprintf-posix (Depends-on): Likewise.
100238         * modules/vsprintf-posix (Depends-on): Likewise.
100239         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
100240         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
100241         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
100242         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
100243         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
100244         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
100245         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
100247 2007-11-04  Bruno Haible  <bruno@clisp.org>
100249         * modules/nocrash: New file.
100250         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
100251         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
100253 2007-11-04  Bruno Haible  <bruno@clisp.org>
100255         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
100256         precision handling.
100257         * tests/test-vasprintf-posix.c (test_function): Likewise.
100258         * tests/test-snprintf-posix.h (test_function): Likewise.
100259         * tests/test-sprintf-posix.h (test_function): Likewise.
100261         Fix *printf behaviour for large precisions on mingw and BeOS.
100262         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
100263         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
100264         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
100265         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
100266         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
100267         gl_PRINTF_PRECISION and test its result. Invoke
100268         gl_PREREQ_VASNPRINTF_PRECISION.
100269         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
100270         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100271         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100272         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100273         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
100274         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100275         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100276         * doc/functions/fprintf.texi: Update.
100277         * doc/functions/printf.texi: Update.
100278         * doc/functions/snprintf.texi: Update.
100279         * doc/functions/sprintf.texi: Update.
100280         * doc/functions/vfprintf.texi: Update.
100281         * doc/functions/vprintf.texi: Update.
100282         * doc/functions/vsnprintf.texi: Update.
100283         * doc/functions/vsprintf.texi: Update.
100285 2007-11-04  Bruno Haible  <bruno@clisp.org>
100287         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
100289 2007-11-04  Bruno Haible  <bruno@clisp.org>
100291         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
100292         Reported by Sylvain Beucler <beuc@gnu.org>.
100294 2007-11-03  Bruno Haible  <bruno@clisp.org>
100296         * tests/test-fprintf-posix2.sh: New file.
100297         * tests/test-fprintf-posix2.c: New file.
100298         * modules/fprintf-posix-tests (Files): Add them.
100299         (TESTS): Add test-fprintf-posix2.sh.
100300         (configure.ac): Check for getrlimit and setrlimit.
100301         (check_PROGRAMS): Add test-fprintf-posix2.
100303         * tests/test-printf-posix2.sh: New file.
100304         * tests/test-printf-posix2.c: New file.
100305         * modules/printf-posix-tests (Files): Add them.
100306         (TESTS): Add test-printf-posix2.sh.
100307         (configure.ac): Check for getrlimit and setrlimit.
100308         (check_PROGRAMS): Add test-printf-posix2.
100310         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
100311         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
100312         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
100313         (decode_double): New function, copied from decode_long_double.
100314         (scale10_round_decimal_decoded): New function, extracted from
100315         scale10_round_decimal_long_double.
100316         (scale10_round_decimal_long_double): Use it.
100317         (scale10_round_decimal_double): New function.
100318         (floorlog10): New function.
100319         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
100320         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
100321         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
100322         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
100323         gl_PRINTF_ENOMEM and test its result. Invoke
100324         gl_PREREQ_VASNPRINTF_ENOMEM.
100325         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
100326         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100327         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100328         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100329         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
100330         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100331         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100332         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
100333         * modules/snprintf-posix (Depends-on): Likewise.
100334         * modules/sprintf-posix (Depends-on): Likewise.
100335         * modules/vasnprintf-posix (Depends-on): Likewise.
100336         * modules/vasprintf-posix (Depends-on): Likewise.
100337         * modules/vfprintf-posix (Depends-on): Likewise.
100338         * modules/vsnprintf-posix (Depends-on): Likewise.
100339         * modules/vsprintf-posix (Depends-on): Likewise.
100340         * doc/functions/fprintf.texi: Update.
100341         * doc/functions/printf.texi: Update.
100342         * doc/functions/snprintf.texi: Update.
100343         * doc/functions/sprintf.texi: Update.
100344         * doc/functions/vfprintf.texi: Update.
100345         * doc/functions/vprintf.texi: Update.
100346         * doc/functions/vsnprintf.texi: Update.
100347         * doc/functions/vsprintf.texi: Update.
100349 2007-11-03  Bruno Haible  <bruno@clisp.org>
100351         * modules/frexp-nolibm-tests: New file.
100353         * modules/frexp-nolibm: New file.
100354         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
100356 2007-11-03  Bruno Haible  <bruno@clisp.org>
100358         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
100359         value is C99 compliant.
100360         Needed for OSF/1 5.1.
100362 2007-11-03  Bruno Haible  <bruno@clisp.org>
100364         Fix out-of-memory handling of vasnprintf.
100365         * lib/printf-parse.c: Include <errno.h>.
100366         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
100367         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
100368         is already set.
100370 2007-11-02  Eric Blake  <ebb9@byu.net>
100372         Fix tests on cygwin.
100373         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
100375 2007-11-01  Bruno Haible  <bruno@clisp.org>
100377         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
100378         warning.
100379         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
100380         needed for POSIX compatibility.
100382 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
100384         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
100385         for compatibility with GNU.
100387 2007-11-01  Bruno Haible  <bruno@clisp.org>
100389         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
100390         (putenv): Renamed from rpl_putenv. Change argument type from
100391         'const char *' to 'char *'.
100392         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
100393         of defining putenv in config.h, just set REPLACE_PUTENV.
100394         * modules/putenv (Depends-on): Add stdlib.
100395         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
100396         (Include): Use <stdlib.h>.
100397         * lib/stdlib.in.h (putenv): New declaration.
100398         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
100399         REPLACE_PUTENV.
100400         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
100401         REPLACE_PUTENV.
100402         Needed for MacOS X 10.5.0.
100403         Reported by Peter O'Gorman <peter@pogma.com>.
100405 2007-11-01  Jim Meyering  <meyering@redhat.com>
100407         Treat an empty date string exactly like "0".
100408         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
100409         if the remaining date string (to be parsed) is empty, use "0".
100410         Reported by Mischa Molhoek and discussed in this thread:
100411         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
100413 2007-10-31  Bruno Haible  <bruno@clisp.org>
100415         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
100416         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
100417         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
100418         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
100419         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
100420         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
100422 2007-10-31  Bruno Haible  <bruno@clisp.org>
100424         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
100425         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
100426         (AC_TYPE_LONG_LONG_INT): Use it.
100427         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
100428         it as well.
100429         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
100430         to m4/longlong.m4.
100431         * modules/stdint (Files): Remove m4/ulonglong.m4.
100432         * modules/strtoull (Files): Use m4/longlong.m4 instead of
100433         m4/ulonglong.m4.
100434         * modules/strtoumax (Files): Likewise.
100436 2007-10-30  Bruno Haible  <bruno@clisp.org>
100438         * modules/xvasprintf-posix: New file.
100439         Suggested by Eric Blake.
100441 2007-10-30  Bruno Haible  <bruno@clisp.org>
100443         * modules/xprintf-posix-tests: New file.
100444         * tests/test-xprintf-posix.sh: New file.
100445         * tests/test-xprintf-posix.c: New file.
100446         * tests/test-xfprintf-posix.c: New file.
100448         * modules/xprintf-posix: New file.
100450 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100452         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
100453         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
100454         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
100456 2007-10-29  Bruno Haible  <bruno@clisp.org>
100458         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
100459         contain the special marker '_cv_'.
100460         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
100461         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
100462         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
100463         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
100464         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
100465         Reported by Ralf Wildenhues.
100467 2007-10-29  Bruno Haible  <bruno@clisp.org>
100469         * gnulib-tool (func_import): When --lgpl is not specified, set
100470         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
100471         GPLv3.
100472         Reported by Simon Josefsson.
100474 2007-10-28  Bruno Haible  <bruno@clisp.org>
100476         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
100477         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
100478         HAVE_DECL_ISFINITE.
100479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100480         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
100481         HAVE_DECL_ISFINITE.
100483 2007-10-28  Bruno Haible  <bruno@clisp.org>
100485         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
100486         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
100488 2007-10-28  Bruno Haible  <bruno@clisp.org>
100490         Fix link errors with Sun C 5.0 on Solaris 10.
100491         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
100492         function is declared but not present in the compiler's libm.
100493         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
100494         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
100495         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
100496         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
100497         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
100498         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
100499         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
100500         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100501         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
100502         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
100503         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
100504         HAVE_DECL_FLOORL.
100506 2007-10-28  Bruno Haible  <bruno@clisp.org>
100508         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
100509         gl_FUNC_FLOORL. Cache the result.
100510         (gl_FUNC_FLOORL): Use it.
100511         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
100512         gl_FUNC_CEILL. Cache the result.
100513         (gl_FUNC_CEILL): Use it.
100515         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
100516         gl_FUNC_FLOOR. Cache the result.
100517         (gl_FUNC_FLOOR): Use it.
100518         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
100519         gl_FUNC_CEIL. Cache the result.
100520         (gl_FUNC_CEIL): Use it.
100522         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
100523         gl_FUNC_FLOORF. Cache the result.
100524         (gl_FUNC_FLOORF): Use it.
100525         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
100526         gl_FUNC_CEILF. Cache the result.
100527         (gl_FUNC_CEILF): Use it.
100529 2007-10-28  Bruno Haible  <bruno@clisp.org>
100531         * gnulib-tool: Allow specifying the LGPL version number through
100532         --lgpl=2 or --lgpl=3.
100533         (func_usage): Document --lgpl with argument.
100534         Handle --lgpl=... arguments.
100535         (func_import): Recognize also gl_LGPL calls with an argument. When
100536         --lgpl=2 is used and the module's license is just LGPL, report an
100537         error. Set sed_transform_lib_file according to the lgpl variable. In
100538         the generated files, use --lgpl or gl_LGPL invocations with argument,
100539         if necessary.
100540         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
100541         an LGPv2+ license.
100542         * doc/gnulib-tool.texi (Modified imports): Update explanation of
100543         gl_LGPL macro.
100545 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100546             Bruno Haible  <bruno@clisp.org>
100548         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
100549         (u16_uctomb_aux): Likewise.
100550         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
100551         !HAVE_INLINE.
100552         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
100554 2007-10-28  Bruno Haible  <bruno@clisp.org>
100556         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
100557         Invoke AM_GETTEXT_OPTION if it exists.
100558         * modules/vasprintf: Likewise.
100559         * modules/verror: Likewise.
100560         * modules/xprintf: Likewise.
100561         * modules/xvasprintf: Likewise.
100563 2007-10-27  Ben Pfaff  <blp@gnu.org>
100565         * lib/math.in.h: Define isfinite macro and prototypes for
100566         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
100567         implementations.
100568         * m4/math_h.m4: New substitutions for isfinite module.
100569         * lib/isfinite.c: New file.
100570         * m4/isfinite.m4: New file.
100571         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
100572         * modules/isfinite: New file.
100573         * modules/isfinite-tests: New file.
100574         * tests/tests-isfinite.c: New file.
100575         * doc/functions/isfinite.texi: Mention isfinite module.
100576         * MODULES.html.sh: Mention new module.
100578 2007-10-27  Ben Pfaff  <blp@gnu.org>
100580         Ralf Wildenhues reported that Tru64 4.0D declares the round
100581         functions but does not have definitions.
100582         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
100583         cannot be found in any library, set the output variable to
100584         "missing" instead of "".
100585         * m4/round.m4: Also use our substitute if we cannot find round in
100586         any library, even if it is declared.
100587         * m4/roundf.m4: Likewise for roundf.
100588         * m4/roundl.m4: Likewise for roundl.
100589         * lib/math.in.h: Undefine roundf, round, roundl before defining
100590         their replacements, to allow for hypothetical systems where these
100591         may be defined as macros but not available in libraries.
100593 2007-10-27  Bruno Haible  <bruno@clisp.org>
100595         * doc/gnulib.texi: Invoke @firstparagraphindent.
100596         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
100597         changes in gnulib.
100598         (Source changes): New section.
100600 2007-10-26  Bruno Haible  <bruno@clisp.org>
100602         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
100603         borrowed from autoconf.
100605 2007-10-26  Bruno Haible  <bruno@clisp.org>
100607         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
100608         strerror returned the empty string. Needed on HP-UX 11.00.
100610 2007-10-24  Micah Cowan  <micah@cowan.name>
100612         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
100613         * build-aux/bootstrap: Remove support for now-unnecessary option,
100614         --cvs-user, and envvars CVS_USER, CVS_RSH.
100616 2007-10-24  Jim Meyering  <meyering@redhat.com>
100618         Avoid diagnostics from sha1sum when there is no cached checksum.
100619         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
100620         if the po.s1 file hasn't been created yet.
100622         * build-aux/bootstrap: Sync from coreutils:
100623         2007-10-24  Jim Meyering  <meyering@redhat.com>
100624         Get gnulib from the git repository, not from an obsolete cvs one.
100625         * build-aux/bootstrap: Suggestion from Micah Cowan.
100626         2007-10-04  Jim Meyering  <jim@meyering.net>
100627         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
100628         (update_po_files): Work also when there are no .po files in po/.
100630 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
100632         * README: Append ".git" to git and cg examples.
100633         Problem reported by Benoit Sigoure.
100635 2007-10-23  Micah Cowan  <micah@cowan.name>
100637         * users.txt: Add wget.
100639 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100641         Fix linking of some unistdio tests on FreeBSD.
100642         * modules/unistdio/u16-vsnprintf-tests
100643         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
100644         * modules/unistdio/u16-vsprintf-tests
100645         (test_u16_vsnprintf1_LDADD): Likewise.
100646         * modules/unistdio/u32-vsnprintf-tests
100647         (test_u32_vsnprintf1_LDADD): Likewise.
100648         * modules/unistdio/u32-vsprintf-tests
100649         (test_u32_vsprintf1_LDADD): Likewise.
100650         * modules/unistdio/u8-vsnprintf-tests
100651         (test_u8_vsnprintf1_LDADD): Likewise.
100652         * modules/unistdio/u8-vsprintf-tests
100653         (test_u8_vsprintf1_LDADD): Likewise.
100654         * modules/unistdio/ulc-vsnprintf-tests
100655         (test_ulc_vsnprintf1_LDADD): Likewise.
100656         * modules/unistdio/ulc-vsprintf-tests
100657         (test_ulc_vsprintf1_LDADD): Likewise.
100659         Fix linking of some uniconv tests on FreeBSD.
100660         * modules/uniconv/u16-conv-from-enc-tests
100661         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
100662         * modules/uniconv/u16-conv-to-enc-tests
100663         (test_u16_conv_to_enc_LDADD): Likewise.
100664         * modules/uniconv/u16-strconv-from-enc-tests
100665         (test_u16_strconv_from_enc_LDADD): Likewise.
100666         * modules/uniconv/u16-strconv-to-enc-tests
100667         (test_u16_strconv_to_enc_LDADD): Likewise.
100668         * modules/uniconv/u32-conv-from-enc-tests
100669         (test_u32_conv_from_enc_LDADD): Likewise.
100670         * modules/uniconv/u32-conv-to-enc-tests
100671         (test_u32_conv_to_enc_LDADD): Likewise.
100672         * modules/uniconv/u32-strconv-from-enc-tests
100673         (test_u32_strconv_from_enc_LDADD): Likewise.
100674         * modules/uniconv/u32-strconv-to-enc-tests
100675         (test_u32_strconv_to_enc_LDADD): Likewise.
100676         * modules/uniconv/u8-conv-from-enc-tests
100677         (test_u8_conv_from_enc_LDADD): Likewise.
100678         * modules/uniconv/u8-conv-to-enc-tests
100679         (test_u8_conv_to_enc_LDADD): Likewise.
100680         * modules/uniconv/u8-strconv-from-enc-tests
100681         (test_u8_strconv_from_enc_LDADD): Likewise.
100682         * modules/uniconv/u8-strconv-to-enc-tests
100683         (test_u8_strconv_to_enc_LDADD): Likewise.
100685 2007-10-22  Bruno Haible  <bruno@clisp.org>
100687         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
100688         size.
100690 2007-10-22  Eric Blake  <ebb9@byu.net>
100692         Tweak x*printf documentation.
100693         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
100694         variable name and comments.
100695         Suggested by Bruno Haible.
100697 2007-10-22  Bruno Haible  <bruno@clisp.org>
100699         * lib/acl.c (copy_acl): Fix file name in comment.
100701 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100703         Fix Tru64 problem with stdbool.h.
100704         * lib/stdbool.in.h (false, true):
100705         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
100706         Don't declare as an enum in this situation; it runs afoul of Tru64.
100707         Problem reported by Steven M. Schweda in
100708         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
100710 2007-10-22  Eric Blake  <ebb9@byu.net>
100712         Also wrap vf?printf.
100713         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
100714         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
100715         (xvprintf, xvfprintf): New functions.
100717 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100719         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
100720         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
100722         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
100723         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
100725 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100727         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
100728         by Bruno Haible.
100730 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100732         * lib/getloadavg.c
100733         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
100734         Undef `sys' after including sys/table.h, for Tru64 4.0D.
100736         * tests/test-i-ring.c: Work for C89.
100738 2007-10-22  Bruno Haible  <bruno@clisp.org>
100740         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
100741         -1u, in preprocessor expression, so that we don't test for the bug
100742         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
100743         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
100745 2007-10-22  Eric Blake  <ebb9@byu.net>
100747         * tests/test-yesno.sh: Silence stderr during test.
100749 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100751         * modules/crypto/gc-camellia: New file.
100753         * m4/gc-camellia.m4: New file.
100755         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
100757         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
100759 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100761         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
100762         --help to stdout.  Reported by sms@antinode.org (Steven
100763         M. Schweda).
100765 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100767         * users.txt: Fix link to libksba.
100769 2007-10-21  Ben Pfaff  <blp@gnu.org>
100771         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
100772         round.c roundf implementation that depends on floorf and ceilf to
100773         be tested unconditionally.
100775 2007-10-21  Ben Pfaff  <blp@gnu.org>
100777         * m4/check-libm-func.m4: Removed.
100778         * m4/check-math-lib.m4: New file.
100779         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
100780         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
100781         definition and lack of AC_LIBOBJ([roundf]).
100782         * m4/roundl.m4: Ditto, and similarly for roundl.
100783         * modules/round: Reference new m4 file.
100784         * modules/roundf: Ditto.
100785         * modules/roundl: Ditto.
100786         * tests/test-round2.c (main): Use ROUND instead of round.
100787         Bug report from Bruno Haible.
100789 2007-10-21  Bruno Haible  <bruno@clisp.org>
100791         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
100792         context.
100794 2007-10-21  Bruno Haible  <bruno@clisp.org>
100796         * tests/test-wcwidth.c (main): Allow negative result for some control
100797         characters.
100799         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
100800         Needed on OSF/1 5.1.
100802 2007-10-21  Bruno Haible  <bruno@clisp.org>
100804         * tests/test-floorf1.c: Include isnanf.h.
100805         (main): Use isnanf() instead of isnan().
100806         * tests/test-ceilf1.c: Include isnanf.h.
100807         (main): Use isnanf() instead of isnan().
100808         * tests/test-truncf1.c: Include isnanf.h.
100809         (main): Use isnanf() instead of isnan().
100810         * tests/test-roundf1.c: Include isnanf.h.
100811         (main): Use isnanf() instead of isnan().
100813 2007-10-21  Eric Blake  <ebb9@byu.net>
100815         * users.txt: Update URL for m4.
100817 2007-10-21  Bruno Haible  <bruno@clisp.org>
100819         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
100821 2007-10-21  Bruno Haible  <bruno@clisp.org>
100823         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
100824         Git's management files if the CVS files are not present.
100826 2007-10-20  Bruno Haible  <bruno@clisp.org>
100828         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
100829         gcc-3.4.x.
100831 2007-10-20  Ben Pfaff  <blp@gnu.org>
100833         * lib/math.in.h: Declare round, roundf, roundl if we are providing
100834         implementations.
100835         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
100836         * lib/round.c: New file.
100837         * lib/roundf.c: New file.
100838         * lib/roundl.c: New file.
100839         * m4/round.m4: New file.
100840         * m4/roundf.m4: New file.
100841         * m4/roundl.m4: New file.
100842         * m4/check-libm-func-m4: New file.
100843         * modules/math: Replace round, roundf, roundl related @VARS@ in
100844         math.in.h.
100845         * modules/round: New file.
100846         * modules/round-tests: New file.
100847         * modules/roundf: New file.
100848         * modules/roundf-tests: New file.
100849         * modules/roundl: New file.
100850         * modules/roundl-tests: New file.
100851         * tests/test-round1.c: New file.
100852         * tests/test-round2.c: New file.
100853         * tests/test-roundf1.c: New file.
100854         * tests/test-roundf2.c: New file.
100855         * tests/test-roundl.c: New file.
100856         * doc/functions/round.texi: Mention round module.
100857         * doc/functions/roundf.texi: Mention roundf module.
100858         * doc/functions/roundl.texi: Mention roundl module.
100859         * MODULES.html.sh: Mention new modules.
100860         Thanks to Bruno Haible for suggestions.
100862 2007-10-20  Jim Meyering  <meyering@redhat.com>
100864         * lib/xprintf.c: Include <config.h> unconditionally.
100866         Change xprintf's license to GPL.
100867         * modules/xprintf (License): s/LGPL/GPL/, since this module
100868         depends on modules (exit and exitfail) which are GPL.
100869         Suggestion from Bruno Haible.
100871         xprintf fixes.
100872         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
100873         Use a clearer diagnostic.
100874         Patch from Bruno Haible.
100876 2007-10-20  Bruno Haible  <bruno@clisp.org>
100878         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
100879         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
100880         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100882 2007-10-20  Bruno Haible  <bruno@clisp.org>
100884         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
100885         precision in the comparison result > x - 1 or similar.
100886         * tests/test-ceilf2.c (correct_result_p): Likewise.
100887         * tests/test-truncf2.c (correct_result_p): Likewise.
100888         * tests/test-trunc2.c (correct_result_p): Likewise.
100889         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100891 2007-10-20  Bruno Haible  <bruno@clisp.org>
100893         * modules/ceil: New file.
100894         * m4/ceil.m4: New file.
100895         * doc/functions/ceil.texi: Mention the 'ceil' module.
100897 2007-10-20  Bruno Haible  <bruno@clisp.org>
100899         * modules/floor: New file.
100900         * m4/floor.m4: New file.
100901         * doc/functions/floor.texi: Mention the 'floor' module.
100903 2007-10-20  Bruno Haible  <bruno@clisp.org>
100905         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
100906         of %a.
100907         * modules/floorf-tests (Depends-on): Likewise.
100908         * modules/truncf-tests (Depends-on): Likewise.
100909         * modules/trunc-tests (Depends-on): Likewise.
100910         Reported by Ben Pfaff.
100912 2007-10-19  Jim Meyering  <meyering@redhat.com>
100914         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
100915         Don't bother testing specific errno values.  Just test ferror.
100917         New module: xprintf
100918         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
100920 2007-10-19  Bruno Haible  <bruno@clisp.org>
100922         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
100923         syntax.
100924         * modules/javaexec (Makefile.am): Likewise.
100925         * modules/relocatable-prog (Makefile.am): Likewise.
100926         Suggested by Jim Meyering.
100928 2007-10-18  Bruno Haible  <bruno@clisp.org>
100930         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
100931         Reported by Jim Meyering.
100933 2007-10-18  Eric Blake  <ebb9@byu.net>
100935         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
100937 2007-10-18  Bruno Haible  <bruno@clisp.org>
100939         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
100940         the format string into writable memory. Needed in Fortify conditions.
100942 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
100943             Bruno Haible  <bruno@clisp.org>
100945         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
100946         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
100947         * modules/trim (Depends-on): Add mbchar.
100948         (configure.ac): Add gl_FUNC_MBRTOWC.
100949         (Makefile.am): Augment lib_SOURCES.
100951 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
100953         Modify glob.c to use fstatat and dirfd, to simplify it.
100954         Suggested by Eric Blake.
100955         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
100956         Don't include <stdbool.h>; not used.
100957         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
100958         (link_exists_p): Simplify implementation, since we can now assume
100959         dirfd and fstatat.
100960         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
100962 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100964         * gnulib-tool (func_get_dependencies): Fix sed script to
100965         match only tests.
100967 2007-10-17  Bruno Haible  <bruno@clisp.org>
100969         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
100970         allow locale names without encoding suffix.
100971         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
100972         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
100974 2007-10-16  Bruno Haible  <bruno@clisp.org>
100976         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
100977         * lib/getgroups.c (getgroups): Likewise.
100978         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
100980 2007-10-16  Bruno Haible  <bruno@clisp.org>
100982         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
100983         * modules/malloc-posix (License): Likewise.
100984         * modules/realloc-posix (License): Likewise.
100985         * modules/calloc-posix (License): Likewise.
100986         * modules/intprops (License): Change from GPL to LGPL, with
100987         Paul Eggert's approval.
100989 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100991         Merge glibc changes into lib/glob.c.
100993         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
100994         2007-10-15 04:59:03 UTC.  Here are the changes:
100996         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
100998         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
101000         * lib/glob.c: Add some branch prediction throughout.
101002         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
101004         [BZ #5103]
101005         * lib/glob.c (glob): Recognize patterns starting \/.
101007         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
101009         [BZ #3996]
101010         * lib/glob.c (attribute_hidden): Define if not defined.
101011         (glob): Unescape dirname, filename or username when needed and not
101012         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
101013         is NULL.  Handle unescaped [ in pattern without closing ].
101014         Don't pass GLOB_CHECK down to recursive glob for directories.
101015         (__glob_pattern_type): New function.
101016         (__glob_pattern_p): Implement using __glob_pattern_type.
101017         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
101018         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
101019         Remove unreachable code.
101021         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
101023         * lib/glob.c (glob_in_dir): Add some comments and asserts to
101024         explain why there are no leaks.
101026         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
101028         [BZ #3253]
101029         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
101030         time, rather allocate increasingly bigger arrays of pointers, if
101031         possible with alloca, if too large with malloc.
101033 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
101035         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
101036         Problem reported by H.Merijn Brand in
101037         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
101038         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
101039         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
101041 2007-10-15  Bruno Haible  <bruno@clisp.org>
101043         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
101044         with explicit rpl_ prefix.
101045         * lib/fopen.c (fopen): Likewise.
101046         * lib/freopen.c (freopen): Likewise.
101047         * lib/iconv.c (iconv): Likewise.
101048         * lib/iconv_close.c (iconv_close): Likewise.
101050 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101052         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
101054 2007-10-15  Bruno Haible  <bruno@clisp.org>
101056         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
101057         <stddef.h> instead of <stdlib.h> since we only need NULL.
101058         Reported by Ben Pfaff <blp@cs.stanford.edu>.
101060 2007-10-15  Bruno Haible  <bruno@clisp.org>
101062         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
101063         Replace paragraph talking about LIBOBJS.
101064         Reported by Colin Watson <cjwatson@debian.org>.
101066 2007-10-15  Bruno Haible  <bruno@clisp.org>
101068         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
101069         <stdlib.h> before using NULL.
101071 2007-10-15  Simon Josefsson  <simon@josefsson.org>
101073         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
101074         Reported by Albert Chin <china@thewrittenword.com>.
101076 2007-10-14  Bruno Haible  <bruno@clisp.org>
101078         * modules/iconv_open-utf-tests: New file.
101079         * tests/test-iconv-utf.c: New file.
101081         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
101082         * modules/iconv_open-utf: New file.
101083         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
101084         (iconv, iconv_close): New declarations.
101085         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
101086         be defined.
101087         (iconv_open): Add special handling of conversion between UTF-8 and
101088         UTF-{16,32}{BE,LE}.
101089         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
101090         * lib/iconv_close.c: New file.
101091         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
101092         gl_FUNC_ICONV_OPEN.
101093         (gl_FUNC_ICONV_OPEN): Use it.
101094         (gl_FUNC_ICONV_OPEN_UTF): New macro.
101095         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
101096         and REPLACE_ICONV_UTF.
101097         * modules/iconv_open (Depends-on): Add c-strcase.
101098         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
101099         ICONV_CONST.
101100         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
101102 2007-10-13  Albert Chin  <china@thewrittenword.com>
101103             Bruno Haible  <bruno@clisp.org>
101105         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
101106         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
101108 2007-10-13  Bruno Haible  <bruno@clisp.org>
101110         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
101111         defined, use the ISO C99 inline semantics.
101112         * lib/argp.h (ARGP_EI): Likewise.
101114 2007-10-13  Bruno Haible  <bruno@clisp.org>
101116         Handle 'inline' change in gcc 4.3.0.
101117         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
101118         argp_fmtstream_write, argp_fmtstream_set_lmargin,
101119         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
101120         argp_fmtstream_point): Disable 'extern' declaration if the function
101121         definition is going to be provided inline.
101122         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
101123         semantics, not the ISO C99 inline semantics.
101124         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
101125         'extern' declaration if the function definition is going to be provided
101126         inline.
101127         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
101128         the GNU C inline semantics, not the ISO C99 inline semantics. With
101129         GCC 4.2, avoid a warning.
101131 2007-10-13  Bruno Haible  <bruno@clisp.org>
101133         * lib/freading.h (freading): Enable the use of __freading for
101134         glibc >= 2.7.
101135         * lib/freading.c (freading): Likewise.
101137 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
101139         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
101140         "warning: C99 inline functions are not supported; using GNU89".
101142 2007-10-12  Bruno Haible  <bruno@clisp.org>
101144         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
101145         of 2.
101146         * tests/test-ceilf2.c: New file.
101147         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
101149         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
101150         * modules/ceilf-tests: Update.
101152 2007-10-12  Bruno Haible  <bruno@clisp.org>
101154         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
101155         of 2.
101156         * tests/test-floorf2.c: New file.
101157         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
101159         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
101160         * modules/floorf-tests: Update.
101162 2007-10-12  Bruno Haible  <bruno@clisp.org>
101164         * tests/test-trunc2.c: New file.
101165         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
101167         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
101168         * modules/trunc-tests: Update.
101170 2007-10-12  Bruno Haible  <bruno@clisp.org>
101172         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
101173         of 2.
101174         * tests/test-truncf2.c: New file.
101175         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
101177         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
101178         * modules/truncf-tests: Update.
101180 2007-10-11  Eric Blake  <ebb9@byu.net>
101182         Don't claim strerror is broken on Interix.
101183         * doc/functions/strerror.texi (strerror): Known broken systems are
101184         now Solaris 8, and not Interix.
101185         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
101186         Interix on cross-compile.
101187         Reported by Martin Koeppe in
101188         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
101190 2007-10-11  Bruno Haible  <bruno@clisp.org>
101192         * modules/i-ring-tests: New file.
101193         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
101194         instead of assert.
101196 2007-10-11  Bruno Haible  <bruno@clisp.org>
101198         * modules/filenamecat-tests: New file.
101199         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
101200         * lib/filenamecat.c: Remove test code.
101202 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
101204         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
101206         * lib/strerror.c: Include <string.h> always, to test interface,
101207         and to remove the need for the dummy.
101208         Include intprops.h to compute width instead of doing it ourselves
101209         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
101210         (strerror): Define it to return NULL if there's no system strerror.
101211         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
101212         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
101213         ancient pre-strerror Unix systems well any more.  Saying "unknown
101214         system error" is enough.
101215         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
101216         simpler strerror.c implementation.
101217         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
101218         Simplify the tests to reflect the simpler strerror implementation.
101219         * modules/strerror (Depends-on): Add intprops.
101221 2007-10-09  Eric Blake  <ebb9@byu.net>
101223         Silence test-fpending.
101224         * modules/fpending-tests (Files): Add wrapper script.
101225         * tests/test-fpending.sh: New file.
101227 2007-10-09  Bruno Haible  <bruno@clisp.org>
101229         * MODULES.html.sh (func_module): Don't create a hyperlink for
101230         function names like 'printf_frexp'.
101231         (Misc): Add crc, memxor.
101232         (Characteristics of floating types): New section.
101233         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
101234         isnanf-nolibm, signbit, trunc, truncf, truncl.
101235         (Enhancements for ISO C 99 functions): New subsection Input/output.
101236         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
101237         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
101238         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
101239         (Compatibility checks for POSIX:2001 functions): Add clock-time.
101240         (Enhancements for POSIX:2001 functions): Add chdir-long.
101241         (File system functions): Add areadlink, chdir-safer, read-file.
101242         Remove cycle-check.
101243         (File system as inode set): New section.
101244         (Date and time): Add gethrxtime.
101245         (Multithreading): Add openmp.
101246         (Internationalization functions): Add localename.
101247         (Unicode string functions): Add unistr/u*-mbsnlen.
101248         (Support for maintaining and releasing projects): Add git-version-gen.
101249         (Lone files): Remove directories.
101251 2007-10-08  Ben Pfaff  <blp@gnu.org>
101253         * lib/xmalloca.h: Fix typo in comment.
101255 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
101257         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
101258         when avoiding problems with integer overflow.  Use a portable test
101259         instead.
101261 2007-10-08  Simon Josefsson  <simon@josefsson.org>
101263         * modules/dummy (License): Change to LGPLv2+.
101264         * modules/float (License): Likewise
101265         * modules/realloc (License): Likewise
101266         * modules/stdlib (License): Likewise
101268 2007-10-07  Bruno Haible  <bruno@clisp.org>
101270         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
101271         * floor.c (TWO_MANT_DIG): Likewise.
101272         * ceil.c (TWO_MANT_DIG): Likewise.
101273         Reported by Ben Pfaff.
101275 2007-10-07  Bruno Haible  <bruno@clisp.org>
101277         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
101278         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
101279         * lib/frexp.c (FUNC): Likewise.
101280         * lib/printf-frexp.h (printf_frexp): Likewise.
101281         * lib/printf-frexpl.h (printf_frexpl): Likewise.
101282         * lib/printf-frexp.c (FUNC): Likewise.
101283         Suggested by Jim Meyering.
101285 2007-10-07  Jim Meyering  <meyering@redhat.com>
101287         Make xnanosleep's integer overflow test more robust.
101288         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
101289         so that gcc-4.3.0 doesn't optimize away this test for overflow.
101291 2007-10-07  Bruno Haible  <bruno@clisp.org>
101293         * NEWS: Mention the license change.
101295         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
101296         abbreviations in the modules files.
101298         Change copyright notice from GPLv2+ to GPLv3+.
101299         * README: Change copyright notice.
101300         * MODULES.html.sh: Likewise.
101301         * build-aux/bootstrap.conf: Likewise.
101302         * build-aux/config.libpath: Likewise.
101303         * build-aux/csharpcomp.sh.in: Likewise.
101304         * build-aux/csharpexec.sh.in: Likewise.
101305         * build-aux/install-reloc: Likewise.
101306         * build-aux/javacomp.sh.in: Likewise.
101307         * build-aux/javaexec.sh.in: Likewise.
101308         * build-aux/ldd.sh.in: Likewise.
101309         * build-aux/reloc-ldflags: Likewise.
101310         * build-aux/relocatable.sh.in: Likewise.
101311         * build-aux/x-to-1.in: Likewise.
101312         * check-module: Likewise.
101313         * config/srclistvars.sh: Likewise.
101314         * gnulib-tool: Likewise.
101315         * lib/acl-internal.h: Likewise.
101316         * lib/acl.c: Likewise.
101317         * lib/acl.h: Likewise.
101318         * lib/acl_entries.c: Likewise.
101319         * lib/areadlink-with-size.c: Likewise.
101320         * lib/areadlink.c: Likewise.
101321         * lib/areadlink.h: Likewise.
101322         * lib/argmatch.c: Likewise.
101323         * lib/argmatch.h: Likewise.
101324         * lib/argp-ba.c: Likewise.
101325         * lib/argp-eexst.c: Likewise.
101326         * lib/argp-fmtstream.c: Likewise.
101327         * lib/argp-fmtstream.h: Likewise.
101328         * lib/argp-fs-xinl.c: Likewise.
101329         * lib/argp-help.c: Likewise.
101330         * lib/argp-namefrob.h: Likewise.
101331         * lib/argp-parse.c: Likewise.
101332         * lib/argp-pin.c: Likewise.
101333         * lib/argp-pv.c: Likewise.
101334         * lib/argp-pvh.c: Likewise.
101335         * lib/argp-xinl.c: Likewise.
101336         * lib/argp.h: Likewise.
101337         * lib/at-func.c: Likewise.
101338         * lib/atanl.c: Likewise.
101339         * lib/backupfile.c: Likewise.
101340         * lib/backupfile.h: Likewise.
101341         * lib/basename.c: Likewise.
101342         * lib/binary-io.h: Likewise.
101343         * lib/byteswap.in.h: Likewise.
101344         * lib/c-stack.c: Likewise.
101345         * lib/c-stack.h: Likewise.
101346         * lib/c-strcasestr.c: Likewise.
101347         * lib/c-strcasestr.h: Likewise.
101348         * lib/c-strstr.c: Likewise.
101349         * lib/c-strstr.h: Likewise.
101350         * lib/c-strtod.c: Likewise.
101351         * lib/calloc.c: Likewise.
101352         * lib/canon-host.c: Likewise.
101353         * lib/canon-host.h: Likewise.
101354         * lib/canonicalize-lgpl.c: Likewise.
101355         * lib/canonicalize.c: Likewise.
101356         * lib/canonicalize.h: Likewise.
101357         * lib/ceil.c: Likewise.
101358         * lib/ceilf.c: Likewise.
101359         * lib/ceill.c: Likewise.
101360         * lib/chdir-long.c: Likewise.
101361         * lib/chdir-long.h: Likewise.
101362         * lib/chdir-safer.c: Likewise.
101363         * lib/chdir-safer.h: Likewise.
101364         * lib/chown.c: Likewise.
101365         * lib/classpath.c: Likewise.
101366         * lib/classpath.h: Likewise.
101367         * lib/clean-temp.c: Likewise.
101368         * lib/clean-temp.h: Likewise.
101369         * lib/cloexec.c: Likewise.
101370         * lib/close-stream.c: Likewise.
101371         * lib/closein.c: Likewise.
101372         * lib/closein.h: Likewise.
101373         * lib/closeout.c: Likewise.
101374         * lib/closeout.h: Likewise.
101375         * lib/concat-filename.c: Likewise.
101376         * lib/copy-file.c: Likewise.
101377         * lib/copy-file.h: Likewise.
101378         * lib/count-one-bits.h: Likewise.
101379         * lib/crc.c: Likewise.
101380         * lib/crc.h: Likewise.
101381         * lib/creat-safer.c: Likewise.
101382         * lib/csharpcomp.c: Likewise.
101383         * lib/csharpcomp.h: Likewise.
101384         * lib/csharpexec.c: Likewise.
101385         * lib/csharpexec.h: Likewise.
101386         * lib/cycle-check.c: Likewise.
101387         * lib/cycle-check.h: Likewise.
101388         * lib/diacrit.c: Likewise.
101389         * lib/diacrit.h: Likewise.
101390         * lib/diffseq.h: Likewise.
101391         * lib/dirchownmod.c: Likewise.
101392         * lib/dirent.in.h: Likewise.
101393         * lib/dirfd.c: Likewise.
101394         * lib/dirfd.h: Likewise.
101395         * lib/dirname.c: Likewise.
101396         * lib/dirname.h: Likewise.
101397         * lib/dummy.c: Likewise.
101398         * lib/dup-safer.c: Likewise.
101399         * lib/dup2.c: Likewise.
101400         * lib/eealloc.h: Likewise.
101401         * lib/error.c: Likewise.
101402         * lib/error.h: Likewise.
101403         * lib/euidaccess.c: Likewise.
101404         * lib/exclude.c: Likewise.
101405         * lib/exclude.h: Likewise.
101406         * lib/execute.c: Likewise.
101407         * lib/execute.h: Likewise.
101408         * lib/exitfail.c: Likewise.
101409         * lib/exitfail.h: Likewise.
101410         * lib/expl.c: Likewise.
101411         * lib/fatal-signal.c: Likewise.
101412         * lib/fatal-signal.h: Likewise.
101413         * lib/fbufmode.c: Likewise.
101414         * lib/fbufmode.h: Likewise.
101415         * lib/fchdir.c: Likewise.
101416         * lib/fchmodat.c: Likewise.
101417         * lib/fchownat.c: Likewise.
101418         * lib/fcntl--.h: Likewise.
101419         * lib/fcntl-safer.h: Likewise.
101420         * lib/fcntl.in.h: Likewise.
101421         * lib/fd-safer.c: Likewise.
101422         * lib/fflush.c: Likewise.
101423         * lib/file-has-acl.c: Likewise.
101424         * lib/file-set.c: Likewise.
101425         * lib/file-type.c: Likewise.
101426         * lib/file-type.h: Likewise.
101427         * lib/fileblocks.c: Likewise.
101428         * lib/filemode.c: Likewise.
101429         * lib/filemode.h: Likewise.
101430         * lib/filename.h: Likewise.
101431         * lib/filenamecat.c: Likewise.
101432         * lib/filenamecat.h: Likewise.
101433         * lib/findprog.c: Likewise.
101434         * lib/findprog.h: Likewise.
101435         * lib/float.in.h: Likewise.
101436         * lib/floor.c: Likewise.
101437         * lib/floorf.c: Likewise.
101438         * lib/floorl.c: Likewise.
101439         * lib/fopen-safer.c: Likewise.
101440         * lib/fopen.c: Likewise.
101441         * lib/fpending.c: Likewise.
101442         * lib/fpending.h: Likewise.
101443         * lib/fprintf.c: Likewise.
101444         * lib/fprintftime.h: Likewise.
101445         * lib/fpucw.h: Likewise.
101446         * lib/fpurge.c: Likewise.
101447         * lib/fpurge.h: Likewise.
101448         * lib/freadable.c: Likewise.
101449         * lib/freadable.h: Likewise.
101450         * lib/freadahead.c: Likewise.
101451         * lib/freadahead.h: Likewise.
101452         * lib/freading.c: Likewise.
101453         * lib/freading.h: Likewise.
101454         * lib/free.c: Likewise.
101455         * lib/freopen.c: Likewise.
101456         * lib/frexp.c: Likewise.
101457         * lib/frexpl.c: Likewise.
101458         * lib/fseek.c: Likewise.
101459         * lib/fseterr.c: Likewise.
101460         * lib/fseterr.h: Likewise.
101461         * lib/fstatat.c: Likewise.
101462         * lib/fstrcmp.c: Likewise.
101463         * lib/fstrcmp.h: Likewise.
101464         * lib/fsusage.c: Likewise.
101465         * lib/fsusage.h: Likewise.
101466         * lib/ftell.c: Likewise.
101467         * lib/ftello.c: Likewise.
101468         * lib/fts-cycle.c: Likewise.
101469         * lib/fts.c: Likewise.
101470         * lib/fts_.h: Likewise.
101471         * lib/full-read.c: Likewise.
101472         * lib/full-read.h: Likewise.
101473         * lib/full-write.c: Likewise.
101474         * lib/full-write.h: Likewise.
101475         * lib/fwritable.c: Likewise.
101476         * lib/fwritable.h: Likewise.
101477         * lib/fwriteerror.c: Likewise.
101478         * lib/fwriteerror.h: Likewise.
101479         * lib/fwriting.c: Likewise.
101480         * lib/fwriting.h: Likewise.
101481         * lib/gcd.c: Likewise.
101482         * lib/gcd.h: Likewise.
101483         * lib/getcwd.c: Likewise.
101484         * lib/getdate.h: Likewise.
101485         * lib/getdate.y: Likewise.
101486         * lib/getdomainname.c: Likewise.
101487         * lib/getdomainname.h: Likewise.
101488         * lib/getgroups.c: Likewise.
101489         * lib/gethostname.c: Likewise.
101490         * lib/gethrxtime.c: Likewise.
101491         * lib/gethrxtime.h: Likewise.
101492         * lib/getloadavg.c: Likewise.
101493         * lib/getndelim2.c: Likewise.
101494         * lib/getndelim2.h: Likewise.
101495         * lib/getnline.c: Likewise.
101496         * lib/getnline.h: Likewise.
101497         * lib/getopt.c: Likewise.
101498         * lib/getopt.in.h: Likewise.
101499         * lib/getopt1.c: Likewise.
101500         * lib/getopt_int.h: Likewise.
101501         * lib/getpagesize.h: Likewise.
101502         * lib/getsubopt.c: Likewise.
101503         * lib/gettime.c: Likewise.
101504         * lib/getugroups.c: Likewise.
101505         * lib/getugroups.h: Likewise.
101506         * lib/getusershell.c: Likewise.
101507         * lib/gl_anyavltree_list1.h: Likewise.
101508         * lib/gl_anyavltree_list2.h: Likewise.
101509         * lib/gl_anyhash_list1.h: Likewise.
101510         * lib/gl_anyhash_list2.h: Likewise.
101511         * lib/gl_anylinked_list1.h: Likewise.
101512         * lib/gl_anylinked_list2.h: Likewise.
101513         * lib/gl_anyrbtree_list1.h: Likewise.
101514         * lib/gl_anyrbtree_list2.h: Likewise.
101515         * lib/gl_anytree_list1.h: Likewise.
101516         * lib/gl_anytree_list2.h: Likewise.
101517         * lib/gl_anytree_oset.h: Likewise.
101518         * lib/gl_anytreehash_list1.h: Likewise.
101519         * lib/gl_anytreehash_list2.h: Likewise.
101520         * lib/gl_array_list.c: Likewise.
101521         * lib/gl_array_list.h: Likewise.
101522         * lib/gl_array_oset.c: Likewise.
101523         * lib/gl_array_oset.h: Likewise.
101524         * lib/gl_avltree_list.c: Likewise.
101525         * lib/gl_avltree_list.h: Likewise.
101526         * lib/gl_avltree_oset.c: Likewise.
101527         * lib/gl_avltree_oset.h: Likewise.
101528         * lib/gl_avltreehash_list.c: Likewise.
101529         * lib/gl_avltreehash_list.h: Likewise.
101530         * lib/gl_carray_list.c: Likewise.
101531         * lib/gl_carray_list.h: Likewise.
101532         * lib/gl_linked_list.c: Likewise.
101533         * lib/gl_linked_list.h: Likewise.
101534         * lib/gl_linkedhash_list.c: Likewise.
101535         * lib/gl_linkedhash_list.h: Likewise.
101536         * lib/gl_list.c: Likewise.
101537         * lib/gl_list.h: Likewise.
101538         * lib/gl_oset.c: Likewise.
101539         * lib/gl_oset.h: Likewise.
101540         * lib/gl_rbtree_list.c: Likewise.
101541         * lib/gl_rbtree_list.h: Likewise.
101542         * lib/gl_rbtree_oset.c: Likewise.
101543         * lib/gl_rbtree_oset.h: Likewise.
101544         * lib/gl_rbtreehash_list.c: Likewise.
101545         * lib/gl_rbtreehash_list.h: Likewise.
101546         * lib/gl_sublist.c: Likewise.
101547         * lib/gl_sublist.h: Likewise.
101548         * lib/group-member.c: Likewise.
101549         * lib/group-member.h: Likewise.
101550         * lib/hard-locale.c: Likewise.
101551         * lib/hard-locale.h: Likewise.
101552         * lib/hash-pjw.c: Likewise.
101553         * lib/hash-pjw.h: Likewise.
101554         * lib/hash-triple.c: Likewise.
101555         * lib/hash.c: Likewise.
101556         * lib/hash.h: Likewise.
101557         * lib/human.c: Likewise.
101558         * lib/human.h: Likewise.
101559         * lib/i-ring.c: Likewise.
101560         * lib/i-ring.h: Likewise.
101561         * lib/idcache.c: Likewise.
101562         * lib/imaxabs.c: Likewise.
101563         * lib/imaxdiv.c: Likewise.
101564         * lib/inet_pton.c: Likewise.
101565         * lib/inet_pton.h: Likewise.
101566         * lib/intprops.h: Likewise.
101567         * lib/inttostr.c: Likewise.
101568         * lib/inttostr.h: Likewise.
101569         * lib/inttypes.in.h: Likewise.
101570         * lib/isapipe.c: Likewise.
101571         * lib/isdir.c: Likewise.
101572         * lib/isnan.c: Likewise.
101573         * lib/isnan.h: Likewise.
101574         * lib/isnanf.c: Likewise.
101575         * lib/isnanf.h: Likewise.
101576         * lib/isnanl-nolibm.h: Likewise.
101577         * lib/isnanl.c: Likewise.
101578         * lib/isnanl.h: Likewise.
101579         * lib/javacomp.c: Likewise.
101580         * lib/javacomp.h: Likewise.
101581         * lib/javaexec.c: Likewise.
101582         * lib/javaexec.h: Likewise.
101583         * lib/javaversion.c: Likewise.
101584         * lib/javaversion.h: Likewise.
101585         * lib/javaversion.java: Likewise.
101586         * lib/lbrkprop.h: Likewise.
101587         * lib/lchmod.h: Likewise.
101588         * lib/lchown.c: Likewise.
101589         * lib/ldexpl.c: Likewise.
101590         * lib/linebreak.c: Likewise.
101591         * lib/linebreak.h: Likewise.
101592         * lib/linebuffer.c: Likewise.
101593         * lib/linebuffer.h: Likewise.
101594         * lib/locale.in.h: Likewise.
101595         * lib/logl.c: Likewise.
101596         * lib/long-options.c: Likewise.
101597         * lib/long-options.h: Likewise.
101598         * lib/lstat.c: Likewise.
101599         * lib/lstat.h: Likewise.
101600         * lib/math.in.h: Likewise.
101601         * lib/mbchar.c: Likewise.
101602         * lib/mbchar.h: Likewise.
101603         * lib/mbfile.h: Likewise.
101604         * lib/mbiter.h: Likewise.
101605         * lib/mbscasecmp.c: Likewise.
101606         * lib/mbscasestr.c: Likewise.
101607         * lib/mbschr.c: Likewise.
101608         * lib/mbscspn.c: Likewise.
101609         * lib/mbslen.c: Likewise.
101610         * lib/mbsncasecmp.c: Likewise.
101611         * lib/mbsnlen.c: Likewise.
101612         * lib/mbspbrk.c: Likewise.
101613         * lib/mbspcasecmp.c: Likewise.
101614         * lib/mbsrchr.c: Likewise.
101615         * lib/mbssep.c: Likewise.
101616         * lib/mbsspn.c: Likewise.
101617         * lib/mbsstr.c: Likewise.
101618         * lib/mbstok_r.c: Likewise.
101619         * lib/mbswidth.c: Likewise.
101620         * lib/mbswidth.h: Likewise.
101621         * lib/mbuiter.h: Likewise.
101622         * lib/memcasecmp.c: Likewise.
101623         * lib/memcasecmp.h: Likewise.
101624         * lib/memchr.c: Likewise.
101625         * lib/memcmp.c: Likewise.
101626         * lib/memcoll.c: Likewise.
101627         * lib/memcoll.h: Likewise.
101628         * lib/memcpy.c: Likewise.
101629         * lib/memrchr.c: Likewise.
101630         * lib/mkancesdirs.c: Likewise.
101631         * lib/mkdir-p.c: Likewise.
101632         * lib/mkdir-p.h: Likewise.
101633         * lib/mkdir.c: Likewise.
101634         * lib/mkdirat.c: Likewise.
101635         * lib/mkdtemp.c: Likewise.
101636         * lib/mkstemp-safer.c: Likewise.
101637         * lib/mkstemp.c: Likewise.
101638         * lib/modechange.c: Likewise.
101639         * lib/modechange.h: Likewise.
101640         * lib/mountlist.c: Likewise.
101641         * lib/mountlist.h: Likewise.
101642         * lib/mpsort.c: Likewise.
101643         * lib/nanosleep.c: Likewise.
101644         * lib/obstack.c: Likewise.
101645         * lib/obstack.h: Likewise.
101646         * lib/open-safer.c: Likewise.
101647         * lib/open.c: Likewise.
101648         * lib/openat-die.c: Likewise.
101649         * lib/openat-priv.h: Likewise.
101650         * lib/openat-proc.c: Likewise.
101651         * lib/openat.c: Likewise.
101652         * lib/openat.h: Likewise.
101653         * lib/pagealign_alloc.c: Likewise.
101654         * lib/pagealign_alloc.h: Likewise.
101655         * lib/physmem.c: Likewise.
101656         * lib/physmem.h: Likewise.
101657         * lib/pipe-safer.c: Likewise.
101658         * lib/pipe.c: Likewise.
101659         * lib/pipe.h: Likewise.
101660         * lib/posixtm.c: Likewise.
101661         * lib/posixtm.h: Likewise.
101662         * lib/posixver.c: Likewise.
101663         * lib/printf-frexp.c: Likewise.
101664         * lib/printf-frexp.h: Likewise.
101665         * lib/printf-frexpl.c: Likewise.
101666         * lib/printf-frexpl.h: Likewise.
101667         * lib/printf.c: Likewise.
101668         * lib/progname.c: Likewise.
101669         * lib/progname.h: Likewise.
101670         * lib/progreloc.c: Likewise.
101671         * lib/putenv.c: Likewise.
101672         * lib/quote.c: Likewise.
101673         * lib/quote.h: Likewise.
101674         * lib/quotearg.c: Likewise.
101675         * lib/quotearg.h: Likewise.
101676         * lib/raise.c: Likewise.
101677         * lib/readline.c: Likewise.
101678         * lib/readline.h: Likewise.
101679         * lib/readlink.c: Likewise.
101680         * lib/readtokens.c: Likewise.
101681         * lib/readtokens.h: Likewise.
101682         * lib/readtokens0.c: Likewise.
101683         * lib/readtokens0.h: Likewise.
101684         * lib/readutmp.c: Likewise.
101685         * lib/readutmp.h: Likewise.
101686         * lib/realloc.c: Likewise.
101687         * lib/relocwrapper.c: Likewise.
101688         * lib/rename-dest-slash.c: Likewise.
101689         * lib/rename.c: Likewise.
101690         * lib/rmdir.c: Likewise.
101691         * lib/rpmatch.c: Likewise.
101692         * lib/safe-read.c: Likewise.
101693         * lib/safe-read.h: Likewise.
101694         * lib/safe-write.c: Likewise.
101695         * lib/safe-write.h: Likewise.
101696         * lib/same-inode.h: Likewise.
101697         * lib/same.c: Likewise.
101698         * lib/same.h: Likewise.
101699         * lib/save-cwd.c: Likewise.
101700         * lib/save-cwd.h: Likewise.
101701         * lib/savedir.c: Likewise.
101702         * lib/savedir.h: Likewise.
101703         * lib/savewd.c: Likewise.
101704         * lib/savewd.h: Likewise.
101705         * lib/search.in.h: Likewise.
101706         * lib/setenv.c: Likewise.
101707         * lib/setenv.h: Likewise.
101708         * lib/settime.c: Likewise.
101709         * lib/sh-quote.c: Likewise.
101710         * lib/sh-quote.h: Likewise.
101711         * lib/sig2str.c: Likewise.
101712         * lib/sig2str.h: Likewise.
101713         * lib/signal.in.h: Likewise.
101714         * lib/signbitd.c: Likewise.
101715         * lib/signbitf.c: Likewise.
101716         * lib/signbitl.c: Likewise.
101717         * lib/sigprocmask.c: Likewise.
101718         * lib/sincosl.c: Likewise.
101719         * lib/sleep.c: Likewise.
101720         * lib/sprintf.c: Likewise.
101721         * lib/sqrtl.c: Likewise.
101722         * lib/stat-time.h: Likewise.
101723         * lib/stdio--.h: Likewise.
101724         * lib/stdio-safer.h: Likewise.
101725         * lib/stdlib--.h: Likewise.
101726         * lib/stdlib-safer.h: Likewise.
101727         * lib/stdlib.in.h: Likewise.
101728         * lib/stpcpy.c: Likewise.
101729         * lib/stpncpy.c: Likewise.
101730         * lib/strchrnul.c: Likewise.
101731         * lib/strcspn.c: Likewise.
101732         * lib/strerror.c: Likewise.
101733         * lib/strftime.c: Likewise.
101734         * lib/strftime.h: Likewise.
101735         * lib/striconveh.c: Likewise.
101736         * lib/striconveh.h: Likewise.
101737         * lib/striconveha.c: Likewise.
101738         * lib/striconveha.h: Likewise.
101739         * lib/stripslash.c: Likewise.
101740         * lib/strnlen1.c: Likewise.
101741         * lib/strnlen1.h: Likewise.
101742         * lib/strtod.c: Likewise.
101743         * lib/strtoimax.c: Likewise.
101744         * lib/strtok_r.c: Likewise.
101745         * lib/strtol.c: Likewise.
101746         * lib/strtoll.c: Likewise.
101747         * lib/strtoul.c: Likewise.
101748         * lib/strtoull.c: Likewise.
101749         * lib/sysexits.in.h: Likewise.
101750         * lib/tempname.c: Likewise.
101751         * lib/tempname.h: Likewise.
101752         * lib/timespec.h: Likewise.
101753         * lib/tls.c: Likewise.
101754         * lib/tls.h: Likewise.
101755         * lib/tmpdir.c: Likewise.
101756         * lib/tmpdir.h: Likewise.
101757         * lib/tmpfile-safer.c: Likewise.
101758         * lib/tmpfile.c: Likewise.
101759         * lib/trigl.c: Likewise.
101760         * lib/trigl.h: Likewise.
101761         * lib/trim.c: Likewise.
101762         * lib/trim.h: Likewise.
101763         * lib/trunc.c: Likewise.
101764         * lib/truncf.c: Likewise.
101765         * lib/truncl.c: Likewise.
101766         * lib/tsearch.c: Likewise.
101767         * lib/unicodeio.c: Likewise.
101768         * lib/unicodeio.h: Likewise.
101769         * lib/unistd--.h: Likewise.
101770         * lib/unistd-safer.h: Likewise.
101771         * lib/unistdio/ulc-fprintf.c: Likewise.
101772         * lib/unistdio/ulc-vfprintf.c: Likewise.
101773         * lib/unlinkdir.c: Likewise.
101774         * lib/unlinkdir.h: Likewise.
101775         * lib/unlocked-io.h: Likewise.
101776         * lib/unsetenv.c: Likewise.
101777         * lib/userspec.c: Likewise.
101778         * lib/utime.c: Likewise.
101779         * lib/utimecmp.c: Likewise.
101780         * lib/utimecmp.h: Likewise.
101781         * lib/utimens.c: Likewise.
101782         * lib/verify.h: Likewise.
101783         * lib/verror.c: Likewise.
101784         * lib/verror.h: Likewise.
101785         * lib/version-etc-fsf.c: Likewise.
101786         * lib/version-etc.c: Likewise.
101787         * lib/version-etc.h: Likewise.
101788         * lib/vfprintf.c: Likewise.
101789         * lib/vprintf.c: Likewise.
101790         * lib/vsprintf.c: Likewise.
101791         * lib/w32spawn.h: Likewise.
101792         * lib/wait-process.c: Likewise.
101793         * lib/wait-process.h: Likewise.
101794         * lib/wcwidth.c: Likewise.
101795         * lib/write-any-file.c: Likewise.
101796         * lib/xalloc-die.c: Likewise.
101797         * lib/xalloc.h: Likewise.
101798         * lib/xasprintf.c: Likewise.
101799         * lib/xgetcwd.c: Likewise.
101800         * lib/xgetcwd.h: Likewise.
101801         * lib/xgetdomainname.c: Likewise.
101802         * lib/xgetdomainname.h: Likewise.
101803         * lib/xgethostname.c: Likewise.
101804         * lib/xmalloc.c: Likewise.
101805         * lib/xmalloca.c: Likewise.
101806         * lib/xmalloca.h: Likewise.
101807         * lib/xmemcoll.c: Likewise.
101808         * lib/xnanosleep.c: Likewise.
101809         * lib/xreadlink.c: Likewise.
101810         * lib/xreadlink.h: Likewise.
101811         * lib/xsetenv.c: Likewise.
101812         * lib/xsetenv.h: Likewise.
101813         * lib/xstriconv.c: Likewise.
101814         * lib/xstriconv.h: Likewise.
101815         * lib/xstrndup.c: Likewise.
101816         * lib/xstrndup.h: Likewise.
101817         * lib/xstrtod.c: Likewise.
101818         * lib/xstrtod.h: Likewise.
101819         * lib/xstrtol-error.c: Likewise.
101820         * lib/xstrtol.c: Likewise.
101821         * lib/xstrtol.h: Likewise.
101822         * lib/xtime.h: Likewise.
101823         * lib/xvasprintf.c: Likewise.
101824         * lib/xvasprintf.h: Likewise.
101825         * lib/yesno.c: Likewise.
101826         * lib/yesno.h: Likewise.
101827         * posix-modules: Likewise.
101828         * tests/test-alloca-opt.c: Likewise.
101829         * tests/test-arcfour.c: Likewise.
101830         * tests/test-arctwo.c: Likewise.
101831         * tests/test-argmatch.c: Likewise.
101832         * tests/test-argp-2.sh: Likewise.
101833         * tests/test-argp.c: Likewise.
101834         * tests/test-arpa_inet.c: Likewise.
101835         * tests/test-array_list.c: Likewise.
101836         * tests/test-array_oset.c: Likewise.
101837         * tests/test-atexit.c: Likewise.
101838         * tests/test-avltree_list.c: Likewise.
101839         * tests/test-avltree_oset.c: Likewise.
101840         * tests/test-avltreehash_list.c: Likewise.
101841         * tests/test-base64.c: Likewise.
101842         * tests/test-binary-io.c: Likewise.
101843         * tests/test-byteswap.c: Likewise.
101844         * tests/test-c-ctype.c: Likewise.
101845         * tests/test-c-strcasecmp.c: Likewise.
101846         * tests/test-c-strcasestr.c: Likewise.
101847         * tests/test-c-strncasecmp.c: Likewise.
101848         * tests/test-c-strstr.c: Likewise.
101849         * tests/test-canonicalize-lgpl.c: Likewise.
101850         * tests/test-canonicalize.c: Likewise.
101851         * tests/test-carray_list.c: Likewise.
101852         * tests/test-ceilf.c: Likewise.
101853         * tests/test-ceill.c: Likewise.
101854         * tests/test-count-one-bits.c: Likewise.
101855         * tests/test-crc.c: Likewise.
101856         * tests/test-dirname.c: Likewise.
101857         * tests/test-fbufmode.c: Likewise.
101858         * tests/test-fcntl.c: Likewise.
101859         * tests/test-fflush.c: Likewise.
101860         * tests/test-floorf.c: Likewise.
101861         * tests/test-floorl.c: Likewise.
101862         * tests/test-fopen.c: Likewise.
101863         * tests/test-fprintf-posix.c: Likewise.
101864         * tests/test-fprintf-posix.h: Likewise.
101865         * tests/test-fpurge.c: Likewise.
101866         * tests/test-freadable.c: Likewise.
101867         * tests/test-freadahead.c: Likewise.
101868         * tests/test-freading.c: Likewise.
101869         * tests/test-freopen.c: Likewise.
101870         * tests/test-frexp.c: Likewise.
101871         * tests/test-frexpl.c: Likewise.
101872         * tests/test-fseek.c: Likewise.
101873         * tests/test-fseeko.c: Likewise.
101874         * tests/test-fseterr.c: Likewise.
101875         * tests/test-fstrcmp.c: Likewise.
101876         * tests/test-ftell.c: Likewise.
101877         * tests/test-ftello.c: Likewise.
101878         * tests/test-fwritable.c: Likewise.
101879         * tests/test-fwriting.c: Likewise.
101880         * tests/test-getaddrinfo.c: Likewise.
101881         * tests/test-getpass.c: Likewise.
101882         * tests/test-gettimeofday.c: Likewise.
101883         * tests/test-hmac-md5.c: Likewise.
101884         * tests/test-hmac-sha1.c: Likewise.
101885         * tests/test-iconv.c: Likewise.
101886         * tests/test-iconvme.c: Likewise.
101887         * tests/test-inttypes.c: Likewise.
101888         * tests/test-isnan.c: Likewise.
101889         * tests/test-isnanf.c: Likewise.
101890         * tests/test-isnanl-nolibm.c: Likewise.
101891         * tests/test-isnanl.c: Likewise.
101892         * tests/test-isnanl.h: Likewise.
101893         * tests/test-ldexpl.c: Likewise.
101894         * tests/test-linked_list.c: Likewise.
101895         * tests/test-linkedhash_list.c: Likewise.
101896         * tests/test-locale.c: Likewise.
101897         * tests/test-localename.c: Likewise.
101898         * tests/test-lock.c: Likewise.
101899         * tests/test-lseek.c: Likewise.
101900         * tests/test-malloca.c: Likewise.
101901         * tests/test-math.c: Likewise.
101902         * tests/test-mbscasecmp.c: Likewise.
101903         * tests/test-mbscasestr1.c: Likewise.
101904         * tests/test-mbscasestr2.c: Likewise.
101905         * tests/test-mbscasestr3.c: Likewise.
101906         * tests/test-mbscasestr4.c: Likewise.
101907         * tests/test-mbschr.c: Likewise.
101908         * tests/test-mbscspn.c: Likewise.
101909         * tests/test-mbsncasecmp.c: Likewise.
101910         * tests/test-mbspbrk.c: Likewise.
101911         * tests/test-mbspcasecmp.c: Likewise.
101912         * tests/test-mbsrchr.c: Likewise.
101913         * tests/test-mbsspn.c: Likewise.
101914         * tests/test-mbsstr1.c: Likewise.
101915         * tests/test-mbsstr2.c: Likewise.
101916         * tests/test-mbsstr3.c: Likewise.
101917         * tests/test-md5.c: Likewise.
101918         * tests/test-memmem.c: Likewise.
101919         * tests/test-netinet_in.c: Likewise.
101920         * tests/test-open.c: Likewise.
101921         * tests/test-printf-frexp.c: Likewise.
101922         * tests/test-printf-frexpl.c: Likewise.
101923         * tests/test-printf-posix.c: Likewise.
101924         * tests/test-printf-posix.h: Likewise.
101925         * tests/test-rbtree_list.c: Likewise.
101926         * tests/test-rbtree_oset.c: Likewise.
101927         * tests/test-rbtreehash_list.c: Likewise.
101928         * tests/test-read-file.c: Likewise.
101929         * tests/test-rijndael.c: Likewise.
101930         * tests/test-search.c: Likewise.
101931         * tests/test-signbit.c: Likewise.
101932         * tests/test-sleep.c: Likewise.
101933         * tests/test-snprintf-posix.c: Likewise.
101934         * tests/test-snprintf-posix.h: Likewise.
101935         * tests/test-snprintf.c: Likewise.
101936         * tests/test-sprintf-posix.c: Likewise.
101937         * tests/test-sprintf-posix.h: Likewise.
101938         * tests/test-stat-time.c: Likewise.
101939         * tests/test-stdbool.c: Likewise.
101940         * tests/test-stdint.c: Likewise.
101941         * tests/test-stdio.c: Likewise.
101942         * tests/test-stdlib.c: Likewise.
101943         * tests/test-stpncpy.c: Likewise.
101944         * tests/test-strcasestr.c: Likewise.
101945         * tests/test-striconv.c: Likewise.
101946         * tests/test-striconveh.c: Likewise.
101947         * tests/test-striconveha.c: Likewise.
101948         * tests/test-string.c: Likewise.
101949         * tests/test-sys_select.c: Likewise.
101950         * tests/test-sys_socket.c: Likewise.
101951         * tests/test-sys_stat.c: Likewise.
101952         * tests/test-sys_time.c: Likewise.
101953         * tests/test-sysexits.c: Likewise.
101954         * tests/test-time.c: Likewise.
101955         * tests/test-tls.c: Likewise.
101956         * tests/test-trunc.c: Likewise.
101957         * tests/test-truncf.c: Likewise.
101958         * tests/test-truncl.c: Likewise.
101959         * tests/test-unistd.c: Likewise.
101960         * tests/test-vasnprintf-posix.c: Likewise.
101961         * tests/test-vasnprintf-posix2.c: Likewise.
101962         * tests/test-vasnprintf.c: Likewise.
101963         * tests/test-vasprintf-posix.c: Likewise.
101964         * tests/test-vasprintf.c: Likewise.
101965         * tests/test-verify.c: Likewise.
101966         * tests/test-vfprintf-posix.c: Likewise.
101967         * tests/test-vprintf-posix.c: Likewise.
101968         * tests/test-vsnprintf-posix.c: Likewise.
101969         * tests/test-vsnprintf.c: Likewise.
101970         * tests/test-vsprintf-posix.c: Likewise.
101971         * tests/test-wchar.c: Likewise.
101972         * tests/test-wctype.c: Likewise.
101973         * tests/test-wcwidth.c: Likewise.
101974         * tests/test-xstrtol.c: Likewise.
101975         * tests/test-xvasprintf.c: Likewise.
101976         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
101977         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
101978         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
101979         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
101980         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
101981         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
101982         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
101983         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
101984         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
101985         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
101986         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
101987         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
101988         * tests/uniname/test-uninames.c: Likewise.
101989         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
101990         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
101991         * tests/unistdio/test-u16-printf1.h: Likewise.
101992         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
101993         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
101994         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
101995         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
101996         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
101997         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
101998         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
101999         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
102000         * tests/unistdio/test-u32-printf1.h: Likewise.
102001         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
102002         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
102003         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
102004         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
102005         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
102006         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
102007         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
102008         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
102009         * tests/unistdio/test-u8-printf1.h: Likewise.
102010         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
102011         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
102012         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
102013         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
102014         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
102015         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
102016         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
102017         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
102018         * tests/unistdio/test-ulc-printf1.h: Likewise.
102019         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
102020         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
102021         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
102022         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
102023         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
102024         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
102025         * tests/uniwidth/test-u16-strwidth.c: Likewise.
102026         * tests/uniwidth/test-u16-width.c: Likewise.
102027         * tests/uniwidth/test-u32-strwidth.c: Likewise.
102028         * tests/uniwidth/test-u32-width.c: Likewise.
102029         * tests/uniwidth/test-u8-strwidth.c: Likewise.
102030         * tests/uniwidth/test-u8-width.c: Likewise.
102031         * tests/uniwidth/test-uc_width.c: Likewise.
102032         * config/srclist-update: Likewise.
102033         (fixlicense): Update to GPLv3+.
102035         Change copyright notice from LGPLv2.1+ to LGPLv3+.
102036         * tests/test-tsearch.c: Change copyright notice.
102038         Change copyright notice from LGPLv2.0+ to LGPLv3+.
102039         * lib/c-strcaseeq.h: Change copyright notice.
102040         * lib/streq.h: Likewise.
102041         * lib/uniconv.h: Likewise.
102042         * lib/uniconv/u-conv-from-enc.h: Likewise.
102043         * lib/uniconv/u-conv-to-enc.h: Likewise.
102044         * lib/uniconv/u-strconv-from-enc.h: Likewise.
102045         * lib/uniconv/u-strconv-to-enc.h: Likewise.
102046         * lib/uniconv/u16-conv-from-enc.c: Likewise.
102047         * lib/uniconv/u16-conv-to-enc.c: Likewise.
102048         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
102049         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
102050         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
102051         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
102052         * lib/uniconv/u32-conv-from-enc.c: Likewise.
102053         * lib/uniconv/u32-conv-to-enc.c: Likewise.
102054         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
102055         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
102056         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
102057         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
102058         * lib/uniconv/u8-conv-from-enc.c: Likewise.
102059         * lib/uniconv/u8-conv-to-enc.c: Likewise.
102060         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
102061         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
102062         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
102063         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
102064         * lib/uniname.h: Likewise.
102065         * lib/uniname/uniname.c: Likewise.
102066         * lib/unistdio.h: Likewise.
102067         * lib/unistdio/u-asnprintf.h: Likewise.
102068         * lib/unistdio/u-asprintf.h: Likewise.
102069         * lib/unistdio/u-printf-args.c: Likewise.
102070         * lib/unistdio/u-printf-args.h: Likewise.
102071         * lib/unistdio/u-printf-parse.h: Likewise.
102072         * lib/unistdio/u-snprintf.h: Likewise.
102073         * lib/unistdio/u-sprintf.h: Likewise.
102074         * lib/unistdio/u-vasprintf.h: Likewise.
102075         * lib/unistdio/u-vsnprintf.h: Likewise.
102076         * lib/unistdio/u-vsprintf.h: Likewise.
102077         * lib/unistdio/u16-asnprintf.c: Likewise.
102078         * lib/unistdio/u16-asprintf.c: Likewise.
102079         * lib/unistdio/u16-printf-parse.c: Likewise.
102080         * lib/unistdio/u16-snprintf.c: Likewise.
102081         * lib/unistdio/u16-sprintf.c: Likewise.
102082         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
102083         * lib/unistdio/u16-u16-asprintf.c: Likewise.
102084         * lib/unistdio/u16-u16-snprintf.c: Likewise.
102085         * lib/unistdio/u16-u16-sprintf.c: Likewise.
102086         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
102087         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
102088         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
102089         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
102090         * lib/unistdio/u16-vasnprintf.c: Likewise.
102091         * lib/unistdio/u16-vasprintf.c: Likewise.
102092         * lib/unistdio/u16-vsnprintf.c: Likewise.
102093         * lib/unistdio/u16-vsprintf.c: Likewise.
102094         * lib/unistdio/u32-asnprintf.c: Likewise.
102095         * lib/unistdio/u32-asprintf.c: Likewise.
102096         * lib/unistdio/u32-printf-parse.c: Likewise.
102097         * lib/unistdio/u32-snprintf.c: Likewise.
102098         * lib/unistdio/u32-sprintf.c: Likewise.
102099         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
102100         * lib/unistdio/u32-u32-asprintf.c: Likewise.
102101         * lib/unistdio/u32-u32-snprintf.c: Likewise.
102102         * lib/unistdio/u32-u32-sprintf.c: Likewise.
102103         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
102104         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
102105         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
102106         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
102107         * lib/unistdio/u32-vasnprintf.c: Likewise.
102108         * lib/unistdio/u32-vasprintf.c: Likewise.
102109         * lib/unistdio/u32-vsnprintf.c: Likewise.
102110         * lib/unistdio/u32-vsprintf.c: Likewise.
102111         * lib/unistdio/u8-asnprintf.c: Likewise.
102112         * lib/unistdio/u8-asprintf.c: Likewise.
102113         * lib/unistdio/u8-printf-parse.c: Likewise.
102114         * lib/unistdio/u8-snprintf.c: Likewise.
102115         * lib/unistdio/u8-sprintf.c: Likewise.
102116         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
102117         * lib/unistdio/u8-u8-asprintf.c: Likewise.
102118         * lib/unistdio/u8-u8-snprintf.c: Likewise.
102119         * lib/unistdio/u8-u8-sprintf.c: Likewise.
102120         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
102121         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
102122         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
102123         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
102124         * lib/unistdio/u8-vasnprintf.c: Likewise.
102125         * lib/unistdio/u8-vasprintf.c: Likewise.
102126         * lib/unistdio/u8-vsnprintf.c: Likewise.
102127         * lib/unistdio/u8-vsprintf.c: Likewise.
102128         * lib/unistdio/ulc-asnprintf.c: Likewise.
102129         * lib/unistdio/ulc-asprintf.c: Likewise.
102130         * lib/unistdio/ulc-printf-parse.c: Likewise.
102131         * lib/unistdio/ulc-snprintf.c: Likewise.
102132         * lib/unistdio/ulc-sprintf.c: Likewise.
102133         * lib/unistdio/ulc-vasnprintf.c: Likewise.
102134         * lib/unistdio/ulc-vasprintf.c: Likewise.
102135         * lib/unistdio/ulc-vsnprintf.c: Likewise.
102136         * lib/unistdio/ulc-vsprintf.c: Likewise.
102137         * lib/unistr.h: Likewise.
102138         * lib/unistr/u-cpy-alloc.h: Likewise.
102139         * lib/unistr/u-cpy.h: Likewise.
102140         * lib/unistr/u-endswith.h: Likewise.
102141         * lib/unistr/u-move.h: Likewise.
102142         * lib/unistr/u-set.h: Likewise.
102143         * lib/unistr/u-startswith.h: Likewise.
102144         * lib/unistr/u-stpcpy.h: Likewise.
102145         * lib/unistr/u-stpncpy.h: Likewise.
102146         * lib/unistr/u-strcat.h: Likewise.
102147         * lib/unistr/u-strcpy.h: Likewise.
102148         * lib/unistr/u-strcspn.h: Likewise.
102149         * lib/unistr/u-strdup.h: Likewise.
102150         * lib/unistr/u-strlen.h: Likewise.
102151         * lib/unistr/u-strncat.h: Likewise.
102152         * lib/unistr/u-strncpy.h: Likewise.
102153         * lib/unistr/u-strnlen.h: Likewise.
102154         * lib/unistr/u-strpbrk.h: Likewise.
102155         * lib/unistr/u-strspn.h: Likewise.
102156         * lib/unistr/u-strstr.h: Likewise.
102157         * lib/unistr/u-strtok.h: Likewise.
102158         * lib/unistr/u16-check.c: Likewise.
102159         * lib/unistr/u16-chr.c: Likewise.
102160         * lib/unistr/u16-cmp.c: Likewise.
102161         * lib/unistr/u16-cpy-alloc.c: Likewise.
102162         * lib/unistr/u16-cpy.c: Likewise.
102163         * lib/unistr/u16-endswith.c: Likewise.
102164         * lib/unistr/u16-mblen.c: Likewise.
102165         * lib/unistr/u16-mbsnlen.c: Likewise.
102166         * lib/unistr/u16-mbtouc-aux.c: Likewise.
102167         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
102168         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
102169         * lib/unistr/u16-mbtouc.c: Likewise.
102170         * lib/unistr/u16-mbtoucr.c: Likewise.
102171         * lib/unistr/u16-move.c: Likewise.
102172         * lib/unistr/u16-next.c: Likewise.
102173         * lib/unistr/u16-prev.c: Likewise.
102174         * lib/unistr/u16-set.c: Likewise.
102175         * lib/unistr/u16-startswith.c: Likewise.
102176         * lib/unistr/u16-stpcpy.c: Likewise.
102177         * lib/unistr/u16-stpncpy.c: Likewise.
102178         * lib/unistr/u16-strcat.c: Likewise.
102179         * lib/unistr/u16-strchr.c: Likewise.
102180         * lib/unistr/u16-strcmp.c: Likewise.
102181         * lib/unistr/u16-strcpy.c: Likewise.
102182         * lib/unistr/u16-strcspn.c: Likewise.
102183         * lib/unistr/u16-strdup.c: Likewise.
102184         * lib/unistr/u16-strlen.c: Likewise.
102185         * lib/unistr/u16-strmblen.c: Likewise.
102186         * lib/unistr/u16-strmbtouc.c: Likewise.
102187         * lib/unistr/u16-strncat.c: Likewise.
102188         * lib/unistr/u16-strncmp.c: Likewise.
102189         * lib/unistr/u16-strncpy.c: Likewise.
102190         * lib/unistr/u16-strnlen.c: Likewise.
102191         * lib/unistr/u16-strpbrk.c: Likewise.
102192         * lib/unistr/u16-strrchr.c: Likewise.
102193         * lib/unistr/u16-strspn.c: Likewise.
102194         * lib/unistr/u16-strstr.c: Likewise.
102195         * lib/unistr/u16-strtok.c: Likewise.
102196         * lib/unistr/u16-to-u32.c: Likewise.
102197         * lib/unistr/u16-to-u8.c: Likewise.
102198         * lib/unistr/u16-uctomb-aux.c: Likewise.
102199         * lib/unistr/u16-uctomb.c: Likewise.
102200         * lib/unistr/u32-check.c: Likewise.
102201         * lib/unistr/u32-chr.c: Likewise.
102202         * lib/unistr/u32-cmp.c: Likewise.
102203         * lib/unistr/u32-cpy-alloc.c: Likewise.
102204         * lib/unistr/u32-cpy.c: Likewise.
102205         * lib/unistr/u32-endswith.c: Likewise.
102206         * lib/unistr/u32-mblen.c: Likewise.
102207         * lib/unistr/u32-mbsnlen.c: Likewise.
102208         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
102209         * lib/unistr/u32-mbtouc.c: Likewise.
102210         * lib/unistr/u32-mbtoucr.c: Likewise.
102211         * lib/unistr/u32-move.c: Likewise.
102212         * lib/unistr/u32-next.c: Likewise.
102213         * lib/unistr/u32-prev.c: Likewise.
102214         * lib/unistr/u32-set.c: Likewise.
102215         * lib/unistr/u32-startswith.c: Likewise.
102216         * lib/unistr/u32-stpcpy.c: Likewise.
102217         * lib/unistr/u32-stpncpy.c: Likewise.
102218         * lib/unistr/u32-strcat.c: Likewise.
102219         * lib/unistr/u32-strchr.c: Likewise.
102220         * lib/unistr/u32-strcmp.c: Likewise.
102221         * lib/unistr/u32-strcpy.c: Likewise.
102222         * lib/unistr/u32-strcspn.c: Likewise.
102223         * lib/unistr/u32-strdup.c: Likewise.
102224         * lib/unistr/u32-strlen.c: Likewise.
102225         * lib/unistr/u32-strmblen.c: Likewise.
102226         * lib/unistr/u32-strmbtouc.c: Likewise.
102227         * lib/unistr/u32-strncat.c: Likewise.
102228         * lib/unistr/u32-strncmp.c: Likewise.
102229         * lib/unistr/u32-strncpy.c: Likewise.
102230         * lib/unistr/u32-strnlen.c: Likewise.
102231         * lib/unistr/u32-strpbrk.c: Likewise.
102232         * lib/unistr/u32-strrchr.c: Likewise.
102233         * lib/unistr/u32-strspn.c: Likewise.
102234         * lib/unistr/u32-strstr.c: Likewise.
102235         * lib/unistr/u32-strtok.c: Likewise.
102236         * lib/unistr/u32-to-u16.c: Likewise.
102237         * lib/unistr/u32-to-u8.c: Likewise.
102238         * lib/unistr/u32-uctomb.c: Likewise.
102239         * lib/unistr/u8-check.c: Likewise.
102240         * lib/unistr/u8-chr.c: Likewise.
102241         * lib/unistr/u8-cmp.c: Likewise.
102242         * lib/unistr/u8-cpy-alloc.c: Likewise.
102243         * lib/unistr/u8-cpy.c: Likewise.
102244         * lib/unistr/u8-endswith.c: Likewise.
102245         * lib/unistr/u8-mblen.c: Likewise.
102246         * lib/unistr/u8-mbsnlen.c: Likewise.
102247         * lib/unistr/u8-mbtouc-aux.c: Likewise.
102248         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
102249         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
102250         * lib/unistr/u8-mbtouc.c: Likewise.
102251         * lib/unistr/u8-mbtoucr.c: Likewise.
102252         * lib/unistr/u8-move.c: Likewise.
102253         * lib/unistr/u8-next.c: Likewise.
102254         * lib/unistr/u8-prev.c: Likewise.
102255         * lib/unistr/u8-set.c: Likewise.
102256         * lib/unistr/u8-startswith.c: Likewise.
102257         * lib/unistr/u8-stpcpy.c: Likewise.
102258         * lib/unistr/u8-stpncpy.c: Likewise.
102259         * lib/unistr/u8-strcat.c: Likewise.
102260         * lib/unistr/u8-strchr.c: Likewise.
102261         * lib/unistr/u8-strcmp.c: Likewise.
102262         * lib/unistr/u8-strcpy.c: Likewise.
102263         * lib/unistr/u8-strcspn.c: Likewise.
102264         * lib/unistr/u8-strdup.c: Likewise.
102265         * lib/unistr/u8-strlen.c: Likewise.
102266         * lib/unistr/u8-strmblen.c: Likewise.
102267         * lib/unistr/u8-strmbtouc.c: Likewise.
102268         * lib/unistr/u8-strncat.c: Likewise.
102269         * lib/unistr/u8-strncmp.c: Likewise.
102270         * lib/unistr/u8-strncpy.c: Likewise.
102271         * lib/unistr/u8-strnlen.c: Likewise.
102272         * lib/unistr/u8-strpbrk.c: Likewise.
102273         * lib/unistr/u8-strrchr.c: Likewise.
102274         * lib/unistr/u8-strspn.c: Likewise.
102275         * lib/unistr/u8-strstr.c: Likewise.
102276         * lib/unistr/u8-strtok.c: Likewise.
102277         * lib/unistr/u8-to-u16.c: Likewise.
102278         * lib/unistr/u8-to-u32.c: Likewise.
102279         * lib/unistr/u8-uctomb-aux.c: Likewise.
102280         * lib/unistr/u8-uctomb.c: Likewise.
102281         * lib/unitypes.h: Likewise.
102282         * lib/uniwidth.h: Likewise.
102283         * lib/uniwidth/cjk.h: Likewise.
102284         * lib/uniwidth/u16-strwidth.c: Likewise.
102285         * lib/uniwidth/u16-width.c: Likewise.
102286         * lib/uniwidth/u32-strwidth.c: Likewise.
102287         * lib/uniwidth/u32-width.c: Likewise.
102288         * lib/uniwidth/u8-strwidth.c: Likewise.
102289         * lib/uniwidth/u8-width.c: Likewise.
102290         * lib/uniwidth/width.c: Likewise.
102292 2007-10-07  Bruno Haible  <bruno@clisp.org>
102294         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
102295         The file is still under LGPL (see modules/inttypes).
102297 2007-10-06  Bruno Haible  <bruno@clisp.org>
102299         * modules/trunc (Dependencies): Add 'extensions'.
102300         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
102301         Reported by Ben Pfaff <blp@gnu.org>.
102303 2007-10-06  Bruno Haible  <bruno@clisp.org>
102305         * modules/freopen-tests: New file.
102306         * tests/test-freopen.c: New file.
102308         * modules/fopen-tests: New file.
102309         * tests/test-fopen.c: New file.
102311         * modules/fopen: New file.
102312         * lib/fopen.c: New file.
102313         * m4/fopen.m4: New file.
102314         * modules/freopen: New file.
102315         * lib/freopen.c: New file.
102316         * m4/freopen.m4: New file.
102317         * lib/stdio.in.h (fopen, freopen): New declarations.
102318         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
102319         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
102320         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
102321         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
102322         * doc/functions/fopen.texi: Mention the 'fopen' module.
102323         * doc/functions/freopen.texi: Mention the 'freopen' module.
102325 2007-10-06  Bruno Haible  <bruno@clisp.org>
102327         * modules/open-tests: New file.
102328         * tests/test-open.c: New file.
102330         * modules/open: New file.
102331         * lib/open.c: New file.
102332         * m4/open.m4: New file.
102333         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
102334         lib/open.c does.
102335         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
102336         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
102337         macros.
102338         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
102339         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
102340         REPLACE_OPEN.
102341         * doc/functions/open.texi: Mention the 'open' module.
102343 2007-10-04  Bruno Haible  <bruno@clisp.org>
102345         * modules/ceill-tests: New file.
102346         * tests/test-ceill.c: New file.
102348         * modules/ceill: New file.
102349         * lib/ceill.c: Replace entire file.
102350         * m4/ceill.m4: New file.
102351         * lib/math.in.h (ceill): Replace declaration.
102352         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
102353         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
102354         * doc/functions/ceill.texi: Mention the 'ceill' module.
102355         * modules/mathl (Files): Remove lib/ceill.c.
102356         (Depends-on): Add ceill.
102358 2007-10-04  Bruno Haible  <bruno@clisp.org>
102360         * modules/ceilf-tests: New file.
102361         * tests/test-ceilf.c: New file.
102363         * modules/ceilf: New file.
102364         * lib/ceil.c: New file.
102365         * lib/ceilf.c: New file.
102366         * m4/ceilf.m4: New file.
102367         * lib/math.in.h (ceilf): New declaration.
102368         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
102369         HAVE_DECL_CEILF.
102370         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
102371         HAVE_DECL_CEILF.
102372         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
102374 2007-10-04  Bruno Haible  <bruno@clisp.org>
102376         * modules/floorl-tests: New file.
102377         * tests/test-floorl.c: New file.
102379         * modules/floorl: New file.
102380         * lib/floorl.c: Replace entire file.
102381         * m4/floorl.m4: New file.
102382         * lib/math.in.h (floorl): Replace declaration.
102383         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
102384         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
102385         * doc/functions/floorl.texi: Mention the 'floorl' module.
102386         * modules/mathl (Files): Remove lib/floorl.c.
102387         (Depends-on): Add floorl.
102389 2007-10-04  Bruno Haible  <bruno@clisp.org>
102391         * modules/floorf-tests: New file.
102392         * tests/test-floorf.c: New file.
102394         * modules/floorf: New file.
102395         * lib/floor.c: New file.
102396         * lib/floorf.c: New file.
102397         * m4/floorf.m4: New file.
102398         * lib/math.in.h (floorf): New declaration.
102399         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
102400         HAVE_DECL_FLOORF.
102401         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
102402         HAVE_DECL_FLOORF.
102403         * doc/functions/floorf.texi: Mention the 'floorf' module.
102405 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
102406             Bruno Haible  <bruno@clisp.org>
102408         Advertise for the Git server instead of the CVS server.
102409         * doc/gnulib-intro.texi (Steady Development): Mention the Git
102410         repository instead of the CVS one.
102411         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
102412         about all VCS systems generically.
102413         * doc/gnulib.texi (Introduction): Capitalize `Git'.
102415 2007-10-04  Bruno Haible  <bruno@clisp.org>
102417         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
102418         means.
102419         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
102421 2007-10-04  Bruno Haible  <bruno@clisp.org>
102423         * modules/truncl-tests: New file.
102424         * tests/test-truncl.c: New file.
102426         * modules/truncl: New file.
102427         * lib/truncl.c: New file.
102428         * m4/truncl.m4: New file.
102429         * lib/math.in.h (truncl): New declaration.
102430         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
102431         HAVE_DECL_TRUNCL.
102432         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
102433         HAVE_DECL_TRUNCL.
102434         * doc/functions/truncl.texi: Mention the 'truncl' module.
102436 2007-10-04  Bruno Haible  <bruno@clisp.org>
102438         * modules/truncf-tests: New file.
102439         * tests/test-truncf.c: New file.
102441         * modules/truncf: New file.
102442         * lib/trunc.c: Make paramerizable through USE_* macros.
102443         * lib/truncf.c: New file.
102444         * m4/truncf.m4: New file.
102445         * lib/math.in.h (truncf): New declaration.
102446         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
102447         HAVE_DECL_TRUNCF.
102448         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
102449         HAVE_DECL_TRUNCF.
102450         * doc/functions/truncf.texi: Mention the 'truncf' module.
102452 2007-10-03  Bruno Haible  <bruno@clisp.org>
102454         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
102455         augmentation also for tests modules.
102456         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
102457         * modules/atexit-tests (Makefile.am): Likewise.
102458         * modules/binary-io-tests (Makefile.am): Likewise.
102459         * modules/c-strcase-tests (Makefile.am): Likewise.
102460         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
102461         * modules/canonicalize-tests (Makefile.am): Likewise.
102462         * modules/closein-tests (Makefile.am): Likewise.
102463         * modules/fprintf-posix-tests (Makefile.am): Likewise.
102464         * modules/freadahead-tests (Makefile.am): Likewise.
102465         * modules/fseek-tests (Makefile.am): Likewise.
102466         * modules/fseeko-tests (Makefile.am): Likewise.
102467         * modules/ftell-tests (Makefile.am): Likewise.
102468         * modules/ftello-tests (Makefile.am): Likewise.
102469         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
102470         * modules/isnanl-tests (Makefile.am): Likewise.
102471         * modules/lseek-tests (Makefile.am): Likewise.
102472         * modules/mbscasecmp-tests (Makefile.am): Likewise.
102473         * modules/mbscasestr-tests (Makefile.am): Likewise.
102474         * modules/mbschr-tests (Makefile.am): Likewise.
102475         * modules/mbscspn-tests (Makefile.am): Likewise.
102476         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
102477         * modules/mbspbrk-tests (Makefile.am): Likewise.
102478         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
102479         * modules/mbsrchr-tests (Makefile.am): Likewise.
102480         * modules/mbsspn-tests (Makefile.am): Likewise.
102481         * modules/mbsstr-tests (Makefile.am): Likewise.
102482         * modules/printf-posix-tests (Makefile.am): Likewise.
102483         * modules/snprintf-posix-tests (Makefile.am): Likewise.
102484         * modules/sprintf-posix-tests (Makefile.am): Likewise.
102485         * modules/tsearch-tests (Makefile.am): Likewise.
102486         * modules/uniname/uniname-tests (Makefile.am): Likewise.
102487         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
102488         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
102489         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
102490         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
102491         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
102492         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
102493         * modules/vprintf-posix-tests (Makefile.am): Likewise.
102494         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
102495         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
102496         * modules/xstrtoimax-tests (Makefile.am): Likewise.
102497         * modules/xstrtol-tests (Makefile.am): Likewise.
102498         * modules/xstrtoumax-tests (Makefile.am): Likewise.
102499         * modules/yesno-tests (Makefile.am): Likewise.
102501 2007-10-03  Bruno Haible  <bruno@clisp.org>
102503         * modules/trunc-tests: New file.
102504         * tests/test-trunc.c: New file.
102506         * modules/trunc: New file.
102507         * lib/trunc.c: New file.
102508         * m4/trunc.m4: New file.
102509         * lib/math.in.h (trunc): New declaration.
102510         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
102511         HAVE_DECL_TRUNC.
102512         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
102513         HAVE_DECL_TRUNC.
102514         * doc/functions/trunc.texi: Mention the 'trunc' module.
102516 2007-10-03  Bruno Haible  <bruno@clisp.org>
102518         * tests/test-fpending.c: New file, mostly copied
102519         from coreutils/lib/t-fpending.c.
102520         * modules/fpending-tests: New file.
102522 2007-10-03  Bruno Haible  <bruno@clisp.org>
102524         Port the stdio extensions to QNX (untested).
102525         * lib/fseterr.c (fseterr): Add support for QNX.
102526         * lib/fbufmode.c (fbufmode): Likewise.
102527         * lib/freadable.c (freadable): Likewise.
102528         * lib/fwritable.c (fwritable): Likewise.
102529         * lib/freading.c (freading): Likewise.
102530         * lib/fwriting.c (fwriting): Likewise.
102531         * lib/freadahead.c (freadahed): Likewise.
102532         * lib/fpurge.c (fpurge): Likewise.
102533         * lib/fseeko.c (rpl_fseeko): Likewise.
102535 2007-10-03  Bruno Haible  <bruno@clisp.org>
102536             Jim Meyering  <jim@meyering.net>
102537             Eric Blake  <ebb9@byu.net>
102539         * doc/relocatable.texi: Use @command instead of @program.
102541 2007-10-02  Jim Meyering  <jim@meyering.net>
102543         Perform one more "_.h" -> ".in.h" substitution.
102544         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
102545         instead of unistd_.h here, too.
102547 2007-10-01  Bruno Haible  <bruno@clisp.org>
102549         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
102550         Needed for the alloca-opt module.
102552 2007-09-30  Bruno Haible  <bruno@clisp.org>
102554         * lib/alloca.in.h: Renamed from lib/alloca_.h.
102555         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
102556         alloca_.h.
102557         * lib/argz.in.h: Renamed from lib/argz_.h.
102558         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
102559         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
102560         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
102561         byteswap_.h.
102562         * lib/dirent.in.h: Renamed from lib/dirent_.h.
102563         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
102564         dirent_.h.
102565         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
102566         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
102567         fcntl_.h.
102568         * lib/float.in.h: Renamed from lib/float_.h.
102569         * modules/float (Files, Makefile.am): Use float.in.h instead of
102570         float_.h.
102571         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
102572         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
102573         fnmatch_.h.
102574         * lib/getopt.in.h: Renamed from lib/getopt_.h.
102575         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
102576         getopt_.h.
102577         * lib/glob.in.h: Renamed from lib/glob_.h.
102578         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
102579         * lib/iconv.in.h: Renamed from lib/iconv_.h.
102580         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
102581         iconv_.h.
102582         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
102583         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
102584         inttypes_.h.
102585         * lib/locale.in.h: Renamed from lib/locale_.h.
102586         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
102587         locale_.h.
102588         * lib/math.in.h: Renamed from lib/math_.h.
102589         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
102590         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
102591         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
102592         of netinet_in_.h. Add dependency.
102593         * lib/poll.in.h: Renamed from lib/poll_.h.
102594         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
102595         * lib/search.in.h: Renamed from lib/search_.h.
102596         * modules/search (Files, Makefile.am): Use search.in.h instead of
102597         search_.h.
102598         * lib/signal.in.h: Renamed from lib/signal_.h.
102599         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
102600         _signal.h.
102601         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
102602         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
102603         stdbool_.h.
102604         * lib/stdint.in.h: Renamed from lib/stdint_.h.
102605         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
102606         stdint_.h.
102607         * lib/stdio.in.h: Renamed from lib/stdio_.h.
102608         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
102609         stdio_.h.
102610         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
102611         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
102612         stdlib_.h.
102613         * lib/string.in.h: Renamed from lib/string_.h.
102614         * modules/string (Files, Makefile.am): Use string.in.h instead of
102615         string_.h.
102616         * doc/gnulib-tool.texi (Initial import): Update.
102617         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
102618         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
102619         of sys_select_.h. Add dependency.
102620         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
102621         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
102622         of sys_socket_.h.
102623         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
102624         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
102625         sys_stat_.h.
102626         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
102627         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
102628         sys_time_.h.
102629         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
102630         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
102631         sysexits_.h.
102632         * lib/time.in.h: Renamed from lib/time_.h.
102633         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
102634         * lib/unistd.in.h: Renamed from lib/unistd_.h.
102635         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
102636         unistd_.h.
102637         * lib/wchar.in.h: Renamed from lib/wchar_.h.
102638         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
102639         wchar_.h.
102640         * lib/wctype.in.h: Renamed from lib/wctype_.h.
102641         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
102642         wctype_.h.
102643         * build-aux/bootstrap (slurp): Update.
102644         * lib/.cppi-disable: Update.
102646 2007-09-30  Bruno Haible  <bruno@clisp.org>
102648         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
102649         Needed on BeOS.
102651 2007-09-30  Bruno Haible  <bruno@clisp.org>
102653         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
102655 2007-09-29  Bruno Haible  <bruno@clisp.org>
102657         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
102659 2007-09-29  Bruno Haible  <bruno@clisp.org>
102661         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
102662         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
102663         * build-aux/install-reloc: Compile also areadlink.c.
102664         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
102666 2007-09-29  Bruno Haible  <bruno@clisp.org>
102668         * gnulib-tool (func_emit_initmacro_done): Indentation.
102670 2007-09-29  Bruno Haible  <bruno@clisp.org>
102672         * README: Add CVS checkout update instructions.
102673         Info from Bob Proulx <bob@proulx.com>.
102675 2007-09-28  Eric Blake  <ebb9@byu.net>
102677         Provide move-if-change.
102678         * build-aux/move-if-change: New file, based on best practice
102679         rather than any canonical upstream location.
102681 2007-09-28  Jim Meyering  <jim@meyering.net>
102683         Fix canonicalize loop-detection corner case.
102684         Do not attempt to stat the symlink values stored via seen_triple.
102685         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
102686         on linux-2.6.18, (but not 2.6.22).
102687         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
102688         triple_compare.  The former compares dev,ino,filename, while the latter
102689         would actually stat dirname(filename) when dev and ino were equal.
102690         * lib/hash-triple.c: Install <string.h>.
102691         (STREQ): Define.
102692         (triple_compare_ino_str): New function.
102693         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
102695 2007-09-28  Eric Blake  <ebb9@byu.net>
102697         Enforce that AC_REPLACE_FUNCS files exist.
102698         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
102699         override check for typos.
102701         Fix test-closein on Solaris 10.
102702         * tests/test-closein.c (main): Don't assume stdin can be inherited
102703         closed on all systems.
102704         * tests/test-closein.sh: Likewise.
102705         Reported by Piotr Tarnowski.
102707 2007-09-28  Jim Meyering  <jim@meyering.net>
102709         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
102711 2007-09-27  Jim Meyering  <jim@meyering.net>
102713         canonicalize: Avoid a false-positive cycle failure.
102714         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
102715         Sort.  Remove cycle-check.
102716         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
102717         not cycle-check.h.
102718         (seen_triple): New function.
102719         (canonicalize_filename_mode): Use it instead of cycle-check.
102720         * tests/test-canonicalize.c: Add a test for this bug.
102721         * tests/test-canonicalize.sh: Set up and run the test.
102723         New module, file-set, from coreutils.
102724         * modules/file-set: Define it.
102725         * lib/file-set.c, lib/file-set.h: Implement.
102727         New module, hash-triple, from coreutils.
102728         * modules/hash-triple: Define it.
102729         * lib/hash-triple.c, lib/hash-triple.h: Implement.
102731 2007-09-25  Eric Blake  <ebb9@byu.net>
102733         Fix strerror on Interix.
102734         * lib/string_.h (strerror): Declare replacement.
102735         * doc/functions/strerror.texi (strerror): Document the Interix
102736         shortcoming.
102737         * modules/string (Makefile.am): Support new hooks.
102738         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
102739         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
102740         gl_FUNC_STRERROR_SEPARATE.
102741         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
102742         * lib/strerror.c (rpl_strerror): Provide replacement.
102743         * modules/strerror (Depends-on): Add string.
102744         (configure.ac): Detect use of module.
102745         * tests/test-strerror.c: New file.
102746         * modules/strerror-tests: New test module.
102747         * modules/argp (Depends-on): Add strerror.
102748         * modules/error (Depends-on): Likewise.
102749         Reported by Martin Koeppe.
102751 2007-09-24  Bruno Haible  <bruno@clisp.org>
102753         * README: Update git instructions.
102755 2007-09-24  Eric Blake  <ebb9@byu.net>
102757         Revert fpending breakage from 2007-09-08.
102758         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
102759         __fpending.c.
102761 2007-09-24  Jim Meyering  <jim@meyering.net>
102763         filenamecat.c: Add a test.
102764         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
102765         showing how the function works when DIR is the empty string.
102767 2007-09-21  Simon Josefsson  <simon@josefsson.org>
102769         * tests/test-canonicalize.sh: Turn on executable bit.
102771 2007-09-19  Eric Blake  <ebb9@byu.net>
102773         * README: Update CVS instructions.
102775 2007-09-18  Bruno Haible  <bruno@clisp.org>
102777         * modules/areadlink: New file.
102778         * lib/areadlink.h (areadlink): New declaration.
102779         * lib/areadlink.c: New file, based on lib/xreadlink.c.
102781 2007-09-17  Jim Meyering  <jim@meyering.net>
102783         * lib/savewd.c (ESTALE) [!defined]: Define.
102784         Reported to be required on Interix by Martin Koeppe.
102786 2007-09-17  Bruno Haible  <bruno@clisp.org>
102788         * gnulib-tool (func_version): Use $version.
102790 2007-09-16  Bruno Haible  <bruno@clisp.org>
102792         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
102793         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
102794         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
102795         Reported by Greg Schafer <gschafer@zip.com.au>.
102797 2007-09-15  Bruno Haible  <bruno@clisp.org>
102799         * gnulib-tool (sed): Try a little harder to make bash understand the
102800         alias.
102801         Reported by Bruce Korb <bruce.korb@gmail.com>.
102803 2007-09-13  Eric Blake  <ebb9@byu.net>
102805         * ChangeLog: Remove conflict markers.
102807 2007-09-13  Simon Josefsson  <simon@josefsson.org>
102809         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
102810         Reported by Bruno Haible <bruno@clisp.org>.
102812 2007-09-12  Bruno Haible  <bruno@clisp.org>
102814         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
102815         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
102816         is not defined.
102818 2007-09-12  Eric Blake  <ebb9@byu.net>
102820         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
102821         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
102822         Autoconf definition.
102823         * modules/euidaccess (Depends-on): Add extensions, for
102824         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
102825         * modules/fnmatch (Depends-on): Likewise.
102826         * modules/getaddrinfo (Depends-on): Likewise.
102827         * modules/getdelim (Depends-on): Likewise.
102828         * modules/getline (Depends-on): Likewise.
102829         * modules/getsubopt (Depends-on): Likewise.
102830         * modules/gettext (Depends-on): Likewise.
102831         * modules/group-member (Depends-on): Likewise.
102832         * modules/mbchar (Depends-on): Likewise.
102833         * modules/memmem (Depends-on): Likewise.
102834         * modules/mempcpy (Depends-on): Likewise.
102835         * modules/memrchr (Depends-on): Likewise.
102836         * modules/pagealign_alloc (Depends-on): Likewise.
102837         * modules/readutmp (Depends-on): Likewise.
102838         * modules/stpcpy (Depends-on): Likewise.
102839         * modules/stpncpy (Depends-on): Likewise.
102840         * modules/strchrnul (Depends-on): Likewise.
102841         * modules/strndup (Depends-on): Likewise.
102842         * modules/strsep (Depends-on): Likewise.
102843         * modules/strverscmp (Depends-on): Likewise.
102844         * modules/vasprintf (Depends-on): Likewise.
102845         * modules/wcwidth (Depends-on): Likewise.
102846         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
102847         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
102848         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
102849         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
102850         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
102851         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102852         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
102853         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
102854         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
102855         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
102856         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
102857         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
102858         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
102859         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
102860         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
102861         * m4/readutmp.m4 (gl_READUTMP): Likewise.
102862         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
102863         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
102864         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102865         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
102866         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
102867         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
102868         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
102869         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
102870         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
102871         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
102872         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
102873         so that lock.m4 can be used in gettext without extensions module.
102875 2007-09-11  Bruno Haible  <bruno@clisp.org>
102877         * m4/isc-posix.m4: Remove file.
102878         Suggested by Eric Blake.
102880 2007-09-11  Eric Blake  <ebb9@byu.net>
102882         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
102884 2007-09-10  Bruno Haible  <bruno@clisp.org>
102886         * posix-modules: Fix typo in error message.
102887         Reported by Matt <mkraai@beckman.com>.
102889 2007-09-09  Bruno Haible  <bruno@clisp.org>
102891         * doc/functions/getdelim.texi: Update list of platforms lacking the
102892         function.
102893         * doc/functions/getline.texi: Likewise.
102895 2007-09-09  Jim Meyering  <jim@meyering.net>
102897         * lib/hash.c (hash_initialize): Detect calloc failure.
102898         Reported by Bruno Haible.
102900 2007-09-09  Bruno Haible  <bruno@clisp.org>
102902         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
102903         malloc or realloc fails.
102905 2007-09-09  Bruno Haible  <bruno@clisp.org>
102907         * modules/getcwd (Depends-on): Add malloc-posix.
102908         * modules/glob (Depends-on): Likewise.
102909         * modules/putenv (Depends-on): Likewise.
102910         * modules/strdup (Depends-on): Likewise.
102911         * modules/getdelim (Depends-on): Add realloc-posix.
102912         * modules/read-file (Depends-on): Likewise.
102914 2007-09-09  Bruno Haible  <bruno@clisp.org>
102916         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
102917         (gl_FUNC_MALLOC_POSIX): Require it.
102918         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
102919         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
102920         * modules/realloc (Files): Add m4/malloc.m4.
102921         * modules/calloc (Files): Likewise.
102923 2007-09-09  Bruno Haible  <bruno@clisp.org>
102925         * modules/malloc-posix: New file.
102926         * modules/malloc (Depends-on): Add malloc-posix.
102927         * lib/malloc.c: Include errno.h.
102928         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
102929         and a POSIX-compatible malloc into a single function. Set ENOMEM
102930         when returning NULL.
102931         * m4/malloc.m4: New file.
102932         * doc/functions/malloc.texi: Mention the malloc-posix module.
102933         * lib/stdlib_.h (malloc): New declaration.
102934         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102935         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
102936         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
102937         and HAVE_MALLOC_POSIX.
102939 2007-09-09  Bruno Haible  <bruno@clisp.org>
102941         * modules/realloc-posix: New file.
102942         * modules/realloc (Depends-on): Add realloc-posix.
102943         * lib/realloc.c: Include errno.h.
102944         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
102945         and a POSIX-compatible realloc into a single function. Set ENOMEM
102946         when returning NULL.
102947         * m4/realloc.m4: New file.
102948         * doc/functions/realloc.texi: Mention the realloc-posix module.
102949         * lib/stdlib_.h (realloc): New declaration.
102950         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102951         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
102952         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
102953         and HAVE_REALLOC_POSIX.
102955 2007-09-09  Bruno Haible  <bruno@clisp.org>
102957         * modules/calloc-posix: New file.
102958         * modules/calloc (Depends-on): Add calloc-posix.
102959         * lib/calloc.c: Include errno.h.
102960         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
102961         and a POSIX-compatible calloc into a single function. Set ENOMEM
102962         when returning NULL.
102963         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
102964         * doc/functions/calloc.texi: Mention the calloc-posix module.
102965         * lib/stdlib_.h (calloc): New declaration.
102966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102967         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
102968         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
102969         and HAVE_CALLOC_POSIX.
102971 2007-09-09  Bruno Haible  <bruno@clisp.org>
102973         Allow for modules to show an arbitrary notice.
102974         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
102975         * gnulib-tool: New option --extract-notice.
102976         (func_usage): Document it.
102977         (sed_extract_prog): Update.
102978         (func_get_notice): New function.
102979         (func_modules_notice): New function.
102980         (func_import, func_create_testdir): Invoke it.
102981         Suggested by Jim Meyering.
102983 2007-09-09  Bruno Haible  <bruno@clisp.org>
102985         * gnulib-tool: New options --verbose, --quiet.
102986         (func_usage): Document them.
102987         (verbose): New variable.
102988         (func_execute_command): New function.
102989         (func_import): Don't show the module list and the file list if
102990         $verbose < 0.
102991         (func_create_testdir): Likewise. Use func_execute_command.
102992         (func_create_megatestdir): Use func_execute_command.
102994 2007-09-08  Bruno Haible  <bruno@clisp.org>
102996         * gnulib-tool (func_import): Prefer rsync over wget when available,
102997         for fetching the PO files.
102999 2007-09-08  Bruno Haible  <bruno@clisp.org>
103001         * posix-modules: New file. Portions copied from gnulib-tool.
103002         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
103004 2007-09-08  Jim Meyering  <jim@meyering.net>
103006         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
103007         * lib/fpending.h: Rename from __fpending.h.
103008         * lib/fpending.c: Rename from __fpending.c.
103009         Include "fpending.h", not "__fpending.h".
103010         * lib/__fpending.h, lib/__fpending.c: Remove files.
103011         * modules/fpending (Files): Reflect new file names.
103012         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
103014 2007-09-08  Bruno Haible  <bruno@clisp.org>
103016         * m4/inttypes-h.m4: Remove stub file.
103018 2007-09-07  Simon Josefsson  <simon@josefsson.org>
103020         * doc/headers/stdint.texi: Discuss #include_next issue.
103022 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103024         * build-aux/bootstrap: Remove obsolete comment about wget --help.
103026 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103028         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
103029         in variable name.
103031 2007-09-03  Jim Meyering  <jim@meyering.net>
103033         New module: git-version-gen.
103034         * modules/git-version-gen: New file.
103036         Import changes from coreutils for bootstrap script.
103038         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
103040         bootstrap: uses rsync to download the .po files
103041         * build-aux/bootstrap (po_download_command_format): New global.
103042         (download_po_files): Use rsync.
103043         (update_po_files): Don't remove .po files after download,
103044         so future rsync runs can take advantage of the copies.
103046         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
103048         Solve the unnecessary-.po-file-regeneration problem once and for all.
103049         * build-aux/bootstrap (download_po_files): New function, renamed from
103050         get_translations.  Now, downloads, but doesn't update LINGUAS.
103051         (update_po_files): New function.
103053         bootstrap: Ignore more.
103054         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
103055         uniwidth to e.g., lib/.gitignore.
103056         (slurp): Handle the sys_stat_.h -> sys mapping, too.
103058         * build-aux/bootstrap: New setting: vc_ignore.
103059         (insert_sorted_if_absent): Create $file if absent.
103060         Adapt to new, possibly empty, list: $vc_ignore.
103062         bootstrap: generate more ignorable names
103063         * build-aux/bootstrap (slurp): When generating ignorable names,
103064         also map .sin to .sed, .gperf to .c, and .y to .c.
103066 2007-09-03  Jim Meyering  <jim@meyering.net>
103068         * build-aux/git-version-gen: New file, from coreutils.  For details, see
103069         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
103071 2007-09-02  Bruno Haible  <bruno@clisp.org>
103073         Fix mis-recognition of 'mcs' on QNX 6.
103074         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
103075         output contains the string "Mono".
103076         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
103077         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
103079 2007-09-01  Bruno Haible  <bruno@clisp.org>
103081         Fix collision between uniwidth/* and linebreak modules.
103082         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
103083         u32_width): Remove declarations.
103084         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
103085         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
103086         streq3, streq2, streq1, streq0): Remove functions.
103087         (STREQ): Remove macro.
103088         (is_cjk_encoding): Remove function.
103089         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
103090         (uc_width, u8_width, u16_width, u32_width): Remove functions.
103091         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
103092         * NEWS: Document the change.
103094 2007-09-01  Bruno Haible  <bruno@clisp.org>
103096         * lib/streq.h: Add double-inclusion guard.
103098 2007-09-01  Karl Berry  <karl@gnu.org>
103100         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
103102 2007-08-28  Jim Meyering  <jim@meyering.net>
103104         Rename mreadlink_with_size to areadlink_with_size.
103105         * NEWS: Document the change.
103106         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
103107         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
103108         * lib/mreadlink.h: Rename this to...
103109         * lib/areadlink.h: ...this.
103110         * modules/mreadlink-with-size: Rename this to...
103111         * modules/areadlink-with-size: ...this.
103112         * lib/canonicalize.c: Reflect the renaming.
103113         * modules/canonicalize: Likewise.
103115 2007-08-26  Bruno Haible  <bruno@clisp.org>
103117         * gnulib-tool (func_import): When deciding which files to remove,
103118         consider also dangling symbolic links.
103119         Reported by Eric Blake.
103121 2007-08-26  Bruno Haible  <bruno@clisp.org>
103123         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
103125 2007-08-23  Simon Josefsson  <simon@josefsson.org>
103127         * lib/readline.c: Don't include getline.h, the prototype is now
103128         found in stdio.h.
103130 2007-08-23  Jim Meyering  <jim@meyering.net>
103132         Getdelim touchup.
103133         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
103134         around the funlockfile call, since funlockfile never sets errno.
103135         Don't set errno upon failed realloc.
103137 2007-08-22  Eric Blake  <ebb9@byu.net>
103139         Getline touchups.
103140         * lib/getdelim.c (getdelim): Revert regression that required *n to
103141         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
103142         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
103143         getdelim, rather than whether implementation is missing.
103144         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
103145         * lib/stdio_.h (getline): Also declare if replacement is
103146         required.
103147         * doc/functions/getdelim.texi: New file.
103148         * doc/functions/getline.texi: Likewise.
103149         * doc/gnulib.texi (Function Substitutes): Add new files.
103150         Reported by Bruno Haible.
103152 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
103154         * users.txt: Add Guile.
103156 2007-08-22  Eric Blake  <ebb9@byu.net>
103158         * tests/test-getdelim.c (main): Use remove, not unlink.
103159         * tests/test-getline.c (main): Likewise.
103161         Move getline and getdelim into stdio.h, per POSIX 200x.
103162         * modules/getline (Files): Remove getline.h.
103163         (Depends-on): Add stdio.
103164         (configure.ac): Add module indicator.
103165         * modules/getdelim (Files): Remove getdelim.h.
103166         (Depends-on): Add stdio.
103167         (configure.ac): Add module indicator.
103168         * modules/stdio (Makefile.am): Work with new indicators.
103169         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
103170         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
103171         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
103172         * lib/getdelim.h: Delete.
103173         * lib/getline.h: Delete.
103174         * lib/stdio_.h (getdelim, getline): Declare.
103175         * modules/getdelim-tests: New module.
103176         * modules/getline-tests: Likewise.
103177         * tests/test-getdelim.c: New file.
103178         * tests/test-getline.c: Likewise.
103179         * NEWS: Document the change.
103180         * lib/getline.c: Update choice of header.
103181         * lib/csharpcomp.c: Likewise.
103182         * lib/getpass.c: Likewise.
103183         * lib/javacomp.c: Likewise.
103184         * lib/javaversion.c: Likewise.
103185         * lib/yesno.c: Likewise.
103186         * lib/getdelim.c: Likewise.
103187         (getdelim): Set errno on failure, and avoid memory leak.
103189 2007-08-19  Bruno Haible  <bruno@clisp.org>
103191         * modules/closein (Depends-on): Add freadahead.
103192         * lib/closein.c: Include freadahead.h.
103193         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
103194         is zero.
103196 2007-08-19  Bruno Haible  <bruno@clisp.org>
103198         * modules/freadahead-tests: New file.
103199         * tests/test-freadahead.sh: New file.
103200         * tests/test-freadahead.c: New file.
103202         * modules/freadahead: New file.
103203         * lib/freadahead.h: New file.
103204         * lib/freadahead.c: New file.
103205         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
103206         fbufmode, fpurge, freadable, fwritable.
103208 2007-08-19  Eric Blake  <ebb9@byu.net>
103210         Test yesno in combination with closein.
103211         * lib/yesno.c (yesno): Document use of stdin.
103212         * modules/yesno-tests (Files): New module.
103213         * tests/test-yesno.c (main): New file.
103214         * tests/test-yesno.sh: Likewise.
103216 2007-08-19  Bruno Haible  <bruno@clisp.org>
103218         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
103219         * lib/fseeko.c (rpl_fseeko): Likewise.
103220         * lib/fseterr.c (fseterr): Likewise.
103222 2007-08-19  Bruno Haible  <bruno@clisp.org>
103224         * tests/test-lseek.c (main): Disable a test for BeOS.
103225         * doc/functions/lseek.texi: Document the BeOS bug.
103227 2007-08-19  Bruno Haible  <bruno@clisp.org>
103228             Eric Blake  <ebb9@byu.net>
103230         * lib/lseek.c: Include <sys/stat.h>.
103231         (rpl_lseek): Add workaround code also for Unix platforms.
103232         Needed for BeOS.
103233         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
103234         * doc/functions/lseek.texi: Document BeOS definiency.
103236 2007-08-18  Bruno Haible  <bruno@clisp.org>
103238         * modules/fstrcmp-tests: New file.
103239         * tests/test-fstrcmp.c: New file.
103241 2007-08-18  Bruno Haible  <bruno@clisp.org>
103243         * modules/fstrcmp: New file, from GNU gettext with modifications.
103244         * lib/fstrcmp.h: New file, from GNU gettext.
103245         * lib/fstrcmp.c: New file, from GNU gettext.
103246         * MODULES.html.sh (String handling): Add fstrcmp.
103248 2007-08-18  Bruno Haible  <bruno@clisp.org>
103250         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
103251         'bool'.
103252         (diag, compareseq): Remove const from the ctxt argument.
103253         (USE_HEURISTIC): Undefine at the end.
103255 2007-08-18  Jim Meyering  <jim@meyering.net>
103257         New file: lib/idcache.h
103258         * NEWS: Mention the addition.
103259         * modules/idcache (Files): Add lib/idcache.h
103260         * lib/idcache.c: Include "idcache.h".
103261         Don't include <sys/types.h>.
103262         Add a FIXME comment.
103263         Move file-scoped "static" declarations to the top.
103264         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
103266 2007-08-17  Bruno Haible  <bruno@clisp.org>
103267         and Paul Eggert  <eggert@cs.ucla.edu>
103269         * MODULES.html.sh: Add diffseq.
103270         * modules/diffseq: New file.
103271         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
103272         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
103274 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
103276         Import changes from coreutils for bootstrap script.
103278         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
103280         * build-aux/bootstrap (slurp): Work even in environments where
103281         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
103282         current code does not slurp files whose names start with ".", and
103283         this looks like it might be a troublesome area.
103285         2007-07-11  Jim Meyering  <jim@meyering.net>
103287         If there's a GPL vN copyright comment, require that N == 3.
103289         2007-07-08  Jim Meyering  <jim@meyering.net>
103291         Run the coreutils-specific code only if tests/Makefile.am.in exists.
103292         * build-aux/bootstrap (mam_template): Move definition out of loop.
103294         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
103296         * build-aux/bootstrap (symlink_to_dir): Rename function from
103297         symlink_to_gnulib.  Add a directory parameter.  Update all
103298         callers.
103299         (cp_mark_as_generated): Also check for -- and link to -- files in
103300         gl/.
103302         2007-07-08  Jim Meyering  <jim@meyering.net>
103304         Adapt to deeper hierarchy in gnulib.
103305         * build-aux/bootstrap (symlink_to_dir): If the destination
103306         directory doesn't exist, create it. This is required at least for
103307         "lib/uniwidth/cjk.h".
103309         2007-05-15  Jim Meyering  <jim@meyering.net>
103311         * build-aux/bootstrap: Now that generated Makefile.am files
103312         are no longer under version control, they must be created at
103313         bootstrap time.
103315 2007-08-14  Ben Pfaff  <blp@gnu.org>
103317         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
103319 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
103321         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
103322         given the changes below.
103323         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
103324         even on hosts that have padding bits beyond the supported 64.
103326 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
103328         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
103329         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
103330         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
103331         depends on it.
103332         (xstrtol_error): Remove.
103333         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
103334         but with a different signature.
103335         (ATTRIBUTE_NORETURN, __attribute__): New macros.
103336         * lib/xstrtol-error.c: Include exitfail.h.
103337         (xstrtol_fatal): New function, with a different signature from the
103338         old xstrtol_error, so that the caller need not worry about passing
103339         in an exit status, or about storage management of the option argument.
103340         (xstrtol_error): Now a static function.  Redo signature to
103341         implement xstrtol_fatal.  Output the correct number of hyphens in
103342         front of the option so that the caller need not worry about
103343         storage management.
103344         (N_): New macro.
103345         (_): Remove; not used now.
103346         * modules/xstrtol: Depend on getopt.
103347         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
103348         of old STRTOL_FATAL_ERROR macro.
103349         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
103350         of test program.
103351         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
103352         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
103354 2007-08-08  Eric Blake  <ebb9@byu.net>
103356         * lib/xstrtol-error.c: Add missing include.
103358         Move xstrtol messages into gnulib domain, when --pobase is used.
103359         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
103360         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
103361         * modules/xstrtol (Files): Distribute new file.
103362         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
103363         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
103364         * tests/test-xstrtol.c: ...into new file.
103365         * tests/test-xstrtoul.c: Also test xstrtoul.
103366         * tests/test-xstrtoimax.c: Also test xstrtoimax.
103367         * tests/test-xstrtoumax.c: Also test xstrtoumax.
103368         * tests/test-xstrtol.sh: Drive the tests.
103369         * tests/test-xstrtoimax.sh: Likewise.
103370         * tests/test-xstrtoumax.sh: Likewise.
103371         * modules/xstrtol-tests: New module.
103372         * modules/xstrtoimax-tests: Likewise.
103373         * modules/xstrtoumax-tests: Likewise.
103375 2007-08-08  Jim Meyering  <jim@meyering.net>
103377         New function: mfile_name_concat.
103378         * lib/filenamecat.c (mfile_name_concat): New function, just like
103379         file_name_concat, but return NULL upon failure rather than exiting
103380         with a diagnostic.
103381         * lib/filenamecat.h: Declare it.
103383 2007-08-07  Bruno Haible  <bruno@clisp.org>
103385         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
103386         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
103387         warning from gcc.
103388         Reported by Eric Blake.
103390 2007-08-07  Simon Josefsson  <simon@josefsson.org>
103392         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
103393         * modules/crypto/arcfour (License): Likewise.
103394         * modules/crypto/des-tests (License): Likewise.
103395         * modules/crypto/gc-arctwo-tests (License): Likewise.
103396         * modules/crypto/gc-des-tests (License): Likewise.
103397         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
103398         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
103399         * modules/crypto/gc-md2-tests (License): Likewise.
103400         * modules/crypto/gc-md4-tests (License): Likewise.
103401         * modules/crypto/gc-md5-tests (License): Likewise.
103402         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
103403         * modules/crypto/gc-rijndael-tests (License): Likewise.
103404         * modules/crypto/gc-sha1-tests (License): Likewise.
103405         * modules/crypto/gc-tests (License): Likewise.
103406         * modules/crypto/hmac-md5 (License): Likewise.
103407         * modules/crypto/hmac-sha1 (License): Likewise.
103408         * modules/crypto/md2-tests (License): Likewise.
103409         * modules/crypto/md4-tests (License): Likewise.
103410         * modules/crypto/md5 (License): Likewise.
103411         * modules/crypto/rijndael (License): Likewise.
103412         * modules/crypto/sha1 (License): Likewise.
103413         * modules/memxor (License): Likewise.
103415 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
103416         and Bruno Haible  <bruno@clisp.org>
103418         * NEWS: Describe interface changes to human, xstrtol.
103419         * lib/human.h: Include <xstrtol.h>.
103420         (human_options): Return enum strtol_error, not int.  Remove
103421         bool arg; take int * instead.
103422         * lib/human.c: Don't include "gettext.h".
103423         (_): Remove; no longer used.
103424         Don't include <xstrtol.h>, since human.h does it.
103425         (human_options): Adjust to abovementioned interface changes.
103426         Do not report error to stderr; that's now the caller's
103427         responsibility.
103428         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
103429         interface change.
103430         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
103431         Str, Argument_type_string.  All uses changed.  Put " argument"
103432         in diagnostics to make them clearer.  Change wording of suffix
103433         message for clarity.
103434         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
103435         Argument_type_string.
103436         (STRTOL_FATAL_WARN): Remove; no longer used.
103437         * modules/human (Depends-on): Remove gettext-h.
103439 2007-08-06  Simon Josefsson  <simon@josefsson.org>
103441         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
103443 2007-07-31  Bruno Haible  <bruno@clisp.org>
103445         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
103446         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
103447         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
103449 2007-07-31  Bruno Haible  <bruno@clisp.org>
103451         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
103452         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
103454 2007-07-30  Bruno Haible  <bruno@clisp.org>
103456         * modules/base64 (License): Use the synonymous term "LGPLv2+".
103457         * modules/c-ctype (License): Likewise.
103458         * modules/c-strcase (License): Likewise.
103459         * modules/check-version (License): Likewise.
103460         * modules/iconv (License): Likewise.
103461         * modules/iconv_open (License): Likewise.
103462         * modules/read-file (License): Likewise.
103463         * modules/striconv (License): Likewise.
103464         * modules/strverscmp (License): Likewise.
103465         * modules/vasprintf (License): Likewise.
103466         * modules/crypto/des (License): Likewise.
103467         * modules/crypto/gc (License): Likewise.
103468         * modules/crypto/gc-arcfour (License): Likewise.
103469         * modules/crypto/gc-arctwo (License): Likewise.
103470         * modules/crypto/gc-des (License): Likewise.
103471         * modules/crypto/gc-hmac-md5 (License): Likewise.
103472         * modules/crypto/gc-hmac-sha1 (License): Likewise.
103473         * modules/crypto/gc-md2 (License): Likewise.
103474         * modules/crypto/gc-md4 (License): Likewise.
103475         * modules/crypto/gc-md5 (License): Likewise.
103476         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
103477         * modules/crypto/gc-random (License): Likewise.
103478         * modules/crypto/gc-rijndael (License): Likewise.
103479         * modules/crypto/gc-sha1 (License): Likewise.
103480         * modules/crypto/md2 (License): Likewise.
103481         * modules/crypto/md4 (License): Likewise.
103483 2007-07-30  Jim Meyering  <jim@meyering.net>
103485         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
103486         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
103487         it has valid stat data.  This bug would cause du not to count the
103488         sizes of inaccessible directories.
103489         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
103490         in <http://bugzilla.redhat.com/250077>.
103492 2007-07-25  Peter O'Gorman  <peter@pogma.com>
103493             Bruno Haible  <bruno@clisp.org>
103495         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
103496         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
103497         #include_next, gives a diagnostic about it, but reports no error in
103498         the exit code.
103499         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
103501 2007-07-24  Ben Pfaff  <blp@gnu.org>
103503         Improve name: "count-one-bits" is better than "popcount".
103504         * MODULES.html.sh: Update name.
103505         * lib/popcount.h: Renamed lib/count-one-bits.h.
103506         (popcount): Renamed count_one_bits.
103507         (popcountl): Renamed count_one_bits_l.
103508         (popcountll): Renamed count_one_bits_ll.
103509         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
103510         * modules/popcount: Renamed module/count-one-bits.
103511         * modules/popcount-tests: Renamed module/count-one-bits-tests.
103512         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
103514 2007-07-23  Ben Pfaff  <blp@gnu.org>
103516         * lib/popcount.h (popcount32): Reduce size of constants, to allow
103517         better code generation, and add U to large constants to avoid
103518         warnings, in non-GCC case.
103519         Suggested by Bruno Haible.
103521 2007-07-23  Ben Pfaff  <blp@gnu.org>
103523         * lib/popcount.h: Use verify_true instead of if...abort.
103524         * modules/popcount: Depend on verify module.
103525         Suggested by Jim Meyering.
103527 2007-07-23  Bruno Haible  <bruno@clisp.org>
103529         * gnulib-tool (func_import): Create a .cvsignore file also when the
103530         directory is not yet in CVS but the toplevel directory is. When
103531         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
103532         Reported by Karl Berry.
103534 2007-07-22  Ben Pfaff  <blp@gnu.org>
103536         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
103537         case.
103538         Suggested by Eric Blake.
103540 2007-07-22  Ben Pfaff  <blp@gnu.org>
103542         New module: popcount.
103543         * MODULES.html.sh: Add popcount.
103544         * modules/popcount: New file.
103545         * modules/popcount-tests: New file.
103546         * tests/test-popcount.c: New file.
103547         * lib/popcount.h: New file.
103548         * m4/popcount.m4: New file.
103550 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
103552         * build-aux/announce-gen: Update to GPLv3.
103554         * build-aux/config.guess: Update from config.
103556 2007-07-21  Bruno Haible  <bruno@clisp.org>
103558         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
103559         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
103561 2007-07-20  Jim Meyering  <jim@meyering.net>
103563         * check-module: Diagnose a self-dependency.
103565 2007-07-19  Bruno Haible  <bruno@clisp.org>
103567         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
103568         empty.
103569         Reported by Eric Blake.
103571 2007-07-18  Bruno Haible  <bruno@clisp.org>
103573         * gnulib-tool: New options --po-base, --po-domain.
103574         (func_usage): Document them.
103575         (pobase, po_domain): New variables.
103576         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
103577         DEFAULT_TEXT_DOMAIN.
103578         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
103579         (func_import): Consider pobase and po_domain. Create a po/ directory.
103580         (func_create_testdir): Set pobase and po_domain to empty.
103581         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
103582         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
103584 2007-07-18  Bruno Haible  <bruno@clisp.org>
103586         * gnulib-tool (func_get_automake_snippet): Synthesize also an
103587         EXTRA_DIST augmentation for files in build-aux/.
103589 2007-07-16  Bruno Haible  <bruno@clisp.org>
103591         * modules/lseek (License): Use the synonymous term "LGPLv2+".
103592         * modules/getdelim (License): Likewise.
103594 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103596         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
103597         * modules/d-type (License): Likewise.
103598         * modules/extensions (License): Likewise.
103599         * modules/fnmatch (License): Likewise.
103600         * modules/fseeko (License): Likewise.
103601         * modules/getaddrinfo (License): Likewise.
103602         * modules/getline (License): Likewise.
103603         * modules/getlogin_r (License): Likewise.
103604         * modules/getpass (License): Likewise.
103605         * modules/gettimeofday (License): Likewise.
103606         * modules/glob (License): Likewise.
103607         * modules/inet_ntop (License): Likewise.
103608         * modules/malloc (License): Likewise.
103609         * modules/malloca (License): Likewise.
103610         * modules/memmem (License): Likewise.
103611         * modules/mempcpy (License): Likewise.
103612         * modules/memset (License): Likewise.
103613         * modules/minmax (License): Likewise.
103614         * modules/mktime (License): Likewise.
103615         * modules/netinet_in (License): Likewise.
103616         * modules/pathmax (License): Likewise.
103617         * modules/poll (License): Likewise.
103618         * modules/regex (License): Likewise.
103619         * modules/snprintf (License): Likewise.
103620         * modules/stdbool (License): Likewise.
103621         * modules/stdint (License): Likewise.
103622         * modules/stdio (License): Likewise.
103623         * modules/strcase (License): Likewise.
103624         * modules/strcasestr (License): Likewise.
103625         * modules/strdup (License): Likewise.
103626         * modules/string (License): Likewise.
103627         * modules/strndup (License): Likewise.
103628         * modules/strnlen (License): Likewise.
103629         * modules/strpbrk (License): Likewise.
103630         * modules/strptime (License): Likewise.
103631         * modules/strsep (License): Likewise.
103632         * modules/sys_select (License): Likewise.
103633         * modules/sys_socket (License): Likewise.
103634         * modules/sys_stat (License): Likewise.
103635         * modules/sys_time (License): Likewise.
103636         * modules/time (License): Likewise.
103637         * modules/time_r (License): Likewise.
103638         * modules/timegm (License): Likewise.
103639         * modules/unistd (License): Likewise.
103640         * modules/vsnprintf (License): Likewise.
103641         * modules/wctype (License): Likewise.
103643 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103645         * modules/argz (License): LGPLv2+.
103647 2007-07-15  Karl Berry  <karl@gnu.org>
103649         * doc/gnulib.texi: revise node structure per new fdl.texi.
103651 2007-07-14  Bruno Haible  <bruno@clisp.org>
103653         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
103654         the output file.
103655         * lib/uniname/uninames.h: Regenerated.
103657 2007-07-14  Karl Berry  <karl@gnu.org>
103659         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
103660         omitting sectioning and index commands.
103662 2007-07-13  Bruno Haible  <bruno@clisp.org>
103664         New gnulib-tool option --more-symlinks.
103665         * gnulib-tool (func_usage): Document --more-symlinks.
103666         (do_copyrights): New variable.
103667         Recognize option --more-symlinks.
103668         (func_import): Don't add a copyright notice transform to
103669         sed_transform_lib_file if do_copyrights is empty.
103671 2007-07-13  Bruno Haible  <bruno@clisp.org>
103673         * lib/vasnprintf.c (decimal_point_char): Define also if
103674         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
103675         && !NEED_PRINTF_DIRECTIVE_A.
103676         Reported by Clemens Koller <clemens.koller@anagramm.de> via
103677         Gary V. Vaughan <gary@gnu.org>.
103679 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
103681         * lib/inttypes_.h: Undo previous change, since it was fixed
103682         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
103684 2007-07-13  Bruno Haible  <bruno@clisp.org>
103686         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
103687         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
103689 2007-07-13  Jim Meyering  <jim@meyering.net>
103691         df: Don't fail for Tru64's "file-on-file mount".
103692         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
103693         so we fall through and use statfs instead.  Details here:
103694         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
103695         Reported by Albert Chin.
103697 2007-07-13  Bruno Haible  <bruno@clisp.org>
103699         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
103700         * modules/configmake (License): Likewise.
103701         * modules/gettext (License): Likewise.
103702         * modules/gettext-h (License): Likewise.
103703         * modules/include_next (License): Likewise.
103704         * modules/link-warning (License): Likewise.
103705         * modules/localcharset (License): Likewise.
103706         * modules/localename (License): Likewise.
103707         * modules/lock (License): Likewise.
103708         * modules/relocatable-lib-lgpl (License): Likewise.
103709         * modules/size_max (License): Likewise.
103710         * modules/vasnprintf (License): Likewise.
103711         * modules/wchar (License): Likewise.
103712         * modules/xsize (License): Likewise.
103714 2007-07-13  Bruno Haible  <bruno@clisp.org>
103716         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
103717         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
103719 2007-07-12  Bruno Haible  <bruno@clisp.org>
103721         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
103722         in the modules files.
103724 2007-07-11  Karl Berry  <karl@gnu.org>
103726         * MODULES.html.sh (func_module): use
103727          sed -e '\|^'"${includefile}"'$|d'
103728          instead of /.../d, to avoid errors on $includefile's containing /.
103730 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
103732         * gnulib-tool (func_import): Avoid duplication of --avoid
103733         statements
103734         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
103735         names to `_' in variable names.
103737 2007-07-10  Eric Blake  <ebb9@byu.net>
103739         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
103740         * NEWS: Document this change.
103742 2007-07-08  Bruno Haible  <bruno@clisp.org>
103744         Update to Unicode 5.0.
103745         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
103746         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
103747         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
103748         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
103749         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
103750         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
103751         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
103752         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
103753         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
103754         U+10A3F, U+1D242..U+1D244.
103755         (nonspacing_table_ind): Update.
103756         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
103757         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
103759 2007-07-08  Bruno Haible  <bruno@clisp.org>
103761         Update to Unicode 5.0.
103762         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
103763         code transform. Extend the name index field of unicode_name_to_code and
103764         unicode_code_to_name from 16 to 24 bits.
103765         * lib/uniname/uniname.c (unicode_character_name,
103766         unicode_name_character): Add the range 0x12xxx to the code transform.
103767         * lib/uniname/uninames.h: Regenerated.
103768         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
103770 2007-07-07  Bruno Haible  <bruno@clisp.org>
103772         * modules/wcwidth-tests: New file.
103773         * tests/test-wcwidth.c: New file.
103775         Work around MacOS X wcwidth() bug.
103776         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
103777         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
103778         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
103779         original wcwidth in non-UTF-8 locales.
103780         * modules/wcwidth (Depends-on): Add localcharset, streq,
103781         uniwidth/width.
103782         * doc/functions/wcwidth.texi: Update.
103784 2007-07-07  Bruno Haible  <bruno@clisp.org>
103786         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
103787         (wcwidth): New declaration.
103788         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
103789         macros.
103790         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
103791         here. Prepare for creating <wchar.h> unconditionally.
103792         * modules/wchar (Depends-on): Add link-warning.
103793         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
103794         REPLACE_WCWIDTH, and GL_LINK_WARNING.
103795         * lib/wcwidth.h: Remove file.
103796         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
103797         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
103798         * modules/wcwidth (Files): Remove lib/wcwidth.h.
103799         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
103800         (Include): Replace wcwidth.h with <wchar.h>.
103801         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
103802         * lib/mbchar.h: Don't include wcwidth.h.
103803         * lib/mbswidth.c: Likewise.
103804         * NEWS: Mention the change.
103806 2007-07-07  Bruno Haible  <bruno@clisp.org>
103808         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
103809         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
103810         definition with an external declaration.
103811         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
103812         defined as a function. Remove AC_C_INLINE requirement.
103813         * modules/wcwidth (Files): Add lib/wcwidth.c.
103814         (Makefile.am): Remove redundant statement.
103816 2007-07-07  Bruno Haible  <bruno@clisp.org>
103818         * MODULES.html.sh (Unicode string functions): Add the new modules.
103820         * tests/uniwidth/test-u32-strwidth.c: New file.
103821         * modules/uniwidth/u32-strwidth-tests: New file.
103823         * lib/uniwidth/u32-strwidth.c: New file.
103824         * modules/uniwidth/u32-strwidth: New file.
103826         * tests/uniwidth/test-u16-strwidth.c: New file.
103827         * modules/uniwidth/u16-strwidth-tests: New file.
103829         * lib/uniwidth/u16-strwidth.c: New file.
103830         * modules/uniwidth/u16-strwidth: New file.
103832         * tests/uniwidth/test-u8-strwidth.c: New file.
103833         * modules/uniwidth/u8-strwidth-tests: New file.
103835         * lib/uniwidth/u8-strwidth.c: New file.
103836         * modules/uniwidth/u8-strwidth: New file.
103838         * tests/uniwidth/test-u32-width.c: New file.
103839         * modules/uniwidth/u32-width-tests: New file.
103841         * lib/uniwidth/u32-width.c: New file.
103842         * modules/uniwidth/u32-width: New file.
103844         * tests/uniwidth/test-u16-width.c: New file.
103845         * modules/uniwidth/u16-width-tests: New file.
103847         * lib/uniwidth/u16-width.c: New file.
103848         * modules/uniwidth/u16-width: New file.
103850         * tests/uniwidth/test-u8-width.c: New file.
103851         * modules/uniwidth/u8-width-tests: New file.
103853         * lib/uniwidth/u8-width.c: New file.
103854         * modules/uniwidth/u8-width: New file.
103856         * tests/uniwidth/test-uc_width.c: New file.
103857         * modules/uniwidth/width-tests: New file.
103859         * lib/uniwidth/width.c: New file, from GNU libiconv.
103860         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
103861         * modules/uniwidth/width: New file.
103863         * lib/uniwidth.h: New file, from GNU libiconv.
103864         * modules/uniwidth/base: New file.
103866 2007-07-07  Bruno Haible  <bruno@clisp.org>
103868         * lib/uniname.h: New file, from GNU gettext.
103869         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
103870         * lib/uniname/uninames.h: New file, from GNU gettext.
103871         * lib/uniname/uniname.c: New file, from GNU gettext.
103872         * tests/uniname/test-uninames.sh: New file.
103873         * tests/uniname/test-uninames.c: New file, from GNU gettext.
103874         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
103875         * modules/uniname/base: New file.
103876         * modules/uniname/uniname: New file.
103877         * modules/uniname/uniname-tests: New file.
103878         * MODULES.html.sh (Unicode string functions): Add the new modules.
103880 2007-07-06  Bruno Haible  <bruno@clisp.org>
103882         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
103884 2007-07-06  Bruno Haible  <bruno@clisp.org>
103886         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
103887         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
103888         includes <cygwin/sys_time.h> which includes <sys/select.h> which
103889         include <sys/time.h>.
103890         Reported by Eric Blake.
103892 2007-07-06  Eric Blake  <ebb9@byu.net>
103894         Fix testing canonicalize on cygwin.
103895         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103896         Revert patch from 2007-06-19.
103897         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
103898         canonicalize module is also in use.
103899         * tests/test-canonicalize.c: New file.
103900         * tests/test-canonicalize.sh: Likewise.
103901         * modules/canonicalize-tests: Likewise.
103903 2007-07-06  Jim Meyering  <jim@meyering.net>
103905         * lib/getugroups.c (getugroups): Detect getgrent failure.
103906         Adjust comment to reflect reality: this function may return -1.
103908 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
103910         * build-aux/bootstrap (TP_URL,get_translations): Update to use
103911         the new TP address.
103912         (usage): Fix typo
103913         (gnulib_mk): New variable.
103915 2007-07-05  Jim Meyering  <jim@meyering.net>
103917         Don't let endgrent clobber errno, no matter how improbable.
103918         * lib/getugroups.c (getugroups): Save and restore errno around
103919         endgrent call.
103921         Close the group DB even when failing with 2^31 or more members.
103922         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
103924 2007-07-04  Jim Meyering  <jim@meyering.net>
103926         * lib/getugroups.h: New file.
103927         * lib/getugroups.c: Include "getugroups.h".
103928         Remove uses of "register" keyword.
103929         Move local variable, "cp", down into scope where used.
103930         Give "username" parameter the "const" attribute.
103931         * modules/getugroups (Files): Add lib/getugroups.h
103933 2007-07-04  Karl Berry  <karl@gnu.org>
103935         * MODULES.html.sh (func_all_modules): Complete rename of
103936         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
103938 2007-07-02  Bruno Haible  <bruno@clisp.org>
103940         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
103941         mode, when inttypes.h comes from gnulib.
103942         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
103944 2007-07-02  Simon Josefsson  <simon@josefsson.org>
103946         * NEWS: Mention lgpl module name change.
103948         * modules/lgpl-2.1: Renamed from lgpl.
103950         * NEWS: Mention gpl module name change.
103952         * modules/gpl-3.0: New file, based on gpl-2.0.
103954         * modules/gpl-2.0: Renamed from gpl.
103956         * modules/gpl: Fix filename, doc/gpl.texi is now found at
103957         doc/gpl-2.0.texi.
103959 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
103961         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
103962         #define __STDC_LIMIT_MACROS temporarily while including
103963         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
103964         Problem reported by Joel E. Denny in
103965         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
103967 2007-07-01  Bruno Haible  <bruno@clisp.org>
103969         * lib/unistdio.h: New file.
103970         * lib/unistdio/u-asnprintf.h: New file.
103971         * lib/unistdio/u-asprintf.h: New file.
103972         * lib/unistdio/u-printf-args.c: New file.
103973         * lib/unistdio/u-printf-args.h: New file.
103974         * lib/unistdio/u-printf-parse.h: New file.
103975         * lib/unistdio/u-snprintf.h: New file.
103976         * lib/unistdio/u-sprintf.h: New file.
103977         * lib/unistdio/u-vasprintf.h: New file.
103978         * lib/unistdio/u-vsnprintf.h: New file.
103979         * lib/unistdio/u-vsprintf.h: New file.
103980         * lib/unistdio/ulc-asnprintf.c: New file.
103981         * lib/unistdio/ulc-asprintf.c: New file.
103982         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
103983         * lib/unistdio/ulc-printf-parse.c: New file.
103984         * lib/unistdio/ulc-snprintf.c: New file.
103985         * lib/unistdio/ulc-sprintf.c: New file.
103986         * lib/unistdio/ulc-vasnprintf.c: New file.
103987         * lib/unistdio/ulc-vasprintf.c: New file.
103988         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
103989         * lib/unistdio/ulc-vsnprintf.c: New file.
103990         * lib/unistdio/ulc-vsprintf.c: New file.
103991         * lib/unistdio/u8-asnprintf.c: New file.
103992         * lib/unistdio/u8-asprintf.c: New file.
103993         * lib/unistdio/u8-printf-parse.c: New file.
103994         * lib/unistdio/u8-snprintf.c: New file.
103995         * lib/unistdio/u8-sprintf.c: New file.
103996         * lib/unistdio/u8-vasnprintf.c: New file.
103997         * lib/unistdio/u8-vasprintf.c: New file.
103998         * lib/unistdio/u8-vsnprintf.c: New file.
103999         * lib/unistdio/u8-vsprintf.c: New file.
104000         * lib/unistdio/u8-u8-asnprintf.c: New file.
104001         * lib/unistdio/u8-u8-asprintf.c: New file.
104002         * lib/unistdio/u8-u8-snprintf.c: New file.
104003         * lib/unistdio/u8-u8-sprintf.c: New file.
104004         * lib/unistdio/u8-u8-vasnprintf.c: New file.
104005         * lib/unistdio/u8-u8-vasprintf.c: New file.
104006         * lib/unistdio/u8-u8-vsnprintf.c: New file.
104007         * lib/unistdio/u8-u8-vsprintf.c: New file.
104008         * lib/unistdio/u16-asnprintf.c: New file.
104009         * lib/unistdio/u16-asprintf.c: New file.
104010         * lib/unistdio/u16-printf-parse.c: New file.
104011         * lib/unistdio/u16-snprintf.c: New file.
104012         * lib/unistdio/u16-sprintf.c: New file.
104013         * lib/unistdio/u16-vasnprintf.c: New file.
104014         * lib/unistdio/u16-vasprintf.c: New file.
104015         * lib/unistdio/u16-vsnprintf.c: New file.
104016         * lib/unistdio/u16-vsprintf.c: New file.
104017         * lib/unistdio/u16-u16-asnprintf.c: New file.
104018         * lib/unistdio/u16-u16-asprintf.c: New file.
104019         * lib/unistdio/u16-u16-snprintf.c: New file.
104020         * lib/unistdio/u16-u16-sprintf.c: New file.
104021         * lib/unistdio/u16-u16-vasnprintf.c: New file.
104022         * lib/unistdio/u16-u16-vasprintf.c: New file.
104023         * lib/unistdio/u16-u16-vsnprintf.c: New file.
104024         * lib/unistdio/u16-u16-vsprintf.c: New file.
104025         * lib/unistdio/u32-asnprintf.c: New file.
104026         * lib/unistdio/u32-asprintf.c: New file.
104027         * lib/unistdio/u32-printf-parse.c: New file.
104028         * lib/unistdio/u32-snprintf.c: New file.
104029         * lib/unistdio/u32-sprintf.c: New file.
104030         * lib/unistdio/u32-vasnprintf.c: New file.
104031         * lib/unistdio/u32-vasprintf.c: New file.
104032         * lib/unistdio/u32-vsnprintf.c: New file.
104033         * lib/unistdio/u32-vsprintf.c: New file.
104034         * lib/unistdio/u32-u32-asnprintf.c: New file.
104035         * lib/unistdio/u32-u32-asprintf.c: New file.
104036         * lib/unistdio/u32-u32-snprintf.c: New file.
104037         * lib/unistdio/u32-u32-sprintf.c: New file.
104038         * lib/unistdio/u32-u32-vasnprintf.c: New file.
104039         * lib/unistdio/u32-u32-vasprintf.c: New file.
104040         * lib/unistdio/u32-u32-vsnprintf.c: New file.
104041         * lib/unistdio/u32-u32-vsprintf.c: New file.
104042         * tests/unistdio/test-ulc-asnprintf1.c: New file.
104043         * tests/unistdio/test-ulc-asnprintf1.h: New file.
104044         * tests/unistdio/test-ulc-printf1.h: New file.
104045         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
104046         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
104047         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
104048         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
104049         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
104050         * tests/unistdio/test-ulc-vasprintf1.c: New file.
104051         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
104052         * tests/unistdio/test-ulc-vsprintf1.c: New file.
104053         * tests/unistdio/test-u8-asnprintf1.c: New file.
104054         * tests/unistdio/test-u8-asnprintf1.h: New file.
104055         * tests/unistdio/test-u8-printf1.h: New file.
104056         * tests/unistdio/test-u8-vasnprintf1.c: New file.
104057         * tests/unistdio/test-u8-vasnprintf2.c: New file.
104058         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
104059         * tests/unistdio/test-u8-vasnprintf3.c: New file.
104060         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
104061         * tests/unistdio/test-u8-vasprintf1.c: New file.
104062         * tests/unistdio/test-u8-vsnprintf1.c: New file.
104063         * tests/unistdio/test-u8-vsprintf1.c: New file.
104064         * tests/unistdio/test-u16-asnprintf1.c: New file.
104065         * tests/unistdio/test-u16-asnprintf1.h: New file.
104066         * tests/unistdio/test-u16-printf1.h: New file.
104067         * tests/unistdio/test-u16-vasnprintf1.c: New file.
104068         * tests/unistdio/test-u16-vasnprintf2.c: New file.
104069         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
104070         * tests/unistdio/test-u16-vasnprintf3.c: New file.
104071         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
104072         * tests/unistdio/test-u16-vasprintf1.c: New file.
104073         * tests/unistdio/test-u16-vsnprintf1.c: New file.
104074         * tests/unistdio/test-u16-vsprintf1.c: New file.
104075         * tests/unistdio/test-u32-asnprintf1.c: New file.
104076         * tests/unistdio/test-u32-asnprintf1.h: New file.
104077         * tests/unistdio/test-u32-printf1.h: New file.
104078         * tests/unistdio/test-u32-vasnprintf1.c: New file.
104079         * tests/unistdio/test-u32-vasnprintf2.c: New file.
104080         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
104081         * tests/unistdio/test-u32-vasnprintf3.c: New file.
104082         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
104083         * tests/unistdio/test-u32-vasprintf1.c: New file.
104084         * tests/unistdio/test-u32-vsnprintf1.c: New file.
104085         * tests/unistdio/test-u32-vsprintf1.c: New file.
104086         * modules/unistdio/base: New file.
104087         * modules/unistdio/u-printf-args: New file.
104088         * modules/unistdio/ulc-asnprintf: New file.
104089         * modules/unistdio/ulc-asprintf: New file.
104090         * modules/unistdio/ulc-fprintf: New file.
104091         * modules/unistdio/ulc-printf-parse: New file.
104092         * modules/unistdio/ulc-snprintf: New file.
104093         * modules/unistdio/ulc-sprintf: New file.
104094         * modules/unistdio/ulc-vasnprintf: New file.
104095         * modules/unistdio/ulc-vasprintf: New file.
104096         * modules/unistdio/ulc-vfprintf: New file.
104097         * modules/unistdio/ulc-vsnprintf: New file.
104098         * modules/unistdio/ulc-vsprintf: New file.
104099         * modules/unistdio/u8-asnprintf: New file.
104100         * modules/unistdio/u8-asprintf: New file.
104101         * modules/unistdio/u8-printf-parse: New file.
104102         * modules/unistdio/u8-snprintf: New file.
104103         * modules/unistdio/u8-sprintf: New file.
104104         * modules/unistdio/u8-vasnprintf: New file.
104105         * modules/unistdio/u8-vasprintf: New file.
104106         * modules/unistdio/u8-vsnprintf: New file.
104107         * modules/unistdio/u8-vsprintf: New file.
104108         * modules/unistdio/u8-u8-asnprintf: New file.
104109         * modules/unistdio/u8-u8-asprintf: New file.
104110         * modules/unistdio/u8-u8-snprintf: New file.
104111         * modules/unistdio/u8-u8-sprintf: New file.
104112         * modules/unistdio/u8-u8-vasnprintf: New file.
104113         * modules/unistdio/u8-u8-vasprintf: New file.
104114         * modules/unistdio/u8-u8-vsnprintf: New file.
104115         * modules/unistdio/u8-u8-vsprintf: New file.
104116         * modules/unistdio/u16-asnprintf: New file.
104117         * modules/unistdio/u16-asprintf: New file.
104118         * modules/unistdio/u16-printf-parse: New file.
104119         * modules/unistdio/u16-snprintf: New file.
104120         * modules/unistdio/u16-sprintf: New file.
104121         * modules/unistdio/u16-vasnprintf: New file.
104122         * modules/unistdio/u16-vasprintf: New file.
104123         * modules/unistdio/u16-vsnprintf: New file.
104124         * modules/unistdio/u16-vsprintf: New file.
104125         * modules/unistdio/u16-u16-asnprintf: New file.
104126         * modules/unistdio/u16-u16-asprintf: New file.
104127         * modules/unistdio/u16-u16-snprintf: New file.
104128         * modules/unistdio/u16-u16-sprintf: New file.
104129         * modules/unistdio/u16-u16-vasnprintf: New file.
104130         * modules/unistdio/u16-u16-vasprintf: New file.
104131         * modules/unistdio/u16-u16-vsnprintf: New file.
104132         * modules/unistdio/u16-u16-vsprintf: New file.
104133         * modules/unistdio/u32-asnprintf: New file.
104134         * modules/unistdio/u32-asprintf: New file.
104135         * modules/unistdio/u32-printf-parse: New file.
104136         * modules/unistdio/u32-snprintf: New file.
104137         * modules/unistdio/u32-sprintf: New file.
104138         * modules/unistdio/u32-vasnprintf: New file.
104139         * modules/unistdio/u32-vasprintf: New file.
104140         * modules/unistdio/u32-vsnprintf: New file.
104141         * modules/unistdio/u32-vsprintf: New file.
104142         * modules/unistdio/u32-u32-asnprintf: New file.
104143         * modules/unistdio/u32-u32-asprintf: New file.
104144         * modules/unistdio/u32-u32-snprintf: New file.
104145         * modules/unistdio/u32-u32-sprintf: New file.
104146         * modules/unistdio/u32-u32-vasnprintf: New file.
104147         * modules/unistdio/u32-u32-vasprintf: New file.
104148         * modules/unistdio/u32-u32-vsnprintf: New file.
104149         * modules/unistdio/u32-u32-vsprintf: New file.
104150         * modules/unistdio/ulc-asnprintf-tests: New file.
104151         * modules/unistdio/ulc-vasnprintf-tests: New file.
104152         * modules/unistdio/ulc-vasprintf-tests: New file.
104153         * modules/unistdio/ulc-vsnprintf-tests: New file.
104154         * modules/unistdio/ulc-vsprintf-tests: New file.
104155         * modules/unistdio/u8-asnprintf-tests: New file.
104156         * modules/unistdio/u8-vasnprintf-tests: New file.
104157         * modules/unistdio/u8-vasprintf-tests: New file.
104158         * modules/unistdio/u8-vsnprintf-tests: New file.
104159         * modules/unistdio/u8-vsprintf-tests: New file.
104160         * modules/unistdio/u16-asnprintf-tests: New file.
104161         * modules/unistdio/u16-vasnprintf-tests: New file.
104162         * modules/unistdio/u16-vasprintf-tests: New file.
104163         * modules/unistdio/u16-vsnprintf-tests: New file.
104164         * modules/unistdio/u16-vsprintf-tests: New file.
104165         * modules/unistdio/u32-asnprintf-tests: New file.
104166         * modules/unistdio/u32-vasnprintf-tests: New file.
104167         * modules/unistdio/u32-vasprintf-tests: New file.
104168         * modules/unistdio/u32-vsnprintf-tests: New file.
104169         * modules/unistdio/u32-vsprintf-tests: New file.
104170         * MODULES.html.sh (Unicode string functions): Add the new modules.
104172 2007-07-01  Bruno Haible  <bruno@clisp.org>
104174         * lib/sprintf.c (sprintf): Limit the available length estimation,
104175         to avoid address wraparound.
104176         * lib/vsprintf.c (vsprintf): Likewise.
104177         * modules/sprintf-posix (Dependencies): Add stdint.
104178         * modules/vsprintf-posix (Dependencies): Likewise.
104180 2007-07-01  Bruno Haible  <bruno@clisp.org>
104182         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
104183         Windows PATH as well. Conservative double-quoting. Comments.
104185 2007-07-01  Bruno Haible  <bruno@clisp.org>
104186             Eric Blake  <ebb9@byu.net>
104187             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104189         * gnulib-tool (self_abspathname): Fix algorithm to cope with
104190         empty components in $PATH, denoting '.'.
104192 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104194         * gnulib-tool: Fix indentation.
104195         (func_create_megatestdir): Likewise.
104196         Report by Bruno Haible.
104198 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104200         Sync from Automake.
104201         * build-aux/gnupload: Fix shell portability issues with for loops.
104202         Report by Karl Berry.
104204 2007-06-29  Simon Josefsson  <simon@josefsson.org>
104206         * build-aux/maint.mk (POURL): Use translationproject.org.
104208 2007-06-27  Simon Josefsson  <simon@josefsson.org>
104209             Bruno Haible  <bruno@clisp.org>
104211         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
104212         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
104213         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
104214         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
104215         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
104217 2007-06-27  Bruno Haible  <bruno@clisp.org>
104219         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
104220         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
104222 2007-06-26  Karl Berry  <karl@gnu.org>
104224         * MODULES.html.sh: remove xreadlink-with-size.
104226 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104228         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
104229         method that I hope also handles the double-include problem noted
104230         by Bruno Haible in
104231         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
104233 2007-06-23  Bruno Haible  <bruno@clisp.org>
104235         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
104236         Don't let the 'mostlyclean' target fail if the last subdirectory could
104237         not be removed.
104238         Reported by Karl Berry.
104240 2007-06-23  Bruno Haible  <bruno@clisp.org>
104242         * gnulib-tool (echo): Add a speedier workaround for ksh.
104243         * tests/test-echo.sh: Likewise.
104245 2007-06-23  Bruno Haible  <bruno@clisp.org>
104247         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
104248         * tests/test-echo.sh: Likewise.
104250 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104252         * gnulib-tool (IFS): Initialize early, so we don't set it to
104253         empty later.
104254         (self_abspathname): Rewrite algorithm to set it, reindent.
104255         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
104256         (func_create_megatestdir): Merge some sed scripts.
104258 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104260         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
104261         exposed by Sun Studio 11 cc on Solaris 8.
104263 2007-06-22  Bruno Haible  <bruno@clisp.org>
104265         * gnulib-tool (echo): Ensure the echo primitive does not interpret
104266         backslashes.
104267         * tests/test-echo.sh: New file.
104269 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104271         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
104272         simplify `sed_replace_build_aux' scripts, they are portable but
104273         echoing them with `echo' is not.
104274         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
104276 2007-06-21  Karl Berry  <karl@gnu.org>
104278         * config/srclist.txt: guess we can't handle the licenses via
104279         srclist at the moment.
104281 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
104283         * MODULES.html.sh: Add include_next.
104284         * modules/include_next: New file.
104286 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
104288         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
104289         INCLUDE_NEXT.
104290         (gl_CHECK_NEXT_HEADERS): New macro.
104291         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
104292         the obsolescent gl_ABSOLUTE_HEADER.
104293         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
104294         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
104295         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
104296         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
104297         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
104298         * m4/math_h.m4 (gl_MATH_H): Likewise.
104299         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
104300         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
104301         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
104302         * m4/stdint.m4 (gl_STDINT_H): Likewise.
104303         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
104304         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
104305         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
104306         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
104307         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
104308         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
104309         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
104310         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
104311         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
104312         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
104313         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
104314         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
104315         * m4/inttypes.m4 (gl_INTTYPES_H): Define
104316         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
104317         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
104318         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
104319         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
104320         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
104321         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
104322         * lib/float_.h: Likewise.
104323         * lib/inttypes_.h: Likewise.
104324         * lib/math_.h: Likewise.
104325         * lib/search_.h: Likewise.
104326         * lib/signal_.h: Likewise.
104327         * lib/stdint_.h: Likewise.
104328         * lib/stdio_.h: Likewise.
104329         * lib/stdlib_.h: Likewise.
104330         * lib/string_.h: Likewise.
104331         * lib/sys_stat_.h: Likewise.
104332         * lib/sys_time_.h: Likewise.
104333         * lib/time_.h: Likewise.
104334         * lib/unistd_.h: Likewise.
104335         * lib/wchar_.h: Likewise.
104336         * lib/wctype_.h: Likewise.
104337         * lib/dirent_.h: Likewise.
104338         * lib/iconv_.h: Likewise.
104339         * lib/locale_.h: Likewise.
104340         * lib/netinet_in_.h: Likewise.
104341         * lib/sys_select_.h: Likewise.
104342         * lib/sys_socket_.h: Likewise.
104343         * lib/sysexits_.h: Likewise.
104344         * modules/fcntl (Depends-on): Depend on include_next, not
104345         absolute_header.
104346         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
104347         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
104348         * modules/fchdir: Likewise.
104349         * modules/float: Likewise.
104350         * modules/iconv_open: Likewise.
104351         * modules/inttypes: Likewise.
104352         * modules/locale: Likewise.
104353         * modules/math: Likewise.
104354         * modules/netinet_in: Likewise.
104355         * modules/search: Likewise.
104356         * modules/signal: Likewise.
104357         * modules/stdint: Likewise.
104358         * modules/stdio: Likewise.
104359         * modules/stdlib: Likewise.
104360         * modules/string: Likewise.
104361         * modules/sys_select: Likewise.
104362         * modules/sys_socket: Likewise.
104363         * modules/sys_stat: Likewise.
104364         * modules/sys_time: Likewise.
104365         * modules/sysexits: Likewise.
104366         * modules/time: Likewise.
104367         * modules/unistd: Likewise.
104368         * modules/wchar: Likewise.
104369         * modules/wctype: Likewise.
104370         * modules/sys_stat: Change maintainer to "all".
104371         * modules/unistd: Likewise.
104373 2007-06-20  Karl Berry  <karl@gnu.org>
104375         * config/srclist.txt: track www changes in license files.
104377 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
104379         * build-aux/bootstrap: Remove stray dot.
104380         Make sure build_aux settings are honored when linking
104381         gnulib_extra_files.
104383 2007-06-19  Eric Blake  <ebb9@byu.net>
104385         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
104386         Allow compilation on cygwin.
104388 2007-06-19  Jim Meyering  <jim@meyering.net>
104390         xreadlink-with-size: Remove module.  No longer used.
104391         Ex-callers now use xreadlink or mreadlink-with-size.
104392         * modules/xreadlink-with-size: Remove module.
104393         * lib/xreadlink-with-size.c: Remove file.
104394         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
104395         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
104396         just before the function definition *is* accurate.
104398         Eliminate one way canonicalize_filename_mode could exit.
104399         * lib/canonicalize.c (canonicalize_filename_mode):
104400         Use mreadlink_with_size, not xreadlink_with_size.
104402 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
104404         Detect porting problems to FreeBSD/arm, which has time_t wider than
104405         long int.  Original problem reported for GNU diff by Xin Li in
104406         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
104407         * modules/getdate (Depends-on): Add intprops, verify.
104408         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
104409         is an integer type no wider than long int.
104411 2007-06-18  Jim Meyering  <jim@meyering.net>
104413         New module: mreadlink-with-size.
104414         * MODULES.html.sh: Add mreadlink-with-size.
104415         * modules/mreadlink-with-size: New module
104416         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
104417         not xreadlink-with-size.
104418         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
104420 2007-06-16  Bruno Haible  <bruno@clisp.org>
104422         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
104423         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
104424         Reported by Gary V. Vaughan <gary@gnu.org>.
104426 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104428         Revamp lchown so that it lives in unistd.h where it belongs.
104429         * lib/lchown.h: Remove.
104430         * lib/dirchownmod.c: Don't include lib/lchown.h.
104431         * lib/fchownat.c: Likewise.
104432         * lib/openat.c: Likewise.
104433         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
104434         does not follow symlinks.
104435         (EOPNOTSUPP): Define if not defined.
104436         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
104437         is defined to 0.
104438         (lchown): New decl.
104439         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
104440         Do not check for lchown decl.
104441         Set REPLACE_LCHOWN.
104442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
104443         REPLACE_LCHOWN.
104444         * modules/chown: Make it clear it follows symlinks.
104445         * modules/lchown: Make it clear it doesn't follow symlinks.
104446         (Files): Remove lib/lchown.h
104447         (Depends-on): Add unistd.
104448         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
104449         (Include): Include <unistd.h>, not "lchown.h".
104450         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
104451         REPLACE_LCHOWN.
104453 2007-06-15  Jim Meyering  <jim@meyering.net>
104455         Change license (GPL to LGPL) of fsusage and dependents.
104456         * modules/fsusage (License): Change to LGPL.
104457         * modules/full-read (License): Likewise.
104458         * modules/full-write (License): Likewise.
104459         * modules/safe-read (License): Likewise.
104460         * modules/safe-write (License): Likewise.
104462 2007-06-14  Ben Pfaff  <blp@gnu.org>
104464         Missing part of allocsa -> malloca transition.
104465         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
104466         gl_MALLOCA.
104468 2007-06-12  Bruno Haible  <bruno@clisp.org>
104470         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
104471         to ia64, x86_64, i386.
104472         Reported by Eric Blake.
104474 2007-06-12  Bruno Haible  <bruno@clisp.org>
104476         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
104477         cross-compiling to x86_64.
104479 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
104481         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
104482         glitch reported by Ralf Wildenhues in
104483         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
104485         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
104486         Vin Shelton.
104488 2007-06-11  Bruno Haible  <bruno@clisp.org>
104490         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
104491         replacement string.
104492         Reported by Eric Blake.
104494 2007-06-10  Bruno Haible  <bruno@clisp.org>
104496         Prepare vasnprintf code for use with Unicode strings.
104497         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
104498         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
104499         TYPE_U32_STRING.
104500         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
104501         a_u32_string variants.
104502         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104503         * lib/printf-args.c: Don't include config.h and the specification
104504         header if PRINTF_FETCHARGS is already defined.
104505         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104506         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
104507         TYPE_U16_STRING, TYPE_U32_STRING.
104508         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
104509         u16_directive, u16_directives, u32_directive, u32_directives): New
104510         types.
104511         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
104512         New declarations.
104513         * lib/printf-parse.c: Don't include config.h and the specification
104514         header if PRINTF_PARSE is already defined. Eliminate the set of
104515         parameters for WIDE_CHAR_VERSION; the user of this file must provide
104516         them now. Include c-ctype.h.
104517         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
104518         directive and CHAR_T_ONLY_ASCII.
104519         * lib/vasnprintf.c: Don't include config.h and the specification header
104520         if VASNPRINTF is already defined.
104521         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
104522         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
104523         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
104524         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
104525         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
104526         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
104527         code accordingly.
104528         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
104529         pad_ourselves also in this case, with the 'c' and 's' directives, and
104530         with a different notion of "width".
104531         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
104533 2007-06-10  Bruno Haible  <bruno@clisp.org>
104535         * modules/unistr/u32-mbsnlen: New file.
104536         * lib/unistr/u32-mbsnlen.c: New file.
104538         * modules/unistr/u16-mbsnlen: New file.
104539         * lib/unistr/u16-mbsnlen.c: New file.
104541         * modules/unistr/u8-mbsnlen: New file.
104542         * lib/unistr/u8-mbsnlen.c: New file.
104544         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
104545         declarations.
104547 2007-06-10  Bruno Haible  <bruno@clisp.org>
104549         * lib/string_.h (mbsnlen): New declaration.
104550         * lib/mbsnlen.c: New file.
104551         * m4/mbsnlen.m4: New file.
104552         * modules/mbsnlen: New file.
104553         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
104554         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
104555         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
104557 2007-06-10  Bruno Haible  <bruno@clisp.org>
104559         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
104561 2007-06-10  Bruno Haible  <bruno@clisp.org>
104563         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
104564         * lib/mbuiter.h: Likewise.
104566 2007-06-10  Bruno Haible  <bruno@clisp.org>
104568         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
104569         declaration.
104571 2007-06-10  Karl Berry  <karl@gnu.org>
104573         * config/srclist.txt: remove gettext entries, Bruno prefers
104574         to update individually.
104576 2007-06-10  Bruno Haible  <bruno@clisp.org>
104578         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
104579         'maxlen'. Ensure only length + width bytes are allocated, not
104580         length + 1 + width.
104582 2007-06-09  Bruno Haible  <bruno@clisp.org>
104584         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
104585         (CHAR_T): Remove macro.
104586         (VASNPRINTF): Update.
104588 2007-06-09  Bruno Haible  <bruno@clisp.org>
104590         * MODULES.html.sh (Unicode string functions): Add the new modules.
104592         * modules/uniconv/u32-conv-to-enc: New file.
104593         * lib/uniconv/u32-conv-to-enc.c: New file.
104594         * modules/uniconv/u32-conv-to-enc-tests: New file.
104595         * tests/uniconv/test-u32-conv-to-enc.c: New file.
104597         * modules/uniconv/u16-conv-to-enc: New file.
104598         * lib/uniconv/u16-conv-to-enc.c: New file.
104599         * lib/uniconv/u-conv-to-enc.h: New file.
104600         * modules/uniconv/u16-conv-to-enc-tests: New file.
104601         * tests/uniconv/test-u16-conv-to-enc.c: New file.
104603         * modules/uniconv/u8-conv-to-enc: New file.
104604         * lib/uniconv/u8-conv-to-enc.c: New file.
104605         * modules/uniconv/u8-conv-to-enc-tests: New file.
104606         * tests/uniconv/test-u8-conv-to-enc.c: New file.
104608         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
104609         u32_conv_to_encoding): New declarations.
104611 2007-06-09  Bruno Haible  <bruno@clisp.org>
104613         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
104615 2007-06-09  Bruno Haible  <bruno@clisp.org>
104617         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
104618         * modules/malloca: Renamed from modules/allocsa, updated.
104619         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
104620         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
104621         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
104622         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
104623         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
104624         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
104625         * modules/xmalloca: Renamed from modules/xallocsa, updated.
104626         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
104627         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
104628         * modules/c-strcasestr (Depends-on): Update.
104629         * lib/c-strcasestr.c: Update.
104630         * modules/c-strstr (Depends-on): Update.
104631         * lib/c-strstr.c: Update.
104632         * modules/canonicalize-lgpl (Depends-on): Update.
104633         * lib/canonicalize-lgpl.c: Update.
104634         * modules/clean-temp (Depends-on): Update.
104635         * lib/clean-temp.c: Update.
104636         * modules/csharpcomp (Depends-on): Update.
104637         * lib/csharpcomp.c: Update.
104638         * modules/csharpexec (Depends-on): Update.
104639         * lib/csharpexec.c: Update.
104640         * modules/javacomp (Depends-on): Update.
104641         * lib/javacomp.c: Update.
104642         * modules/javaexec (Depends-on): Update.
104643         * lib/javaexec.c: Update.
104644         * modules/mbscasestr (Depends-on): Update.
104645         * lib/mbscasestr.c: Update.
104646         * modules/mbsstr (Depends-on): Update.
104647         * lib/mbsstr.c: Update.
104648         * modules/setenv (Depends-on): Update.
104649         * lib/setenv.c: Update.
104650         * modules/strcasestr (Depends-on): Update.
104651         * lib/strcasestr.c: Update.
104652         * modules/striconveha (Depends-on): Update.
104653         * lib/striconveha.c: Update.
104654         * modules/relocatable-prog-wrapper (Files): Update.
104655         * lib/relocwrapper.c: Update.
104656         * build-aux/install-reloc: Update.
104657         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
104659 2007-06-08  Bruno Haible  <bruno@clisp.org>
104661         Port to uClibc.
104662         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
104663         * lib/fpurge.c (fpurge): Likewise.
104664         * lib/freading.c (freading): Likewise.
104665         * lib/fseeko.c (rpl_fseeko): Likewise.
104666         * lib/fseterr.c (fseterr): Likewise.
104667         * lib/fwriting.c (fwriting): Likewise.
104668         * tests/test-fflush.c (main): Avoid a failure on uClibc.
104670 2007-06-08  Bruno Haible  <bruno@clisp.org>
104672         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
104673         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
104674         * modules/gettext (Files): Add m4/intlmacosx.m4.
104676 2007-06-07  Bruno Haible  <bruno@clisp.org>
104678         * modules/localename-tests: New file.
104679         * tests/test-localename.c: New file.
104681         New module 'localename'.
104682         * lib/localename.h: New file.
104683         * lib/localename.c: New file, from GNU gettext.
104684         * m4/localename.m4: New file.
104685         * modules/localename: New file.
104687 2007-06-07  Bruno Haible  <bruno@clisp.org>
104689         Work around the lack of <wchar.h> on some builds of uClibc.
104690         * doc/headers/wchar.texi: Update.
104691         * lib/wchar_.h: Include <wchar.h> only if it exists.
104692         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
104693         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
104694         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
104695         doesn't exist.
104696         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
104697         * modules/mbfile (Depends-on): Add wchar.
104698         * modules/mbiter (Depends-on): Likewise.
104699         * modules/mbuiter (Depends-on): Likewise.
104700         Reported by Simon Josefsson.
104702 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
104704         Work around problem reported by Steven M. Schweda in
104705         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
104706         Tru64 5.1B with the Compaq compiler environment installed declares
104707         an 'isblank' function but does not define it in the C library.
104708         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
104709         * lib/regex_internal.h (isblank): Likewise.
104710         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
104711         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
104713 2007-06-05  Bruno Haible  <bruno@clisp.org>
104715         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
104716         ia64.
104717         * modules/printf-safe: New file.
104718         * modules/fprintf-posix (Depends-on): Add printf-safe.
104719         * modules/printf-posix (Depends-on): Likewise.
104720         * modules/snprintf-posix (Depends-on): Likewise.
104721         * modules/sprintf-posix (Depends-on): Likewise.
104722         * modules/vasnprintf-posix (Depends-on): Likewise.
104723         * modules/vasprintf-posix (Depends-on): Likewise.
104724         * modules/vfprintf-posix (Depends-on): Likewise.
104725         * modules/vprintf-posix (Depends-on): Likewise.
104726         * modules/vsnprintf-posix (Depends-on): Likewise.
104727         * modules/vsprintf-posix (Depends-on): Likewise.
104728         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
104729         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
104730         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
104731         "no" on i386, x86_64, ia64.
104732         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
104733         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104734         on i386, x86_64, ia64.
104735         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
104736         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104737         on i386, x86_64, ia64.
104738         * tests/test-vasnprintf-posix.c: Include float.h.
104739         (LDBL80_WORDS): New macro.
104740         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104741         on i386, x86_64, ia64.
104742         * tests/test-vasprintf-posix.c: Include float.h.
104743         (LDBL80_WORDS): New macro.
104744         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104745         on i386, x86_64, ia64.
104746         * tests/test-snprintf-posix.c: Include float.h.
104747         * tests/test-sprintf-posix.c: Likewise.
104748         * tests/test-vsnprintf-posix.c: Likewise.
104749         * tests/test-vsprintf-posix.c: Likewise.
104751 2007-06-05  Bruno Haible  <bruno@clisp.org>
104753         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
104754         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
104755         non-IEEE numbers on i386, x86_64, ia64.
104756         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
104757         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
104758         * tests/test-isnanl.h: Include float.h.
104759         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
104761 2007-06-05  Bruno Haible  <bruno@clisp.org>
104763         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
104764         also the %a / %A. Handle the %a / %A code before this extra handling.
104766 2007-06-05  Bruno Haible  <bruno@clisp.org>
104768         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
104769         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
104771 2007-06-05  Bruno Haible  <bruno@clisp.org>
104773         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
104774         typo in variable name.
104776 2007-06-05  Eric Blake  <ebb9@byu.net>
104778         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
104779         Reported by Simon Josefsson.
104781 2007-06-04  Bruno Haible  <bruno@clisp.org>
104783         Avoid test failures on some PowerPC platforms.
104784         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
104785         Define differently for PowerPC.
104786         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
104787         Reported by Gary V. Vaughan <gary@gnu.org>.
104789 2007-06-02  Bruno Haible  <bruno@clisp.org>
104791         Fix test-stdint failure on FreeBSD/ia64.
104792         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
104793         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
104794         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
104795         * doc/headers/stdint.texi: Update.
104797 2007-06-01  Bruno Haible  <bruno@clisp.org>
104799         * tests/test-binary-io.c (main): Pass a third argument to open().
104800         Reported by Gary V. Vaughan <gary@gnu.org>.
104802 2007-06-01  Bruno Haible  <bruno@clisp.org>
104804         * doc/functions/frexpl.texi: Update for mingw.
104806 2007-06-01  Bruno Haible  <bruno@clisp.org>
104808         * tests/test-lseek.c (main): Disable test of errno for invalid third
104809         argument.
104810         * doc/functions/lseek.texi: Update.
104811         Reported by Gary V. Vaughan <gary@gnu.org>.
104813 2007-05-28  Bruno Haible  <bruno@clisp.org>
104815         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
104817 2007-05-31  Eric Blake  <ebb9@byu.net>
104819         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
104820         cross compiling.
104822 2007-05-30  Eric Blake  <ebb9@byu.net>
104823         and Bruno Haible  <bruno@clisp.org>
104825         Work around mingw test failures exposed by m4-1.4.9b.
104826         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
104827         * tests/test-unistd.c: Disable uid_t and git_t tests for the
104828         moment.
104830 2007-05-30  Bruno Haible  <bruno@clisp.org>
104832         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
104833         assuming that they are closed. Needed on HP-UX 11.
104835 2007-05-29  Bruno Haible  <bruno@clisp.org>
104837         Fix a problem with #include_next.
104838         * lib/dirent_.h: Split the double-inclusion guard.
104839         * lib/fcntl_.h: Likewise.
104840         * lib/float_.h: Likewise.
104841         * lib/iconv_.h: Likewise.
104842         * lib/inttypes_.h: Likewise.
104843         * lib/locale_.h: Likewise.
104844         * lib/math_.h: Likewise.
104845         * lib/netinet_in_.h: Likewise.
104846         * lib/search_.h: Likewise.
104847         * lib/signal_.h: Likewise.
104848         * lib/stdint_.h: Likewise.
104849         * lib/stdio_.h: Likewise.
104850         * lib/stdlib_.h: Likewise.
104851         * lib/string_.h: Likewise.
104852         * lib/sys_select_.h: Likewise.
104853         * lib/sys_socket_.h: Likewise.
104854         * lib/sys_stat_.h: Likewise.
104855         * lib/sys_time_.h: Likewise.
104856         * lib/sysexits_.h: Likewise.
104857         * lib/time_.h: Likewise.
104858         * lib/unistd_.h: Likewise.
104859         * lib/wchar_.h: Likewise.
104860         * lib/wctype_.h: Likewise.
104862 2007-05-29  Bruno Haible  <bruno@clisp.org>
104864         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
104865         for the moment.
104867 2007-05-29  Bruno Haible  <bruno@clisp.org>
104869         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
104870         invocation.
104871         Reported by Eric Blake.
104873 2007-05-29  Bruno Haible  <bruno@clisp.org>
104875         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
104876         compiling case.
104878 2007-05-29  Eric Blake  <ebb9@byu.net>
104879             Bruno Haible  <bruno@clisp.org>
104881         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
104882         cross compiles.
104884 2007-05-28  Eric Blake  <ebb9@byu.net>
104886         * modules/closein-tests (test_closein_LDADD): Support test on
104887         cygwin with libtool.
104889 2007-05-28  Bruno Haible  <bruno@clisp.org>
104891         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
104892         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
104893         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
104894         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
104895         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
104896         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
104897         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
104898         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
104899         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
104901 2007-05-28  Eric Blake  <ebb9@byu.net>
104903         Unconditionally include <config.h> in unit tests.
104904         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
104905         * tests/test-allocsa.c, tests/test-arcfour.c,
104906         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
104907         tests/test-array_list.c, tests/test-array_oset.c,
104908         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
104909         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
104910         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
104911         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
104912         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
104913         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
104914         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
104915         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
104916         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
104917         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
104918         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
104919         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
104920         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
104921         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
104922         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
104923         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
104924         test-md5.c, test-memmem.c, test-printf-posix.c,
104925         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
104926         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
104927         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
104928         test-strcasestr.c, test-striconv.c, test-striconveh.c,
104929         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
104930         test-vasnprintf-posix2.c, test-vasnprintf.c,
104931         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
104932         test-vfprintf-posix.c, test-vprintf-posix.c,
104933         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
104934         test-xvasprintf.c: Likewise.
104936 2007-05-28  Bruno Haible  <bruno@clisp.org>
104938         * gnulib-tool (func_import): Remember the --with-tests command-line
104939         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
104940         Reported by Eric Blake.
104942 2007-05-28  Bruno Haible  <bruno@clisp.org>
104944         * modules/ftell-tests: New file.
104945         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
104946         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
104948         * lib/ftell.c: New file.
104949         * modules/ftell: New file.
104950         * m4/ftell.m4: New file.
104951         * doc/functions/ftell.texi: Update.
104952         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
104953         REPLACE_FTELL.
104954         * lib/stdio_.h (rpl_ftell): New declaration.
104955         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
104956         REPLACE_FTELL.
104958 2007-05-28  Eric Blake  <ebb9@byu.net>
104960         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
104962 2007-05-28  Bruno Haible  <bruno@clisp.org>
104964         * modules/fseek-tests: New file.
104965         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
104966         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
104968         * lib/fseek.c: New file.
104969         * modules/fseek: New file.
104970         * m4/fseek.m4: New file.
104971         * doc/functions/fseek.texi: Update.
104972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
104973         REPLACE_FSEEK.
104974         * lib/stdio_.h (rpl_fseek): New declaration.
104975         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
104976         REPLACE_FSEEK.
104978 2007-05-28  Bruno Haible  <bruno@clisp.org>
104980         * lib/stdio_.h (fflush): More comments.
104982 2007-05-28  Bruno Haible  <bruno@clisp.org>
104984         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
104985         runtime test.
104987 2007-05-28  Eric Blake  <ebb9@byu.net>
104989         Improve lseek module.
104990         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
104991         * lib/unistd_.h (lseek): Scale back link warning message.
104992         * tests/test-lseek.c: Beef up test.
104993         * tests/test-lseek.sh: Exercise more facets of lseek.
104994         Reported by Bruno Haible.
104996 2007-05-28  Bruno Haible  <bruno@clisp.org>
104998         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
104999         to define.
105001 2007-05-27  Bruno Haible  <bruno@clisp.org>
105003         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
105005 2007-05-27  Bruno Haible  <bruno@clisp.org>
105007         * modules/openmp: New file.
105008         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
105009         Noah Misch.
105011 2007-05-26  Bruno Haible  <bruno@clisp.org>
105013         * modules/chdir-long (Depends-on): Add fchdir.
105014         * modules/chdir-safer (Depends-on): Likewise.
105015         * modules/fts (Depends-on): Likewise.
105016         * modules/fts-lgpl (Depends-on): Likewise.
105017         * modules/openat (Depends-on): Likewise.
105018         * modules/savewd (Depends-on): Likewise.
105020 2007-05-24  Eric Blake  <ebb9@byu.net>
105022         Fix lseek on mingw.
105023         * modules/lseek: New module.
105024         * m4/lseek.m4: New file.
105025         * lib/lseek.c: New file.
105026         * modules/lseek-tests: New file.
105027         * tests/test-lseek.c: New file.
105028         * tests/test-lseek.sh: New file.
105029         * MODULES.html.sh: Document lseek module.
105030         * modules/fflush (Depends-on): Add lseek, fseeko.
105031         * modules/fseeko (Depends-on): Likewise.
105032         * modules/ftello (Depends-on): Likewise.
105033         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
105034         broken.
105035         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
105036         broken.
105037         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
105038         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
105039         * lib/ftello.c (rpl_ftello): Likewise.
105040         * tests/test-fseeko.c (main): Test this.
105041         * tests/test-fseeko.sh: Likewise.
105042         * tests/test-ftello.c (main): Likewise.
105043         * tests/test-ftello.sh: Likewise.
105044         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
105045         implies replacing fseek.
105046         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
105047         HAVE_FTELLO.
105048         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
105049         * modules/unistd (Makefile.am): Likewise.
105050         * lib/unistd_.h (lseek): Declare a replacement.
105051         * doc/functions/lseek.texi (lseek): Document this fix.
105052         * doc/functions/fseek.texi (fseek): Likewise.
105053         * doc/functions/ftell.texi (ftell): Likewise.
105055 2007-05-24  Bruno Haible  <bruno@clisp.org>
105057         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
105058         in the printed representation of a NaN.
105059         * tests/test-vasprintf-posix.c (test_function): Likewise.
105060         * tests/test-snprintf-posix.h (test_function): Likewise.
105061         * tests/test-sprintf-posix.h (test_function): Likewise.
105062         Reported by Eric Blake.
105064 2007-05-23  Eric Blake  <ebb9@byu.net>
105066         Fix fseeko/ftello on cygwin 1.5.24.
105067         * doc/functions/fseeko.texi (fseeko): Document the fix.
105068         * doc/functions/ftello.texi (ftello): Document the fix.
105069         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
105070         * doc/functions/stdout.text (stdout): New file.
105071         * doc/functions/stderr.text (stderr): New file.
105072         * doc/gnulib.texi (Function Substitutes): Use new files.
105073         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
105074         prior to 1.7.0.
105075         * tests/test-ftello.c (main): Likewise for ftello.
105076         * tests/test-fseeko.sh: New file.
105077         * tests/test-ftello.sh: New file.
105078         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
105079         with seekable stdin.
105080         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
105081         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
105082         (gl_REPLACE_FSEEKO): New macro.
105083         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
105084         * modules/fseeko (Files): Distribute fseeko.c.
105085         * modules/ftello (Files): Distribute ftello.c.
105086         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
105087         mode.
105088         * lib/ftello.c (rpl_ftello): New file.
105089         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
105090         fseeko, ftello.
105091         (gl_STDIN_LARGE_OFFSET): New macro.
105092         * modules/stdio (Makefile.am): Perform the replacement.
105093         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
105095 2007-05-23  Bruno Haible  <bruno@clisp.org>
105097         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
105098         GNULIB_POSIXCHECK is defined.
105100 2007-05-21  Bruno Haible  <bruno@clisp.org>
105102         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
105103         Check also the output for NaN arguments. When cross-compiling, guess
105104         no on IRIX.
105105         * lib/vasnprintf.c: Update comments.
105106         * tests/test-vasnprintf-posix.c (strisnan): New function.
105107         (test_function): Use it.
105108         * tests/test-vasprintf-posix.c (strisnan): New function.
105109         (test_function): Use it.
105110         * tests/test-snprintf-posix.h (strisnan): New function.
105111         (test_function): Use it.
105112         * tests/test-sprintf-posix.h (strisnan): New function.
105113         (test_function): Use it.
105114         Reported by Eric Blake.
105116 2007-05-20  Bruno Haible  <bruno@clisp.org>
105118         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
105119         numbers that fails on BeOS.
105120         * doc/functions/frexpl.texi: Update.
105122 2007-05-20  Jim Meyering  <jim@meyering.net>
105124         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
105125         forced upon us by glibc-2.6.
105127 2007-05-20  Bruno Haible  <bruno@clisp.org>
105129         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
105130         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
105131         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
105132         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
105133         NEED_PRINTF_INFINITE.
105134         (is_infinitel): New function.
105135         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
105136         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
105137         gl_PREREQ_VASNPRINTF_INFINITE.
105138         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
105139         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105140         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
105141         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
105142         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
105143         gl_PREREQ_VASNPRINTF_INFINITE.
105144         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105145         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105146         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105147         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105148         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105149         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105150         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105151         * doc/functions/fprintf.texi: Update.
105152         * doc/functions/printf.texi: Update.
105153         * doc/functions/snprintf.texi: Update.
105154         * doc/functions/sprintf.texi: Update.
105155         * doc/functions/vfprintf.texi: Update.
105156         * doc/functions/vprintf.texi: Update.
105157         * doc/functions/vsnprintf.texi: Update.
105158         * doc/functions/vsprintf.texi: Update.
105160 2007-05-20  Bruno Haible  <bruno@clisp.org>
105162         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
105163         was not found in libc.
105164         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
105166 2007-05-20  Bruno Haible  <bruno@clisp.org>
105168         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
105169         printed as "-nan" instead of "nan".
105170         * tests/test-vasprintf-posix.c (test_function): Likewise.
105171         * tests/test-snprintf-posix.h (test_function): Likewise.
105172         * tests/test-sprintf-posix.h (test_function): Likewise.
105173         Needed for HP-UX 11.
105175 2007-05-20  Jim Meyering  <jim@meyering.net>
105177         Fix buggy test for the fchownat-deref bug.
105178         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
105179         symlink required for the run-test.  Without it, this test would
105180         always declare that fchownat doesn't work, and client code would
105181         unnecessarily use the replacement function with fixed libc.
105182         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
105183         Reported by Greg Schafer.
105185 2007-05-19  Bruno Haible  <bruno@clisp.org>
105187         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
105188         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
105189         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
105190         Needed for IRIX 6.5 and Solaris 2.5.1.
105192 2007-05-19  Bruno Haible  <bruno@clisp.org>
105194         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
105195         (test_function): Skip tests involving -0.0 on platforms where
105196         -0.0 = 0.0.
105197         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
105198         (test_function): Skip tests involving -0.0 on platforms where
105199         -0.0 = 0.0.
105200         * tests/test-snprintf-posix.h (have_minus_zero): New function.
105201         (test_function): Skip tests involving -0.0 on platforms where
105202         -0.0 = 0.0.
105203         * tests/test-sprintf-posix.h (have_minus_zero): New function.
105204         (test_function): Skip tests involving -0.0 on platforms where
105205         -0.0 = 0.0.
105206         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
105207         tests.
105208         * tests/test-printf-posix.h (test_function): Likewise.
105209         * tests/test-printf-posix.output: Remove all -0.0 related results.
105210         Needed for IRIX 6.5.
105212 2007-05-19  Bruno Haible  <bruno@clisp.org>
105214         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
105215         printed as "nan0x7fffffff" instead of "nan".
105216         * tests/test-vasprintf-posix.c (test_function): Likewise.
105217         * tests/test-snprintf-posix.h (test_function): Likewise.
105218         * tests/test-sprintf-posix.h (test_function): Likewise.
105219         * tests/test-fprintf-posix.h (NaN): Remove macro.
105220         (test_function): Remove all NaN related tests.
105221         * tests/test-printf-posix.h (NaN): Remove macro.
105222         (test_function): Remove all NaN related tests.
105223         * tests/test-printf-posix.output: Remove all NaN related results.
105224         Needed for IRIX 6.5.
105226 2007-05-19  Bruno Haible  <bruno@clisp.org>
105228         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
105229         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
105231 2007-05-19  Bruno Haible  <bruno@clisp.org>
105233         * lib/float_.h: New file.
105234         * m4/float_h.m4: New file.
105235         * modules/float: New file.
105236         * modules/isnanl (Dependencies): Add float.
105237         * modules/isnanl-nolibm (Dependencies): Likewise.
105238         * modules/mathl (Dependencies): Likewise.
105239         * modules/printf-frexpl (Dependencies): Likewise.
105240         * modules/signbit (Dependencies): Likewise.
105241         * modules/vasnprintf (Dependencies): Likewise.
105242         * doc/headers/float.texi: Update.
105244 2007-05-19  Jim Meyering  <jim@meyering.net>
105246         * lib/utimens.c (gl_futimens): Rename from futimens,
105247         now that glibc-2.6 declares futimens.
105248         * lib/utimens.h: Likewise.
105250 2007-05-19  Bruno Haible  <bruno@clisp.org>
105252         Avoid test failures on mingw.
105253         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
105254         * tests/test-printf-posix.sh: Likewise.
105255         * tests/test-vfprintf-posix.sh: Likewise.
105256         * tests/test-vprintf-posix.sh: Likewise.
105258 2007-05-19  Bruno Haible  <bruno@clisp.org>
105260         Fix *printf result for NaN, Inf, -0.0 on mingw.
105261         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
105262         * lib/vasnprintf.c: Include math.h and isnan.h.
105263         (is_infinite_or_zero): New function.
105264         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
105265         values in the %f, %F, %e, %E, %g, %G directives.
105266         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
105267         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105268         gl_PRINTF_INFINITE and test its result. Invoke
105269         gl_PREREQ_VASNPRINTF_INFINITE.
105270         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105271         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105272         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105273         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105274         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105275         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105276         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105277         * doc/functions/fprintf.texi: Update.
105278         * doc/functions/printf.texi: Update.
105279         * doc/functions/snprintf.texi: Update.
105280         * doc/functions/sprintf.texi: Update.
105281         * doc/functions/vfprintf.texi: Update.
105282         * doc/functions/vprintf.texi: Update.
105283         * doc/functions/vsnprintf.texi: Update.
105284         * doc/functions/vsprintf.texi: Update.
105286 2007-05-19  Bruno Haible  <bruno@clisp.org>
105288         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
105289         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
105290         Instead of multiplying with 10^k, set extra_zeroes to k.
105291         (scale10_round_long_double): Remove function.
105293 2007-05-18  Bruno Haible  <bruno@clisp.org>
105295         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
105296         introduced on 2007-05-06.
105298 2007-05-18  Bruno Haible  <bruno@clisp.org>
105300         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
105301         %g directives.
105302         * tests/test-vasprintf-posix.c (test_function): Likewise.
105303         * tests/test-snprintf-posix.h (test_function): Likewise.
105304         * tests/test-sprintf-posix.h (test_function): Likewise.
105306 2007-05-18  Bruno Haible  <bruno@clisp.org>
105308         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
105309         (strmatch): New function.
105310         (test_function): Test the %f directive on numbers of various exponents.
105311         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
105312         (strmatch): New function.
105313         (test_function): Test the %f directive on numbers of various exponents.
105314         * tests/test-snprintf-posix.h (strmatch): New function.
105315         (test_function): Test the %f directive on numbers of various exponents.
105316         * tests/test-sprintf-posix.h (strmatch): New function.
105317         (test_function): Test the %f directive on numbers of various exponents.
105318         * tests/test-snprintf-posix.c (SIZEOF): New macro.
105319         * tests/test-sprintf-posix.c (SIZEOF): New macro.
105320         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
105321         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
105323 2007-05-18  Bruno Haible  <bruno@clisp.org>
105325         Add support for 'long double' number output.
105326         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
105327         * lib/vasnprintf.c: Include math.h and float+.h.
105328         (mp_limb_t): New type.
105329         (GMP_LIMB_BITS): New macro.
105330         (mp_twolimb_t): New type.
105331         (GMP_TWOLIMB_BITS): New macro.
105332         (mpn_t): New type.
105333         (multiply, divide, convert_to_decimal, decode_long_double,
105334         scale10_round_long_double, scale10_round_decimal_long_double,
105335         floorlog10l): New functions.
105336         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
105337         for the %f, %F, %e, %E, %g, %G directives.
105338         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
105339         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105340         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
105341         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
105342         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105343         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105344         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105345         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105346         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105347         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105348         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105349         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
105350         * modules/snprintf-posix (Depends-on): Likewise.
105351         * modules/sprintf-posix (Depends-on): Likewise.
105352         * modules/vasnprintf-posix (Depends-on): Likewise.
105353         * modules/vasprintf-posix (Depends-on): Likewise.
105354         * modules/vfprintf-posix (Depends-on): Likewise.
105355         * modules/vsnprintf-posix (Depends-on): Likewise.
105356         * modules/vsprintf-posix (Depends-on): Likewise.
105357         * modules/vasnprintf (Files): Add lib/float+.h.
105358         * doc/functions/fprintf.texi: Update.
105359         * doc/functions/printf.texi: Update.
105360         * doc/functions/snprintf.texi: Update.
105361         * doc/functions/sprintf.texi: Update.
105362         * doc/functions/vfprintf.texi: Update.
105363         * doc/functions/vprintf.texi: Update.
105364         * doc/functions/vsnprintf.texi: Update.
105365         * doc/functions/vsprintf.texi: Update.
105367 2007-05-18  Bruno Haible  <bruno@clisp.org>
105369         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
105371 2007-05-18  Bruno Haible  <bruno@clisp.org>
105373         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
105374         for printing 64-bit integers. Needed for mingw.
105376 2007-05-18  Bruno Haible  <bruno@clisp.org>
105378         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105379         gl_FUNC_FREXPL_WORKS.
105380         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
105382 2007-05-18  Bruno Haible  <bruno@clisp.org>
105384         * modules/frexpl-nolibm-tests: New file.
105386         * modules/frexpl-nolibm: New file.
105387         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
105389 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
105391         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
105392         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105393         GCC 4.2, which otherwise issues a lot of warnings.
105394         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
105395         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
105396         Likewise.
105397         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
105398         * modules/iconv_open (iconv.h): Likewise.
105399         * modules/locale (locale.h): Likewise.
105400         * modules/netinet_in (netinet/in.h): Likewise.
105401         * modules/sys_select (sys_select.h): Likewise.
105402         * modules/sys_socket (sys/socket.h): Likewise.
105403         * modules/sys_stat (sys/stat.h): Likewise.
105404         * modules/sysexits (sysexits.h): Likewise.
105405         * modules/unistd (unistd.h): Likewise.
105407 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105409         * modules/closein-tests (Makefile.am): Distribute
105410         `test-closein.sh'.
105412 2007-05-17  Bruno Haible  <bruno@clisp.org>
105414         * tests/test-printf-posix.output: Renamed from
105415         tests/test-fprintf-posix.out.
105416         * modules/fprintf-posix-tests: Update.
105417         * modules/printf-posix-tests: Update.
105418         * modules/vfprintf-posix-tests: Update.
105419         * modules/vprintf-posix-tests: Update.
105420         * tests/test-fprintf-posix.sh: Update.
105421         * tests/test-printf-posix.sh: Update.
105422         * tests/test-vfprintf-posix.sh: Update.
105423         * tests/test-vprintf-posix.sh: Update.
105424         Reported by Ralf Wildenhues.
105426 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105428         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
105429         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105430         GCC 4.2, which otherwise issues a lot of warnings.
105431         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
105432         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
105433         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
105434         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
105435         it should no longer be needed.
105436         * lib/string_.h: Likewise.
105437         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
105438         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
105439         * modules/inttypes (inttypes.h): Likewise.
105440         * modules/math (math.h): Likewise.
105441         * modules/search (search.h): Likewise.
105442         * modules/signal (signal.h): Likewise.
105443         * modules/stdint (stdint.h): Likewise.
105444         * modules/stdio (stdio.h): Likewise.
105445         * modules/stdlib (stdlib.h): Likewise.
105446         * modules/string (string.h): Likewise.
105447         * modules/sys_time (sys/time.h): Likewise.
105448         * modules/time (time.h): Likewise.
105449         * modules/wchar (wchar.h): Likewise.
105450         * modules/wctype (wtype.h): Likewise.
105452 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
105454         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
105456 2007-05-13  Bruno Haible  <bruno@clisp.org>
105458         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
105459         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
105460         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
105461         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
105462         (gl_PREREQ_STRTOK_R): Don't require it here.
105464 2007-05-13  Bruno Haible  <bruno@clisp.org>
105466         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
105467         when used in C++ mode.
105469 2007-05-12  Bruno Haible  <bruno@clisp.org>
105471         * lib/linebuffer.h: Tweak doc.
105472         * lib/linebuffer.c: Likewise.
105474 2007-05-12  James Youngman  <jay@gnu.org>
105476         * lib/linebuffer.c (readlinebuffer_delim): New function,
105477         like readlinebuffer, but use a caller-specified delimiter.
105478         (readlinebuffer): Just call readlinebuffer_delim with '\n'
105479         as the delimiter.
105480         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
105482 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
105484         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
105485         * modules/openat (Files): Remove openat-die.c.
105486         (Depends-on): Add openat-die.
105487         * modules/openat-die: New module.
105489 2007-05-06  Bruno Haible  <bruno@clisp.org>
105491         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
105492         Update with info about Cygwin.
105493         * doc/functions/fprintf.texi: Update.
105494         * doc/functions/printf.texi: Update.
105495         * doc/functions/snprintf.texi: Update.
105496         * doc/functions/sprintf.texi: Update.
105497         * doc/functions/vfprintf.texi: Update.
105498         * doc/functions/vprintf.texi: Update.
105499         * doc/functions/vsnprintf.texi: Update.
105500         * doc/functions/vsprintf.texi: Update.
105501         Reported by Eric Blake.
105503 2007-05-06  Bruno Haible  <bruno@clisp.org>
105505         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
105506         padding ourselves for the floating-point directives.
105507         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
105508         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
105509         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105510         gl_PRINTF_FLAG_ZERO and test its result. Invoke
105511         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
105512         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105513         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105514         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105515         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105516         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105517         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105518         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105519         * tests/test-snprintf-posix.h (test_function): Also check the width
105520         and some flags in the %f directive.
105521         * tests/test-sprintf-posix.h (test_function): Likewise.
105522         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105523         * tests/test-vasprintf-posix.c (test_function): Likewise.
105524         * doc/functions/fprintf.texi: Update.
105525         * doc/functions/printf.texi: Update.
105526         * doc/functions/snprintf.texi: Update.
105527         * doc/functions/sprintf.texi: Update.
105528         * doc/functions/vfprintf.texi: Update.
105529         * doc/functions/vprintf.texi: Update.
105530         * doc/functions/vsnprintf.texi: Update.
105531         * doc/functions/vsprintf.texi: Update.
105533 2007-05-06  Bruno Haible  <bruno@clisp.org>
105535         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
105536         pass the ' flag character to sprintf or snprintf.
105537         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
105538         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
105539         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105540         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
105541         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
105542         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105543         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105544         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105545         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105546         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105547         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105548         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105549         * tests/test-snprintf-posix.h (test_function): Also check the grouping
105550         flag.
105551         * tests/test-sprintf-posix.h (test_function): Likewise.
105552         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105553         * tests/test-vasprintf-posix.c (test_function): Likewise.
105554         * doc/functions/fprintf.texi: Update.
105555         * doc/functions/printf.texi: Update.
105556         * doc/functions/snprintf.texi: Update.
105557         * doc/functions/sprintf.texi: Update.
105558         * doc/functions/vfprintf.texi: Update.
105559         * doc/functions/vprintf.texi: Update.
105560         * doc/functions/vsnprintf.texi: Update.
105561         * doc/functions/vsprintf.texi: Update.
105563 2007-05-01  Bruno Haible  <bruno@clisp.org>
105565         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
105567 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
105569         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
105570         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
105572 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
105574         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
105575         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
105576         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
105578 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
105580         * lib/argp-help.c (struct hol_entry): New member `ord'.
105581         (HOL_ENTRY_PTRCMP): Use ord for comparison
105582         (hol_sort): Initialize ord.
105584 2007-05-01  Bruno Haible  <bruno@clisp.org>
105586         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
105587         Reported by Eric Blake.
105588         * doc/gnulib.texi (Function Substitutes): Update.
105590 2007-05-01  Bruno Haible  <bruno@clisp.org>
105592         * doc/functions.texi: Remove file, now redundant through
105593         doc/functions/*.texi.
105595 2007-05-01  Bruno Haible  <bruno@clisp.org>
105597         * modules/argp (Depends-on): Add sleep.
105599 2007-05-01  Bruno Haible  <bruno@clisp.org>
105601         * modules/sleep-tests: New file.
105602         * tests/test-sleep.c: New file.
105604         * modules/sleep: New file.
105605         * lib/sleep.c: New file.
105606         * m4/sleep.m4: New file.
105607         * lib/unistd_.h (sleep): New declaration.
105608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
105609         HAVE_SLEEP.
105610         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
105611         * doc/functions/sleep.texi: Document the sleep module.
105613 2007-05-01  Bruno Haible  <bruno@clisp.org>
105615         * lib/sigprocmask.h: Remove file.
105616         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
105617         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
105618         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
105619         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
105620         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
105621         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
105622         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
105623         HAVE_SIGSET_T as a shell variable.
105624         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
105625         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
105626         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
105627         (Depends-on): Add signal. Remove verify.
105628         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
105629         (Include): Mention <signal.h> instead of sigprocmask.h.
105630         * NEWS: Mention the change.
105631         * lib/fatal-signal.c: Don't include sigprocmask.h.
105633 2007-05-01  Bruno Haible  <bruno@clisp.org>
105635         * modules/signal: New file.
105636         * lib/signal_.h: New file.
105637         * m4/signal_h.m4: New file.
105639 2007-05-01  Bruno Haible  <bruno@clisp.org>
105641         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
105642         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
105643         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
105644         HAVE_WCTYPE_CTMP_BUG into wctype.h.
105646 2007-05-01  Bruno Haible  <bruno@clisp.org>
105648         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
105649         configure time.
105650         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
105651         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
105652         * modules/sys_stat (Makefile.am): Substitute their values into
105653         sys/stat.h.
105655 2007-05-01  Bruno Haible  <bruno@clisp.org>
105657         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
105658         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
105659         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
105661 2007-05-01  Bruno Haible  <bruno@clisp.org>
105663         * doc/header/assert.texi: Undo last change: don't mention the gnulib
105664         'assert' module here.
105666 2007-05-01  Bruno Haible  <bruno@clisp.org>
105668         * doc/functions/*.texi: New files.
105669         * doc/functions/google-ranking.txt: New file.
105670         * doc/gnulib.texi (Function Substitutes): New chapter.
105671         (ctime, inet_ntoa): Remove sections.
105672         * doc/ctime.texi: Remove file.
105673         * doc/inet_ntoa.texi: Remove file.
105674         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
105675         dependencies.
105676         (%.info): New rule, specifying a --reference-limit.
105678 2007-05-01  Bruno Haible  <bruno@clisp.org>
105680         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
105682 2007-05-01  Bruno Haible  <bruno@clisp.org>
105684         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
105685         the portability of 'mkdir' to mingw systems.
105687 2007-05-01  Bruno Haible  <bruno@clisp.org>
105689         * doc/headers/google-ranking.txt: New file.
105691 2007-04-30  Eric Blake  <ebb9@byu.net>
105693         Prefer fseeko to fseek.
105694         * modules/getpass (Depends-on): Add fseeko.
105695         * lib/getpass.c (getpass): Use fseeko, not fseek.
105697 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
105699         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
105700         assumes the sorting is stable, while most qsort implementations
105701         are not.  Use argument addresses to ensure they never compare as
105702         equal.
105704         * tests/test-argp-2.sh (usage-indent test): Fix output
105705         (func_compare): Restore diff options
105706         * tests/test-argp.c: Restore #include "progname.h"
105708 2007-04-29  Bruno Haible  <bruno@clisp.org>
105710         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
105711         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105712         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
105713         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105714         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
105715         (configure.ac): Define CHECK_SNPRINTF_POSIX.
105716         (TESTS, check_PROGRAMS): Add test-snprintf.
105717         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
105718         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
105719         (TESTS, check_PROGRAMS): Add test-vsnprintf.
105720         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
105721         assertions that fail on HP-UX, OSF/1, or IRIX.
105722         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
105724 2007-04-29  Bruno Haible  <bruno@clisp.org>
105726         * MODULES.html.sh (posix_functions): Remove 'contents'.
105728 2007-04-29  Karl Berry  <karl@gnu.org>
105730         * config/srclist.txt (gendocs_template_min): new entry.
105732 2007-04-29  Bruno Haible  <bruno@clisp.org>
105734         Work around fpurge bug on BSD systems.
105735         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
105736         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
105737         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
105738         fpurge to rpl_fpurge if the system already has this function.
105739         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
105740         the case where the system already has this function. Correct invariants
105741         on BSD systems.
105742         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
105743         BSD systems.
105745 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
105747         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
105748         proposed by Sven Verdoolaege.
105750         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
105751         options.
105752         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
105753         (usage and help tests): Update
105755 2007-04-29  Bruno Haible  <bruno@clisp.org>
105757         * tests/test-fflush.c (main): Use a file of size 17, not 10.
105758         Print more information in case of failure. Disable a test on BeOS.
105760 2007-04-29  Bruno Haible  <bruno@clisp.org>
105762         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
105763         This helps debugging on systems on which no gdb is available.
105765 2007-04-29  Bruno Haible  <bruno@clisp.org>
105767         * lib/freading.h: Improve comments.
105768         * lib/fwriting.h: Likewise.
105769         * tests/test-freading.c (main): Don't check freading immediately after
105770         repositioning. Needed for glibc.
105772 2007-04-29  Bruno Haible  <bruno@clisp.org>
105774         * lib/freading.c (freading): Trivial simplification.
105776 2007-04-28  Bruno Haible  <bruno@clisp.org>
105778         * tests/test-fwriting.c (main): Also test the interaction between
105779         fflush and fwriting.
105780         * modules/fwriting-tests (Depends-on): Add fflush.
105782         * tests/test-freading.c (main): Also test the interaction between
105783         fflush and freading.
105784         * modules/freading-tests (Depends-on): Add fflush.
105786 2007-04-28  Bruno Haible  <bruno@clisp.org>
105788         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
105789         fseeko and ftello.
105790         Suggested by Eric Blake.
105792 2007-04-28  Jim Meyering  <jim@meyering.net>
105794         Avoid false-negative in gl_STDINT_H's C99 conformance test.
105795         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
105796         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
105798 2007-04-27  Eric Blake  <ebb9@byu.net>
105800         * doc/headers/assert.texi (assert.h): Document assert module use.
105802 2007-04-27  Bruno Haible  <bruno@clisp.org>
105804         * doc/headers/*.texi: New files.
105805         * doc/gnulib.texi (Header File Substitutes): New chapter.
105806         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
105807         dependencies.
105808         (standards.info ,standards.html, standards.dvi): Update dependencies.
105809         (mostlyclean, clean): New targets.
105811 2007-04-27  Bruno Haible  <bruno@clisp.org>
105813         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
105814         * modules/sysexits (Files, Makefile.am): Update.
105816         * lib/sys_socket_.h: Renamed from lib/socket_.h.
105817         * modules/sys_socket (Files, Makefile.am): Update.
105819         * lib/sys_stat_.h: Renamed from lib/stat_.h.
105820         * modules/sys_stat (Files, Makefile.am): Update.
105822 2007-04-27  Eric Blake  <ebb9@byu.net>
105824         * lib/freading.h: Improve comments.
105825         * lib/fwriting.h: Likewise.
105826         * lib/fflush.c: Likewise.
105828         Fix closein for mingw.
105829         * modules/closein-tests: Add tests for closein.
105830         * tests/test-closein.c: New file.
105831         * tests/test-closein.sh: Likewise.
105832         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
105833         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
105835 2007-04-27  Bruno Haible  <bruno@clisp.org>
105837         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
105838         version is < 6.
105839         * lib/math_.h [__DECC]: Likewise.
105840         * lib/stdio_.h [__DECC]: Likewise.
105841         * lib/stdlib_.h [__DECC]: Likewise.
105842         * lib/string_.h [__DECC]: Likewise.
105843         * lib/time_.h [__DECC]: Likewise.
105844         * lib/wchar_.h [__DECC]: Likewise.
105845         * lib/wctype_.h [__DECC]: Likewise.
105847 2007-04-27  Bruno Haible  <bruno@clisp.org>
105849         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
105851 2007-04-27  Bruno Haible  <bruno@clisp.org>
105853         * lib/fflush.c: Add comments.
105854         * modules/fpurge-tests (Depends-on): Add fflush.
105855         * modules/freadable-tests (Depends-on): Likewise.
105856         * modules/fwritable-tests (Depends-on): Likewise.
105858 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
105860         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
105861         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
105862         Report by Bruno Haible <bruno@clisp.org>.
105864 2007-04-26  Eric Blake  <ebb9@byu.net>
105866         Fix fflush on mingw.
105867         * modules/fflush (Depends-on): Add freading.
105868         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
105869         but unread data.
105871 2007-04-26  Eric Blake  <ebb9@byu.net>
105872         and Bruno Haible  <bruno@clisp.org>
105874         Implement freading and fwriting.
105875         * lib/freading.c: New file.
105876         * lib/freading.h: Likewise.
105877         * m4/freading.m4: Likewise.
105878         * modules/freading: Likewise.
105879         * modules/freading-tests: Likewise.
105880         * tests/test-freading.c: Likewise.
105881         * lib/fwriting.c: New file.
105882         * lib/fwriting.h: Likewise.
105883         * m4/fwriting.m4: Likewise.
105884         * modules/fwriting: Likewise.
105885         * modules/fwriting-tests: Likewise.
105886         * tests/test-fwriting.c: Likewise.
105887         * MODULES.html.sh (File stream based Input/Output): Mention them.
105889 2007-04-26  Bruno Haible  <bruno@clisp.org>
105891         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
105892         'long' when we assume it.
105893         Suggested by Eric Blake.
105895 2007-04-26  Bruno Haible  <bruno@clisp.org>
105897         Ensure fseeko, ftello are declared on glibc systems.
105898         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
105899         * modules/fseeko (configure.ac-early): Likewise.
105900         * modules/ftello (configure.ac-early): Likewise.
105901         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
105902         AC_FUNC_FSEEKO for this.
105903         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
105904         (gl_CHECK_FSEEKO): Remove macro.
105906 2007-04-26  Bruno Haible  <bruno@clisp.org>
105908         * tests/test-fflush.c (main): Also check the ftell result after
105909         fflush and fseek/fseeko.
105910         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
105911         file descriptor position cache in the stream.
105912         * lib/fseeko.c (rpl_fseeko): Likewise.
105914 2007-04-26  Bruno Haible  <bruno@clisp.org>
105916         * modules/fflush-tests (Depends-on): Add fseeko.
105918 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
105919             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105921         * lib/argz_.h: ensure error_t definition is obtained in same
105922         mechanism system argz.h would have.
105923         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
105924         argz facilities are known bad.  Err on the side of caution if
105925         cross-compiling.
105927 2007-04-25  Eric Blake  <ebb9@byu.net>
105929         * lib/fpurge.c (includes): Use stdlib.h for free.
105930         * tests/test-fflush.c (main): Also test fflush-fseeko.
105932 2007-04-25  Bruno Haible  <bruno@clisp.org>
105934         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
105935         * lib/fseeko.c: New file.
105936         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
105937         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
105938         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
105939         gl_FUNC_FSEEKO.
105940         (gl_FUNC_FSEEKO): Invoke it.
105941         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
105942         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
105943         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
105945 2007-04-25  Bruno Haible  <bruno@clisp.org>
105947         * modules/fflush (Depends-on): Add ftello.
105949 2007-04-25  Bruno Haible  <bruno@clisp.org>
105951         * modules/ftello-tests: New file.
105952         * tests/test-ftello.c: New file.
105954         * modules/ftello: New file.
105955         * m4/ftello.m4: New file.
105956         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
105957         HAVE_FTELLO.
105958         * lib/stdio_.h (ftello): New declaration.
105959         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
105960         HAVE_FTELLO.
105962 2007-04-25  Bruno Haible  <bruno@clisp.org>
105964         * modules/fseeko-tests: New file.
105965         * tests/test-fseeko.c: New file.
105967         * modules/fseeko: New file.
105968         * m4/fseeko.m4: New file.
105969         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
105970         HAVE_FSEEKO.
105971         * lib/stdio_.h (fseeko): New declaration.
105972         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
105973         HAVE_FSEEKO.
105975 2007-04-25  Bruno Haible  <bruno@clisp.org>
105977         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
105979 2007-04-25  Bruno Haible  <bruno@clisp.org>
105981         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
105982         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
105983         * tests/test-unistd.c: Likewise.
105984         * tests/test-fcntl.c: Likewise.
105986 2007-04-23  Eric Blake  <ebb9@byu.net>
105988         * lib/fflush.c: Fix missing include.
105989         Reported by Bruno Haible.
105991 2007-04-23  Bruno Haible  <bruno@clisp.org>
105993         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
105994         Reported by Eric Blake.
105996 2007-04-23  Bruno Haible  <bruno@clisp.org>
105998         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
106000 2007-04-23  Bruno Haible  <bruno@clisp.org>
106002         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
106004 2007-04-23  Bruno Haible  <bruno@clisp.org>
106006         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
106007         Needed on HP-UX 11.
106009 2007-04-16  Eric Blake  <ebb9@byu.net>
106011         Make fflush rely on fpurge.
106012         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
106013         open coding all variants.
106014         * modules/fflush (Depends-on): Add fpurge and unistd.
106015         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
106016         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
106018         Fix --with-tests compilation on cygwin.
106019         * modules/argmatch-tests (Makefile.am): List gnulib library first
106020         in LDADD.
106021         * modules/argp-tests (Makefile.am): Likewise.
106022         * modules/array-list-tests (Makefile.am): Likewise.
106023         * modules/array-oset-tests (Makefile.am): Likewise.
106024         * modules/avltree-list-tests (Makefile.am): Likewise.
106025         * modules/avltree-oset-tests (Makefile.am): Likewise.
106026         * modules/avltreehash-list-tests (Makefile.am): Likewise.
106027         * modules/carray-list-tests (Makefile.am): Likewise.
106028         * modules/dirname-tests (Makefile.am): Likewise.
106029         * modules/frexp-tests (Makefile.am): Likewise.
106030         * modules/isnanl-tests (Makefile.am): Likewise.
106031         * modules/linked-list-tests (Makefile.am): Likewise.
106032         * modules/linkedhash-list-tests (Makefile.am): Likewise.
106033         * modules/lock-tests (Makefile.am): Likewise.
106034         * modules/rbtree-list-tests (Makefile.am): Likewise.
106035         * modules/rbtree-oset-tests (Makefile.am): Likewise.
106036         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
106037         * modules/tls-tests (Makefile.am): Likewise.
106038         * modules/tsearch-tests (Makefile.am): Likewise.
106039         * modules/xvasprintf-tests (Makefile.am): Likewise.
106041         Fix fpurge for cygwin.
106042         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
106043         value.
106044         * modules/fpurge-tests (Depends-on): Clean up trash.
106046 2007-04-16  Simon Josefsson  <simon@josefsson.org>
106048         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
106050         * m4/autobuild.m4: Re-indent.
106052 2007-04-13  Bruno Haible  <bruno@clisp.org>
106054         * modules/fpurge-tests: New file.
106055         * tests/test-fpurge.c: New file.
106057         * modules/fpurge: New file.
106058         * lib/fpurge.h: New file.
106059         * lib/fpurge.c: New file.
106060         * m4/fpurge.m4: New file.
106062 2007-04-13  Bruno Haible  <bruno@clisp.org>
106064         * modules/fbufmode-tests: New file.
106065         * tests/test-fbufmode.c: New file.
106067         * modules/fbufmode: New file.
106068         * lib/fbufmode.h: New file.
106069         * lib/fbufmode.c: New file.
106070         * m4/fbufmode.m4: New file.
106072 2007-04-13  Bruno Haible  <bruno@clisp.org>
106074         * modules/fwritable-tests: New file.
106075         * tests/test-fwritable.c: New file.
106077         * modules/fwritable: New file.
106078         * lib/fwritable.h: New file.
106079         * lib/fwritable.c: New file.
106080         * m4/fwritable.m4: New file.
106082 2007-04-13  Bruno Haible  <bruno@clisp.org>
106084         * modules/freadable-tests: New file.
106085         * tests/test-freadable.c: New file.
106087         * modules/freadable: New file.
106088         * lib/freadable.h: New file.
106089         * lib/freadable.c: New file.
106090         * m4/freadable.m4: New file.
106092 2007-04-13  Bruno Haible  <bruno@clisp.org>
106094         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
106095         MOSTLYCLEANFILES.
106097 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
106099         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
106100         gzip bootstrap.conf to avoid dragging in i18n machinery.
106101         (gnulib_tool_option): Use it.
106103 2007-04-13  Bruno Haible  <bruno@clisp.org>
106105         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
106106         %F directives.
106107         * tests/test-vasprintf-posix.c (test_function): Likewise.
106108         * tests/test-snprintf-posix.h (test_function): Likewise.
106109         * tests/test-sprintf-posix.h (test_function): Likewise.
106110         * tests/test-fprintf-posix.h (test_function): Likewise.
106111         * tests/test-printf-posix.h (test_function): Likewise.
106112         * tests/test-fprintf-posix.out: Likewise.
106114 2007-04-13  Bruno Haible  <bruno@clisp.org>
106116         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
106117         * modules/tls-tests (configure.ac): Likewise.
106118         Reported by Arto C. Nirkko <anirkko@insel.ch>.
106120 2007-04-13  Bruno Haible  <bruno@clisp.org>
106122         * lib/tls.c (glthread_tls_get): Fix return type.
106123         Patch by Arto C. Nirkko <anirkko@insel.ch>.
106125 2007-04-12  Eric Blake  <ebb9@byu.net>
106127         * modules/gettime (Depends-on): Remove gettime.
106128         Reported by Dmitry V. Levin.
106130 2007-04-12  Bruno Haible  <bruno@clisp.org>
106132         * modules/fflush (Include): Mention <stdio.h>.
106133         * modules/strtoimax (Include): Mention <inttypes.h>.
106134         * modules/strtoumax (Include): Likewise.
106136 2007-04-12  Eric Blake  <ebb9@byu.net>
106138         * .cvsignore: New file.
106139         * .gitignore: Likewise.
106141 2007-04-12  Bruno Haible  <bruno@clisp.org>
106143         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
106144         not before, since $(LDADD) often contains libgnu.a.
106145         * modules/striconv-tests (test_striconv_LDADD): Likewise.
106146         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
106147         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
106148         Needed on Cygwin.
106150 2007-04-12  Eric Blake  <ebb9@byu.net>
106152         Work around glibc's failure to flush stdin on fclose.
106153         * lib/closein.c (close_stdin): Flush stdin before closing.
106155         Work around glibc's failure to reset seekable stdin on exit.
106156         * modules/closein: New module.
106157         * lib/closein.c: New file.
106158         * lib/closein.h: Likewise.
106159         * m4/closein.m4: Likewise.
106160         * MODULES.html.sh (File stream based Input/Output): Document it.
106162 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106164         * gnulib-tool: Rename generated 'autobuild' script to
106165         'do-autobuild' in --create-megatestdir output.
106167         * doc/gnulib.texi (Build robot for gnulib): Fix.
106169 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106171         * modules/sysexits (Depends-on): Add absolute-header.
106173 2007-04-12  Eric Blake  <ebb9@byu.net>
106175         No need to preserve errno on success.
106176         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
106177         Reported by Bruno Haible.
106179 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106181         * MODULES.html.sh (Support for maintaining and releasing
106182         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
106184 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106186         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
106188 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106190         * modules/autobuild: New module.
106192         * m4/autobuild.m4: New file.
106194 2007-04-11  Bruno Haible  <bruno@clisp.org>
106196         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
106197         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
106198         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
106199         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
106200         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
106201         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106202         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106203         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
106204         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106205         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106206         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
106207         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106208         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106209         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
106210         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106211         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106212         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
106213         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106214         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106215         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
106216         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106217         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106218         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
106219         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106220         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106221         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
106222         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106223         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106224         Reported by Eric Blake.
106226 2007-04-11  Bruno Haible  <bruno@clisp.org>
106228         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
106230 2007-04-10  Bruno Haible  <bruno@clisp.org>
106232         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
106233         for NaN and Infinity. Needed on FreeBSD 6.1.
106234         * tests/test-vasnprintf-posix.c (test_function): Undo last change
106235         regarding results for "%010a" of Infinity and NaN.
106236         * tests/test-vasprintf-posix.c (test_function): Likewise.
106237         * tests/test-snprintf-posix.h (test_function): Likewise.
106238         * tests/test-sprintf-posix.h (test_function): Likewise.
106239         * tests/test-fprintf-posix.h (test_function): Likewise.
106240         * tests/test-printf-posix.h (test_function): Likewise.
106241         * tests/test-fprintf-posix.out: Likewise.
106243 2007-04-10  Bruno Haible  <bruno@clisp.org>
106245         * modules/locale-tests: New file.
106246         * tests/test-locale.c: New file.
106248         * modules/locale: New file.
106249         * lib/locale_.h: New file.
106250         * m4/locale_h.m4: New file.
106252 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
106253             Bruno Haible  <bruno@clisp.org>
106255         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
106256         be determined, test for availability of the copysignf, copysign,
106257         copysignl functions.
106258         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
106259         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
106260         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
106262 2007-04-09  Eric Blake  <ebb9@byu.net>
106264         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
106265         * modules/stdio (Makefile.am): Support fflush.
106266         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
106267         * modules/fflush: New file.
106268         * lib/fflush.c: Likewise.
106269         * m4/fflush.m4: Likewise.
106270         * modules/fflush-tests: New test.
106271         * tests/test-fflush.c: Likewise.
106272         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
106274 2007-04-06  Bruno Haible  <bruno@clisp.org>
106276         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
106277         (VASNPRINTF): Use signbit for faster determination whether to print a
106278         minus sign.
106279         * modules/vasnprintf (Files): Remove lib/float+.h.
106280         * modules/fprintf-posix (Depends-on): Add signbit.
106281         * modules/snprintf-posix (Depends-on): Likewise.
106282         * modules/sprintf-posix (Depends-on): Likewise.
106283         * modules/vasnprintf-posix (Depends-on): Likewise.
106284         * modules/vasprintf-posix (Depends-on): Likewise.
106285         * modules/vfprintf-posix (Depends-on): Likewise.
106286         * modules/vsnprintf-posix (Depends-on): Likewise.
106287         * modules/vsprintf-posix (Depends-on): Likewise.
106289 2007-04-06  Bruno Haible  <bruno@clisp.org>
106291         * tests/test-frexp.c (main): Test also the sign bit of zero results.
106292         * tests/test-frexpl.c (main): Likewise.
106293         * tests/test-ldexpl.c (main): Likewise.
106294         * modules/frexp-tests (Depends-on): Add signbit.
106295         * modules/frexpl-tests (Depdends-on): Likewise.
106296         * modules/ldexpl-tests (Depdends-on): Likewise.
106298 2007-04-06  Bruno Haible  <bruno@clisp.org>
106300         * modules/signbit-tests: New file.
106301         * tests/test-signbit.c: New file.
106303         * modules/signbit: New file.
106304         * lib/signbitf.c: New file.
106305         * lib/signbitd.c: New file.
106306         * lib/signbitl.c: New file.
106307         * m4/signbit.m4: New file.
106308         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
106309         (signbit): New macro.
106310         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
106311         REPLACE_SIGNBIT.
106312         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
106313         REPLACE_FREXPL into math.h.
106315 2007-04-06  Bruno Haible  <bruno@clisp.org>
106317         * modules/isnanf-nolibm-tests: New file.
106318         * tests/test-isnanf.c: New file.
106320         * modules/isnanf-nolibm: New file.
106321         * lib/isnanf.h: New file.
106322         * lib/isnanf.c: New file.
106323         * lib/isnan.c: Consider the USE_FLOAT macro.
106324         * m4/isnanf.m4: New file.
106326 2007-04-06  Bruno Haible  <bruno@clisp.org>
106328         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
106329         (Link): New section.
106331         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
106333 2007-04-06  Bruno Haible  <bruno@clisp.org>
106335         Assume the 'long double' type.
106336         * m4/longdouble.m4: Remove file.
106337         * config/srclist.txt: Don't mention longdouble.m4.
106338         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
106339         * lib/float+.h: Likewise.
106340         * lib/frexp.c: Likewise.
106341         * lib/printf-args.h: Likewise.
106342         * lib/printf-args.c: Likewise.
106343         * lib/printf-frexp.c: Likewise.
106344         * lib/printf-parse.c: Likewise.
106345         * lib/vasnprintf.c: Likewise.
106346         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
106347         * m4/intl.m4: Likewise.
106348         * m4/isnanl.m4: Likewise.
106349         * m4/printf.m4: Likewise.
106350         * m4/printf-frexpl.m4: Likewise.
106351         * m4/vasnprintf.m4: Likewise.
106352         * modules/allocsa (Files): Remove m4/longdouble.m4.
106353         * modules/gettext (Files): Likewise.
106354         * modules/relocatable-prog-wrapper (Files): Likewise.
106355         * modules/vasnprintf (Files): Likewise.
106356         * modules/isnanl (Files): Likewise.
106357         (Include): Simplify.
106358         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
106359         (Include): Simplify.
106360         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
106361         (Include): Simplify.
106362         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
106363         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106364         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
106365         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106366         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
106367         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106368         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
106369         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106370         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
106371         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106372         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
106373         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106374         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
106375         * tests/test-isnanl.c: Likewise.
106376         * tests/test-snprintf-posix.h: Likewise.
106377         * tests/test-sprintf-posix.h: Likewise.
106378         * tests/test-vasnprintf-posix.c: Likewise.
106379         * tests/test-vasnprintf-posix2.c: Likewise.
106380         * tests/test-vasprintf-posix.c: Likewise.
106382 2007-04-06  Bruno Haible  <bruno@clisp.org>
106384         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
106385         * lib/math_.h [__DECC]: Include the overridden include file through
106386         #include_next, outside the double-inclusion guard.
106387         * lib/stdio_.h [__DECC]: Likewise.
106388         * lib/stdlib_.h [__DECC]: Likewise.
106389         * lib/string_.h [__DECC]: Likewise.
106390         * lib/time_.h [__DECC]: Likewise.
106391         * lib/wchar_.h [__DECC]: Likewise.
106392         * lib/wctype_.h [__DECC]: Likewise.
106393         * lib/inttypes_.h [__DECC]: Likewise.
106394         Reported by Albert Chin <china@thewrittenword.com> in
106395         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
106397 2007-04-04  Eric Blake  <ebb9@byu.net>
106399         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
106400         1.5.x.
106402 2007-04-04  Bruno Haible  <bruno@clisp.org>
106404         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
106405         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
106407 2007-04-04  Bruno Haible  <bruno@clisp.org>
106409         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
106410         results for "%010a" of Infinity and NaN.
106411         * tests/test-vasprintf-posix.c (test_function): Likewise.
106412         * tests/test-snprintf-posix.h (test_function): Likewise.
106413         * tests/test-sprintf-posix.h (test_function): Likewise.
106414         * tests/test-fprintf-posix.h (test_function): Remove these tests.
106415         * tests/test-printf-posix.h (test_function): Likewise.
106416         * tests/test-fprintf-posix.out: Update.
106417         Needed for FreeBSD 6.1.
106419 2007-04-04  Bruno Haible  <bruno@clisp.org>
106421         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
106422         directly used by the gnulib modules nor by gnulib-tool.
106424 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
106426         * DEPENDENCIES: Give overall description of version dependency
106427         desirability.  Use more-typical names for apps.
106428         Add shell, coreutils, diffutils, grep, tar, gzip.
106430 2007-04-04  Simon Josefsson  <simon@josefsson.org>
106432         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
106434 2007-04-04  Karl Berry  <karl@gnu.org>
106436         * MODULES.html.sh (func_module): missing '.
106438 2007-04-03  Bruno Haible  <bruno@clisp.org>
106440         * modules/argmatch-tests (Makefile.am): New variable
106441         test_argmatch_LDADD.
106442         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
106443         * modules/array-list-tests (Makefile.am): New variable
106444         test_array_list_LDADD.
106445         * modules/array-oset-tests (Makefile.am): New variable
106446         test_array_oset_LDADD.
106447         * modules/avltree-list-tests (Makefile.am): New variable
106448         test_avltree_list_LDADD.
106449         * modules/avltree-oset-tests (Makefile.am): New variable
106450         test_avltree_oset_LDADD.
106451         * modules/avltreehash-list-tests (Makefile.am): New variable
106452         test_avltreehash_list_LDADD.
106453         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
106454         test_canonicalize_lgpl_LDADD.
106455         * modules/carray-list-tests (Makefile.am): New variable
106456         test_carray_list_LDADD.
106457         * modules/dirname-tests (Makefile.am): New variable
106458         test_dirname_LDADD.
106459         * modules/linked-list-tests (Makefile.am): New variable
106460         test_linked_list_LDADD.
106461         * modules/linkedhash-list-tests (Makefile.am): New variable
106462         test_linkedhash_list_LDADD.
106463         * modules/rbtree-list-tests (Makefile.am): New variable
106464         test_rbtree_list_LDADD.
106465         * modules/rbtree-oset-tests (Makefile.am): New variable
106466         test_rbtree_oset_LDADD.
106467         * modules/rbtreehash-list-tests (Makefile.am): New variable
106468         test_rbtreehash_list_LDADD.
106469         * modules/xvasprintf-tests (Makefile.am): New variable
106470         test_xvasprintf_LDADD.
106471         Reported by Eric Blake.
106473 2007-04-03  Eric Blake  <ebb9@byu.net>
106475         * DEPENDENCIES: Weaken m4 requirements.
106477 2007-04-03  Bruno Haible  <bruno@clisp.org>
106479         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
106480         * modules/isnanl-tests (configure.ac): Likewise.
106482 2007-04-03  Ben Pfaff  <blp@gnu.org>
106484         * modules/iconv_open: Add $(srcdir)/ to source directory
106485         references in Makefile fragments that call gperf, to fix VPATH
106486         builds.
106488 2007-04-03  Bruno Haible  <bruno@clisp.org>
106490         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
106491         * lib/ldexpl.c: Undo last change.
106493 2007-04-03  Bruno Haible  <bruno@clisp.org>
106495         * modules/printf-frexpl (Depends-on): Undo last change.
106496         (Files): Add m4/ldexpl.m4.
106498 2007-04-03  Bruno Haible  <bruno@clisp.org>
106500         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
106501         * modules/isnanl (Link): New section.
106503         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
106504         * modules/frexp (Link): New section.
106506         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
106507         * modules/frexpl (Link): New section.
106509         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
106510         * modules/ldexpl (Link): New section.
106512 2007-04-03  Bruno Haible  <bruno@clisp.org>
106514         * modules/TEMPLATE-EXTENDED: New file.
106515         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
106517 2007-04-03  Bruno Haible  <bruno@clisp.org>
106519         * DEPENDENCIES: New file.
106520         Suggested by Simon Josefsson.
106522 2007-04-03  Bruno Haible  <bruno@clisp.org>
106524         * doc/gnulib.texi: Escape @.
106526 2007-04-03  James Youngman  <jay@gnu.org>
106527         and Paul Eggert  <eggert@cs.ucla.edu>
106529         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
106530         birthtime on all systems that have birthtime, not just those which
106531         use st_birthtimensec rather than st_birthtim.  Putting zero in
106532         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
106533         that the birth time is not available for files on an NFS mount.
106535 2007-04-03  Simon Josefsson  <simon@josefsson.org>
106537         * modules/memxor: Move back from crypto/, suggested by Bruno.
106538         * modules/crypto/hmac-sha1: Fix memxor dependency.
106540         * modules/crypto/gc: Moved from ../.
106542 2007-04-02  Eric Blake  <ebb9@byu.net>
106544         * lib/ldexpl.c (includes): Avoid libm.
106546         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
106548 2007-04-02  Bruno Haible  <bruno@clisp.org>
106550         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
106551         on IRIX.
106553 2007-04-02  Bruno Haible  <bruno@clisp.org>
106555         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
106556         x86 or x86_64 platforms running MacOS X.
106557         Reported by Ryan Schmidt <@ryandesign.com>.
106559 2007-04-02  Bruno Haible  <bruno@clisp.org>
106561         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
106562         i386.
106564 2007-04-01  Simon Josefsson  <simon@josefsson.org>
106566         * modules/crypto/arcfour: Moved from ../.
106567         * modules/crypto/arcfour-tests: Moved from ../.
106568         * modules/crypto/arctwo: Moved from ../.
106569         * modules/crypto/arctwo-tests: Moved from ../.
106570         * modules/crypto/des: Moved from ../.
106571         * modules/crypto/des-tests: Moved from ../.
106572         * modules/crypto/gc-arcfour: Moved from ../.
106573         * modules/crypto/gc-arcfour-tests: Moved from ../.
106574         * modules/crypto/gc-arctwo: Moved from ../.
106575         * modules/crypto/gc-arctwo-tests: Moved from ../.
106576         * modules/crypto/gc-des: Moved from ../.
106577         * modules/crypto/gc-des-tests: Moved from ../.
106578         * modules/crypto/gc-hmac-md5: Moved from ../.
106579         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
106580         * modules/crypto/gc-hmac-sha1: Moved from ../.
106581         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
106582         * modules/crypto/gc-md2: Moved from ../.
106583         * modules/crypto/gc-md2-tests: Moved from ../.
106584         * modules/crypto/gc-md4: Moved from ../.
106585         * modules/crypto/gc-md4-tests: Moved from ../.
106586         * modules/crypto/gc-md5: Moved from ../.
106587         * modules/crypto/gc-md5-tests: Moved from ../.
106588         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
106589         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
106590         * modules/crypto/gc-random: Moved from ../.
106591         * modules/crypto/gc-rijndael: Moved from ../.
106592         * modules/crypto/gc-rijndael-tests: Moved from ../.
106593         * modules/crypto/gc-sha1: Moved from ../.
106594         * modules/crypto/gc-sha1-tests: Moved from ../.
106595         * modules/crypto/gc-tests: Moved from ../.
106596         * modules/crypto/hmac-md5: Moved from ../.
106597         * modules/crypto/hmac-md5-tests: Moved from ../.
106598         * modules/crypto/hmac-sha1: Moved from ../.
106599         * modules/crypto/hmac-sha1-tests: Moved from ../.
106600         * modules/crypto/md2: Moved from ../.
106601         * modules/crypto/md2-tests: Moved from ../.
106602         * modules/crypto/md4: Moved from ../.
106603         * modules/crypto/md4-tests: Moved from ../.
106604         * modules/crypto/md5: Moved from ../.
106605         * modules/crypto/md5-tests: Moved from ../.
106606         * modules/crypto/memxor: Moved from ../.
106607         * modules/crypto/rijndael: Moved from ../.
106608         * modules/crypto/rijndael-tests: Moved from ../.
106609         * modules/crypto/sha1: Moved from ../.
106611 2007-03-30  James Youngman  <jay@gnu.org>
106613         * tests/test-stat-time.c (prepare_test): use chmod() rather than
106614         rename() to change the ctime of a file (because ctime is unaffected
106615         by rename on jfs2 on AIX 5.1).
106616         (main): Start by doing cleanup, in case a previous run failed leaving
106617         test files behind.
106619 2007-03-31  Bruno Haible  <bruno@clisp.org>
106621         Support old proprietary implementations of iconv.
106622         * modules/iconv_open: New file.
106623         * lib/iconv_.h: New file.
106624         * m4/iconv_h.m4: New file.
106625         * lib/iconv_open.c: New file.
106626         * lib/iconv_open-aix.gperf: New file.
106627         * lib/iconv_open-hpux.gperf: New file.
106628         * lib/iconv_open-irix.gperf: New file.
106629         * lib/iconv_open-osf.gperf: New file.
106630         * m4/iconv_open.m4: New file.
106631         * modules/linebreak (Depends-on): Add iconv_open.
106632         * modules/striconv (Depends-on): Likewise.
106633         * modules/striconveh (Depends-on): Likewise.
106634         * modules/unicodeio (Depends-on): Likewise.
106635         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
106636         (iconv_t)(-1).
106637         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
106638         conversion if cd is (iconv_t)(-1).
106639         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
106640         is not possible.
106642 2007-03-31  Bruno Haible  <bruno@clisp.org>
106644         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106645         work on Solaris either. Protect also second use of "autodetect_jp".
106647 2007-03-31  Bruno Haible  <bruno@clisp.org>
106649         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
106650         the function is not present.
106652 2007-03-31  Bruno Haible  <bruno@clisp.org>
106654         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
106655         the function is not present.
106657 2007-03-31  Bruno Haible  <bruno@clisp.org>
106659         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
106660         a bug in HP-UX iconv_open().
106662 2007-03-31  Bruno Haible  <bruno@clisp.org>
106664         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
106665         (Mathematics <math.h>): New section, add fpieee.
106666         (Input/output <stdio.h>): Add fseterr.
106667         (Mathematics <math.h>): New section, add printf-frexp.
106668         (Container data structures): Add sublist.
106669         (Core language properties): Add fpucw, inline.
106670         (Functions for greatest-width integer types <inttypes.h>): Add
106671         imaxabs, imaxdiv, inttypes.
106672         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
106673         isnanl-nolibm, ldexp.
106674         (Mathematics <math.h>): New section, add printf-frexpl.
106675         (Support for systems lacking POSIX:2001): Add fprintf-posix,
106676         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
106677         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
106678         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
106679         (Unicode string functions): Add unistr/u*-mbtoucr.
106680         (Java): Add javacomp-script, javaexec-script.
106681         (C#): Add csharpcomp-script, csharpexec-script.
106682         (Support for building libraries and executables): Add havelib,
106683         relocatable-*.
106684         (Support for maintaining and releasing projects): Renamed from
106685         'Support for maintaining and release projects'. Add announce-gen.
106687 2007-03-31  Bruno Haible  <bruno@clisp.org>
106689         * README: Talk primarily about git.
106690         (git and CVS): Renamed from CVS.
106691         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
106692         gnulib is available through git.
106693         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
106695 2007-03-30  Bruno Haible  <bruno@clisp.org>
106697         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
106698         * lib/poll_.h: Likewise.
106699         * lib/stat_.h: Likewise.
106700         * lib/sys_time_.h: Likewise.
106701         * lib/sysexit_.h: Likewise.
106702         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
106703         * lib/stdbool_.h: Likewise.
106704         * lib/byteswap_.h: Add double-inclusion guard.
106706 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
106708         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
106710 2007-03-30  Karl Berry  <karl@gnu.org>
106712         * config/srclist-update: double space after USA in the license
106713         substitution, since that's how it's usually (?) written.
106715 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
106717         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
106718         reported by Bruno Haible.
106720 2007-03-29  Bruno Haible  <bruno@clisp.org>
106722         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
106723         a bug in AIX iconv().
106725 2007-03-29  Bruno Haible  <bruno@clisp.org>
106727         * modules/ldexpl-tests: New file.
106728         * tests/test-ldexpl.c: New file.
106730 2007-03-29  Bruno Haible  <bruno@clisp.org>
106732         * lib/ldexpl.c: Include fpucw.h.
106733         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
106734         multiplication.
106735         * modules/ldexpl (Depends-on): Add fpucw.
106737 2007-03-29  Bruno Haible  <bruno@clisp.org>
106739         * modules/ldexpl: New file.
106740         * m4/ldexpl.m4: New file.
106741         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
106742         set.
106743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
106744         REPLACE_LDEXPL.
106745         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
106746         REPLACE_LDEXPL.
106747         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
106748         gl_FUNC_LDEXPL_WORKS.
106749         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
106750         * modules/mathl (Files): Remove lib/ldexpl.c.
106751         (Depends-on): Add ldexpl.
106753 2007-03-29  Bruno Haible  <bruno@clisp.org>
106755         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
106757 2007-03-29  Bruno Haible  <bruno@clisp.org>
106759         * tests/test-striconveh.c (main): Don't assume that a direct conversion
106760         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
106761         and possibly also HP-UX.
106762         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106763         work on AIX, IRIX, HP-UX, OSF/1.
106764         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
106765         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
106766         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
106767         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
106768         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
106769         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
106771 2007-03-29  Bruno Haible  <bruno@clisp.org>
106773         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
106775 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106777         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
106778         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
106780 2007-03-29  Eric Blake  <ebb9@byu.net>
106782         * lib/acl-internal.h: Remove redundant include.
106783         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
106784         Cygwin when a file is locked.
106786 2007-03-29  Bruno Haible  <bruno@clisp.org>
106788         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
106789         file.
106790         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
106792 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106794         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
106795         try to remove a parent directory if the child couldn't be removed
106796         (except for the first rmdir, which could fail because the child
106797         doesn't exist).  Problem reported by Jeff Blaine in
106798         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
106800 2007-03-28  Bruno Haible  <bruno@clisp.org>
106802         * lib/striconveh.c (utf8conv_carefully): New function.
106803         (mem_cd_iconveh_internal): Invoke it.
106805 2007-03-28  Bruno Haible  <bruno@clisp.org>
106807         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
106808         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
106809         input.
106810         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
106811         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
106812         unistr/u8-uctomb.
106814 2007-03-28  Bruno Haible  <bruno@clisp.org>
106816         * modules/unistr/u8-mbtoucr: New file.
106817         * lib/unistr/u8-mbtoucr.c: New file.
106818         * modules/unistr/u16-mbtoucr: New file.
106819         * lib/unistr/u16-mbtoucr.c: New file.
106820         * modules/unistr/u16-mbtoucr: New file.
106821         * lib/unistr/u16-mbtoucr.c: New file.
106822         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
106824 2007-03-27  Simon Josefsson  <simon@josefsson.org>
106825             Bruno Haible  <bruno@clisp.org>
106827         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
106828         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
106829         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
106831         * m4/stdio_h.m4: Add stubs for vasprintf too.
106833         * modules/stdio: Support vasprintf in sed command.
106835         * modules/vasprintf: Depend on stdio for prototypes.  Remove
106836         vasprintf.h.  Add stdio module indicator.
106838         * lib/stdio_.h: Declare asprintf and vasprintf, based on
106839         vasprintf.h.
106841         * lib/vasprintf.h: File removed.
106843         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
106844         * lib/vasprintf.c: Ditto.
106845         * lib/xvasprintf.c: Ditto.
106846         * tests/test-vasprintf-posix.c: Ditto.
106847         * tests/test-vasprintf.c: Ditto.
106849 2007-03-27  Bruno Haible  <bruno@clisp.org>
106851         Make vasnprintf multithread-safe.
106852         * lib/vasnprintf.c (decimal_point_char): New function.
106853         (VASNPRINTF): Use it.
106854         Suggested by Simon Josefsson.
106856 2007-03-27  Eric Blake  <ebb9@byu.net>
106858         Support sub-second birthtime on cygwin.
106859         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
106860         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
106861         (get_stat_birthtime): Also work with st_birthtim.
106863 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
106865         * lib/stat-time.h (USE_BIRTHTIME): Remove.
106866         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
106867         (get_stat_birthtime_ns): Do not try to use "spare" fields.
106868         (get_stat_birthtime_ns): Simplify compile-time tests.
106869         (get_stat_birthtime): Change the API to look like
106870         get_stat_mtime etc., except return a negative tv_nsec on error.
106871         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
106872         Don't check for "spare" fields.
106873         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
106874         or for struct stat.st_birthtime, as these tests aren't used.
106875         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
106877 2007-03-27  Bruno Haible  <bruno@clisp.org>
106879         * lib/stat-time.h: Include <sys/stat.h>.
106881 2007-03-27  James Youngman  <jay@gnu.org>
106883         * lib/stat-time.h (get_stat_birthtime): New function for
106884           retrieving st_birthtime as provided by UFS2 (hence *BSD).
106885         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
106886           and its variants.
106887         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
106888         * modules/stat-time-test: New file.
106889         * tests/test-stat-time.c: New test, devised by Bruno Haible.
106891 2007-03-26  Bruno Haible  <bruno@clisp.org>
106893         Better support of signalling NaNs.
106894         * lib/atanl.c: Include isnanl.h.
106895         (atanl): Perform test for NaN at the beginning of the function and
106896         through a call to isnanl.
106897         * lib/cosl.c: Include isnanl.h.
106898         (cosl): Perform test for NaN at the beginning of the function and
106899         through a call to isnanl.
106900         * lib/ldexpl.c: Include isnanl.h.
106901         (ldexpl): Perform test for NaN through a call to isnanl.
106902         * lib/logl.c: Include isnanl.h.
106903         (logl): Perform test for NaN at the beginning of the function and
106904         through a call to isnanl.
106905         * lib/sinl.c: Include isnanl.h.
106906         (sinl): Perform test for NaN at the beginning of the function and
106907         through a call to isnanl.
106908         * lib/sqrtl.c: Include isnanl.h.
106909         (sqrtl): Perform test for NaN at the beginning of the function and
106910         through a call to isnanl.
106911         * lib/tanl.c: Include isnanl.h.
106912         (tanl): Perform test for NaN at the beginning of the function and
106913         through a call to isnanl.
106914         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
106915         * modules/mathl (Depends-on): Add isnanl.
106917 2007-03-26  Eric Blake  <ebb9@byu.net>
106919         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
106920         regression in logic sense of previous patch.
106922 2007-03-26  Bruno Haible  <bruno@clisp.org>
106924         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
106925         unportable shell command "if ! ...".
106926         Reported by Ralf Wildenhues.
106928 2007-03-25  Bruno Haible  <bruno@clisp.org>
106930         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
106931         <sysexits.h> file, and only add EX_CONFIG.
106932         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
106933         absolute file name and whether it is sufficient. Substitute also
106934         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
106935         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
106936         ABSOLUTE_SYSEXITS_H into sysexits.h.
106938 2007-03-25  Bruno Haible  <bruno@clisp.org>
106940         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
106941         hints is NULL.
106943 2007-03-25  Bruno Haible  <bruno@clisp.org>
106945         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
106946         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
106948 2007-03-25  Bruno Haible  <bruno@clisp.org>
106950         * lib/vasnprintf.c: Include langinfo.h.
106951         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
106952         multithread-safe.
106953         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
106954         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
106955         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
106956         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106957         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106958         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106959         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
106960         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
106961         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106962         Reported by Simon Josefsson.
106964 2007-03-25  Bruno Haible  <bruno@clisp.org>
106966         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
106967         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
106968         * modules/vasnprintf (Depends-on): Add stdint.
106970 2007-03-25  Bruno Haible  <bruno@clisp.org>
106972         * modules/fpieee: New file.
106973         * m4/fpieee.m4: New file.
106974         * modules/isnan-nolibm (Depends-on): Add fpieee.
106975         * modules/isnanl-nolibm (Depends-on): Add fpieee.
106976         * modules/isnanl (Depends-on): Add fpieee.
106978 2007-03-25  Bruno Haible  <bruno@clisp.org>
106980         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
106982 2007-03-25  Bruno Haible  <bruno@clisp.org>
106984         Avoid test failures on IRIX 6.5.
106985         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
106986         (main): Use it.
106987         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
106988         macros.
106989         (main): Use them.
106991 2007-03-25  Bruno Haible  <bruno@clisp.org>
106993         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
106994         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
106995         exists but doesn't work.
106996         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
106997         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
106998         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
106999         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
107000         math.h.
107002 2007-03-25  Bruno Haible  <bruno@clisp.org>
107004         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
107005         returns inf. Needed on IRIX 6.5.
107007 2007-03-25  Bruno Haible  <bruno@clisp.org>
107009         * tests/test-frexpl.c: Include isnanl-nolibm.h.
107010         (main): Use isnanl instead of x != x idiom.
107011         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
107013         * tests/test-frexp.c: Include isnan.h.
107014         (main): Use isnan instead of x != x idiom.
107015         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
107017 2007-03-25  Bruno Haible  <bruno@clisp.org>
107019         * tests/test-frexp.c (NaN): New function/macro.
107020         (main): Use it instead of 0.0 / 0.0.
107021         * tests/test-isnan.c (NaN): New function/macro.
107022         (main): Use it instead of 0.0 / 0.0.
107023         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
107024         (test_function): Use it instead of 0.0 / 0.0.
107025         * tests/test-vasprintf-posix.c (NaN): New function/macro.
107026         (test_function): Use it instead of 0.0 / 0.0.
107027         * tests/test-snprintf-posix.h (NaN): New function/macro.
107028         (test_function): Use it instead of 0.0 / 0.0.
107029         * tests/test-sprintf-posix.h (NaN): New function/macro.
107030         (test_function): Use it instead of 0.0 / 0.0.
107031         * tests/test-fprintf-posix.h (NaN): New function/macro.
107032         (test_function): Use it instead of 0.0 / 0.0.
107033         * tests/test-printf-posix.h (NaN): New function/macro.
107034         (test_function): Use it instead of 0.0 / 0.0.
107036         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
107038 2007-03-25  Bruno Haible  <bruno@clisp.org>
107040         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
107042 2007-03-25  Bruno Haible  <bruno@clisp.org>
107044         * lib/regexec.c (merge_state_with_log): Make static.
107046 2007-03-25  Bruno Haible  <bruno@clisp.org>
107048         * lib/trigl.c (kernel_rem_pio2): Make static.
107050 2007-03-25  Bruno Haible  <bruno@clisp.org>
107052         * lib/sincosl.c (sincosl_table): Make static.
107054 2007-03-25  Bruno Haible  <bruno@clisp.org>
107056         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
107057         if the compiler does not support C99.
107059 2007-03-25  Bruno Haible  <bruno@clisp.org>
107061         * modules/time (Makefile.am): Ensure all rule action lines start with a
107062         tab.
107064 2007-03-24  Bruno Haible  <bruno@clisp.org>
107066         * modules/tsearch-tests: New file.
107067         * tests/test-tsearch.sh: New file.
107068         * tests/test-tsearch.c: New file, mostly copied from glibc.
107070         * modules/search-tests: New file.
107071         * tests/test-search.c: New file.
107073         * modules/search: New file.
107074         * lib/search_.h: New file, incorporating lib/tsearch.h.
107075         * m4/search_h.m4: New file.
107076         * lib/tsearch.h: Remove file.
107077         * lib/tsearch.c: Include search.h instead of tsearch.h.
107078         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
107079         HAVE_TSEARCH.
107080         * modules/tsearch (Files): Remove lib/tsearch.h.
107081         (Depends-on): Add search.
107082         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
107083         (Include): Change tsearch.h into search.h.
107085 2007-03-24  Bruno Haible  <bruno@clisp.org>
107087         * modules/fpucw: New file.
107088         * lib/fpucw.h: New file.
107089         * lib/frexp.c: Include fpucw.h.
107090         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
107091         (FUNC): Use them.
107092         * lib/printf-frexp.c: Include fpucw.h.
107093         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
107094         (FUNC): Use them.
107095         * lib/vasnprintf.c: Include fpucw.h.
107096         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
107097         'long double' calculations.
107098         * tests/test-frexpl.c: Include fpucw.h.
107099         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
107100         * tests/test-printf-frexpl.c: Include fpucw.h.
107101         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
107102         * modules/frexpl (Depends-on): Add fpucw.
107103         * modules/printf-frexpl (Depends-on): Likewise.
107104         * modules/fprintf-posix (Depends-on): Likewise.
107105         * modules/snprintf-posix (Depends-on): Likewise.
107106         * modules/sprintf-posix (Depends-on): Likewise.
107107         * modules/vasnprintf-posix (Depends-on): Likewise.
107108         * modules/vasprintf-posix (Depends-on): Likewise.
107109         * modules/vfprintf-posix (Depends-on): Likewise.
107110         * modules/vsnprintf-posix (Depends-on): Likewise.
107111         * modules/vsprintf-posix (Depends-on): Likewise.
107112         * modules/frexpl-tests (Depends-on): Likewise.
107113         * modules/printf-frexpl-tests (Depends-on): Likewise.
107115 2007-03-24  Bruno Haible  <bruno@clisp.org>
107117         * lib/float+.h: New file.
107118         * lib/isnan.c: Include float+.h.
107119         (SIZE): New macro.
107120         (FUNC): Compare only SIZE bytes of the value.
107121         * lib/vasnprintf.c: Include float+.h.
107122         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
107123         SIZEOF_LDBL or SIZEOF_DBL bytes.
107124         * modules/isnan-nolibm (Files): Add lib/float+.h.
107125         * modules/isnanl-nolibm (Files): Add lib/float+.h.
107126         * modules/isnanl (Files): Add lib/float+.h.
107127         * modules/vasnprintf (Files): Add lib/float+.h.
107129 2007-03-24  Bruno Haible  <bruno@clisp.org>
107131         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
107132         include isnanl-nolibm.h.
107134 2007-03-24  Bruno Haible  <bruno@clisp.org>
107136         * tests/test-read-file.c (main): Don't produce spurious output for
107137         expected situations. Make the test fail if it encountered unexpected
107138         results.
107140 2007-03-24  Bruno Haible  <bruno@clisp.org>
107142         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
107143         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
107145 2007-03-24  Bruno Haible  <bruno@clisp.org>
107147         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
107149 2007-03-24  Bruno Haible  <bruno@clisp.org>
107151         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
107152         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
107154         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
107155         * modules/utf8-ucs4: Turn into a symbolic link to module
107156         unistr/u8-mbtouc.
107158         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
107159         utf8-ucs4-unsafe.
107160         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
107161         unistr/u8-mbtouc-unsafe.
107163         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
107164         * modules/utf16-ucs4: Turn into a symbolic link to module
107165         unistr/u16-mbtouc.
107167         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
107168         utf16-ucs4-unsafe.
107169         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
107170         unistr/u16-mbtouc-unsafe.
107172         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
107173         * modules/ucs4-utf8: Turn into a symbolic link to module
107174         unistr/u8-ubtomb.
107176         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
107177         * modules/ucs4-utf16: Turn into a symbolic link to module
107178         unistr/u16-ubtomb.
107180 2007-03-24  Bruno Haible  <bruno@clisp.org>
107182         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
107183         Enable the function only if HAVE_INLINE.
107184         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
107185         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
107186         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
107187         Enable the function only if HAVE_INLINE.
107188         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
107189         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
107190         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
107191         Enable the function only if HAVE_INLINE.
107192         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
107193         Enable the function only if HAVE_INLINE.
107194         * modules/utf8-ucs4: Update.
107195         * modules/utf8-ucs4-unsafe: Update.
107196         * modules/utf16-ucs4: Update.
107197         * modules/utf16-ucs4-unsafe: Update.
107198         * modules/ucs4-utf8: Update.
107199         * modules/ucs4-utf16: Update.
107201 2007-03-24  Bruno Haible  <bruno@clisp.org>
107203         * lib/utf8-ucs4.h: Remove file.
107204         * lib/utf8-ucs4-unsafe.h: Remove file.
107205         * lib/utf16-ucs4.h: Remove file.
107206         * lib/utf16-ucs4-unsafe.h: Remove file.
107207         * lib/ucs4-utf8.h: Remove file.
107208         * lib/ucs4-utf16.h: Remove file.
107209         * lib/unistr.h: Include their previous contents.
107210         * m4/utf-ucs4.m4: Remove file.
107211         * m4/ucs4-utf.m4: Remove file.
107212         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
107213         (Depends-on): Add unistr/base.
107214         (configure.ac): Remove gl_UTF_UCS4.
107215         (Makefile.am): Update.
107216         (Include): Change to unistr.h.
107217         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
107218         (Depends-on): Add unistr/base.
107219         (configure.ac): Remove gl_UTF_UCS4.
107220         (Makefile.am): Update.
107221         (Include): Change to unistr.h.
107222         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
107223         (Depends-on): Add unistr/base.
107224         (configure.ac): Remove gl_UTF_UCS4.
107225         (Makefile.am): Update.
107226         (Include): Change to unistr.h.
107227         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
107228         (Depends-on): Add unistr/base.
107229         (configure.ac): Remove gl_UTF_UCS4.
107230         (Makefile.am): Update.
107231         (Include): Change to unistr.h.
107232         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
107233         (Depends-on): Add unistr/base.
107234         (configure.ac): Remove gl_UCS4_UTF.
107235         (Makefile.am): Update.
107236         (Include): Change to unistr.h.
107237         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
107238         (Depends-on): Add unistr/base.
107239         (configure.ac): Remove gl_UCS4_UTF.
107240         (Makefile.am): Update.
107241         (Include): Change to unistr.h.
107242         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
107243         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
107244         utf8-ucs4-unsafe.h.
107245         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
107246         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
107247         utf16-ucs4-unsafe.h.
107248         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
107249         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
107250         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
107251         * lib/unistr/u8-strchr.c: Likewise.
107252         * lib/unistr/u8-strrchr.c: Likewise.
107253         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
107254         * lib/unistr/u16-strchr.c: Likewise.
107255         * lib/unistr/u16-strrchr.c: Likewise.
107256         * lib/striconveh.c: Update.
107257         * lib/linebreak.c: Update.
107259 2007-03-24  Bruno Haible  <bruno@clisp.org>
107261         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
107262         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
107264 2007-03-22  Bruno Haible  <bruno@clisp.org>
107266         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
107268 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
107270         * MODULES.html.sh (File system functions): New module write-any-file.
107271         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
107272         * m4/write-any-file.m4: New files.
107274 2007-03-23  Eric Blake  <ebb9@byu.net>
107276         * gnulib-tool: Rearrange space-tab sequences, since some editors
107277         like to eat them.
107279 2007-03-23  Eric Blake  <ebb9@byu.net>
107281         * lib/version-etc.c (version_etc_va): Update license wording to
107282         be more concise.  Recommended by Richard Stallman.
107284 2007-03-22  Bruno Haible  <bruno@clisp.org>
107286         * lib/poll.c (MSG_PEEK): New fallback definition.
107288 2007-03-22  Bruno Haible  <bruno@clisp.org>
107290         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
107291         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
107292         (main): Update.
107293         Fixes a compilation error on BeOS.
107295 2007-03-22  Bruno Haible  <bruno@clisp.org>
107297         * modules/frexpl-tests: New file.
107298         * tests/test-frexpl.c: New file.
107300         * modules/frexpl: New file.
107301         * m4/frexpl.m4: New file.
107302         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
107303         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
107304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
107305         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
107306         (Depends-on): Add frexpl. Remove isnanl-nolibm.
107307         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
107309 2007-03-22  Bruno Haible  <bruno@clisp.org>
107311         * lib/frexpl.c: Share code with lib/frexp.c.
107312         * modules/mathl (Files): Add lib/frexp.c.
107313         (Depends-on): Add isnanl-nolibm.
107315 2007-03-22  Bruno Haible  <bruno@clisp.org>
107317         * modules/printf-frexp (Files): Add m4/frexp.m4.
107318         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
107319         only if the found frexp function actually works.
107321 2007-03-22  Bruno Haible  <bruno@clisp.org>
107323         * lib/frexp.c: Remove older implementation that uses divisions.
107325 2007-03-21  Bruno Haible  <bruno@clisp.org>
107327         * modules/frexp-tests: New file.
107328         * tests/test-frexp.c: New file.
107330         * modules/frexp: New file.
107331         * lib/frexp.c: New file.
107332         * m4/frexp.m4: New file.
107333         * lib/math_.h (frexp): New declaration.
107334         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
107335         REPLACE_FREXP.
107336         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
107338 2007-03-21  Bruno Haible  <bruno@clisp.org>
107340         * modules/isnanl-tests: New file.
107341         * tests/test-isnanl.c: New file.
107343         * modules/isnanl: New file.
107344         * lib/isnanl.h: New file.
107345         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
107346         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
107347         gl_FUNC_ISNANL_WORKS.
107348         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
107349         New macros.
107351 2007-03-21  Bruno Haible  <bruno@clisp.org>
107353         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
107354         lib/isnanl.h.
107355         (Include): Update.
107356         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
107357         * lib/vasnprintf.c: Update.
107358         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
107359         tests/test-isnanl.h, remove tests/test-isnanl.c.
107360         (Makefile.am): Update.
107361         * tests/test-isnanl-nolibm.c: New file.
107362         * tests/test-isnanl.h: New file.
107363         * tests/test-isnanl.c: Remove file.
107365 2007-03-21  Jim Meyering  <jim@meyering.net>
107367         When trying to open ".", treat ESTALE like EACCES.
107368         * lib/savewd.c (savewd_save): Resort to forking not just upon
107369         failure with EACCES, but also when errno is ESTALE.
107371 2007-03-20  Bruno Haible  <bruno@clisp.org>
107373         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
107374         Needed on AIX 5.1. Reported by Matthew Woehlke.
107376 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107378         Suggestions by Bruno Haible:
107379         * lib/acl-internal.h: Include "gettext.h" rather than rolling
107380         our own.
107381         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
107382         * modules/acl (Depends-on): Add gettext.
107384 2007-03-19  Bruno Haible  <bruno@clisp.org>
107386         * modules/iconvme: Remove file.
107387         * lib/iconvme.h: Remove file.
107388         * lib/iconvme.c: Remove file.
107389         * m4/iconvme.m4: Remove file.
107391 2007-03-19  Bruno Haible  <bruno@clisp.org>
107393         * doc/relocatable-maint.texi: Break long shell script line.
107394         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107396 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107398         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
107399         handle file_has_acl.
107400         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
107401         * lib/acl.c: Move header inclusions and related macro defns into
107402         lib/acl-internal.h.
107403         (S_ISLNK): Remove defn, since that's now done for us.
107404         (file_has_acl): Move to lib/file-has-acl.c.
107405         Call acl_trivial if available.  This is the crucial part of the fix.
107406         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
107407         shared within the library.  Rewrite a bit, partly to make it compatible
107408         with the GNU coding style.
107409         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
107410         Remove unnecessary double-quotes.
107411         Don't test for acl_to_text; the build will catch that.
107412         Replace acl_entries if it doesn't exist and it is needed.
107413         Check for -lsec and acl_trivial (as used on Solaris 10).
107414         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
107415         lib/file-has-acl.c.
107416         (Depends-on): Add sys_stat, for S_ISLNK.
107418 2007-03-19  Ben Pfaff  <blp@gnu.org>
107420         * doc/gnulib.texi: Fix typos.
107421         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107423 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107425         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
107426         If size is zero here, buf must be zero.
107428 2007-03-19  Simon Josefsson  <simon@josefsson.org>
107430         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
107431         <bruno@clisp.org>.
107433 2007-03-18  Bruno Haible  <bruno@clisp.org>
107435         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
107436         Suggested by Eric Blake.
107438 2007-03-18  Ben Pfaff  <blp@gnu.org>
107440         * doc/relocatable.texi: Recommend using as prefix a directory
107441         that does not exist and will never be created.  Based on
107442         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
107443         and others.
107445 2007-03-17  Bruno Haible  <bruno@clisp.org>
107447         * lib/fchownat.c: Include lchown.h.
107449 2007-03-17  Bruno Haible  <bruno@clisp.org>
107451         Fix endless loop when the given allocated size was > INT_MAX.
107452         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
107453         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
107454         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
107455         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
107456         * lib/sprintf.c (sprintf): Likewise.
107458 2007-03-17  Bruno Haible  <bruno@clisp.org>
107460         * tests/test-argp-2.sh (func_compare): Output a context diff.
107462 2007-03-17  Bruno Haible  <bruno@clisp.org>
107464         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
107465         locale's decimal-point character.
107467 2007-03-17  Bruno Haible  <bruno@clisp.org>
107469         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
107470         before comparing it. Needed because on some platforms (e.g. x86) a
107471         'long double' occupies less bytes than sizeof (long double).
107473 2007-03-17  Bruno Haible  <bruno@clisp.org>
107475         * tests/test-crc.c (main): Make printf statements 64-bit clean.
107476         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
107477         * tests/test-getaddrinfo.c (simple): Likewise.
107478         * tests/test-read-file.c (main): Likewise.
107480 2007-03-17  Bruno Haible  <bruno@clisp.org>
107482         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
107484 2007-03-17  Bruno Haible  <bruno@clisp.org>
107486         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
107487         unused variable.
107489 2007-03-17  Bruno Haible  <bruno@clisp.org>
107491         * tests/test-c-strcasecmp.c: Include c-strcase.h.
107492         * tests/test-c-strncasecmp.c: Likewise.
107494 2007-03-17  Bruno Haible  <bruno@clisp.org>
107496         * modules/stdlib (Depends-on): Add unistd.
107497         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
107498         Needed for MacOS X 10.3.
107500 2007-03-17  Bruno Haible  <bruno@clisp.org>
107502         * lib/unistr/u-strdup.h: Include <stdlib.h>.
107504 2007-03-17  Bruno Haible  <bruno@clisp.org>
107506         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
107508 2007-03-17  Bruno Haible  <bruno@clisp.org>
107510         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
107511         to reflect files copied from gnulib (with or without modifications).
107512         Suggested by Jim Meyering.
107514 2007-03-17  Eric Blake  <ebb9@byu.net>
107516         * NEWS: Document stdlib change from 2007-02-18.
107518 2007-03-17  Jim Meyering  <jim@meyering.net>
107520         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
107521         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
107522         someone uses a name containing shell meta-characters.
107523         Reported by Alfred M. Szmidt.
107525         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
107527 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107529         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
107530         and copy gettext configuration files only if configure.ac contains
107531         a use of AM_GNU_GETTEXT_VERSION.
107533 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107535         * build-aux/bootstrap (gnulib_name): New variable.
107536         (gnulib_tool_options): Use it.
107538 2007-03-13  Simon Josefsson  <simon@josefsson.org>
107540         * tests/test-des.c: Use new namespace.
107542 2007-03-15  Bruno Haible  <bruno@clisp.org>
107544         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
107545         Reported by James Youngman <jay@gnu.org>.
107547 2007-03-15  Bruno Haible  <bruno@clisp.org>
107549         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
107550         declared prototype. Needed with cc on OSF/1 5.1.
107552 2007-03-15  Bruno Haible  <bruno@clisp.org>
107554         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
107555         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
107556         (struct gl_list_implementation): Add dispose_fn argument to the
107557         'create_empty', 'create' methods.
107558         (struct gl_list_impl_base): Add field 'dispose_fn'.
107559         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
107560         argument.
107561         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
107562         dispose_fn argument.
107563         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
107564         dispose_fn on the dropped values.
107565         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
107566         dispose_fn argument.
107567         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
107568         dropped values.
107569         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
107570         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107571         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
107572         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107573         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
107574         argument.
107575         (gl_tree_list_free): Call dispose_fn on the dropped values.
107576         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
107577         the dropped values.
107578         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
107579         Add dispose_fn argument.
107580         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
107581         Call dispose_fn on the dropped values.
107582         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
107583         Add dispose_fn argument.
107584         (gl_sublist_create): Initialize the 'dispose_fn' field.
107585         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
107586         * tests/test-array_list.c (main): Update.
107587         * tests/test-carray_list.c (main): Update.
107588         * tests/test-avltree_list.c (main): Update.
107589         * tests/test-rbtree_list.c (main): Update.
107590         * tests/test-avltreehash_list.c (main): Update.
107591         * tests/test-rbtreehash_list.c (main): Update.
107592         * tests/test-linked_list.c (main): Update.
107593         * tests/test-linkedhash_list.c (main): Update.
107594         * tests/test-array_oset.c (main): Update.
107596 2007-03-15  Bruno Haible  <bruno@clisp.org>
107598         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
107599         (gl_oset_create_empty): Add dispose_fn argument.
107600         (struct gl_oset_implementation): Add dispose_fn argument to
107601         'create_empty' method.
107602         (struct gl_oset_impl_base): Add dispose_fn field.
107603         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
107604         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
107605         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
107606         values.
107607         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
107608         (gl_tree_oset_free): Call dispose_fn on the dropped values.
107609         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107610         dropped value.
107611         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107612         dropped value.
107613         * tests/test-array_oset.c (main): Update.
107614         * tests/test-avltree_oset.c (main): Update.
107615         * tests/test-rbtree_oset.c (main): Update.
107616         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
107618 2007-03-13  Bruno Haible  <bruno@clisp.org>
107620         * tests/test-stdbool.c (i): Update after last patch.
107622 2007-03-12  Bruno Haible  <bruno@clisp.org>
107624         * lib/quotearg.c: Include <wctype.h> early, before the definition of
107625         the iswprint macro. Needed on Solaris 2.5.1.
107627 2007-03-12  Bruno Haible  <bruno@clisp.org>
107629         * tests/test-printf-frexp.c (main): Declare x as volatile.
107631 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107633         * doc/gnulib.texi (Build robot for gnulib): New section.
107635 2007-03-12  Jim Meyering  <jim@meyering.net>
107637         * build-aux/bootstrap: New file.
107638         * build-aux/bootstrap.conf: New file, from coreutils.
107640 2007-03-11  Bruno Haible  <bruno@clisp.org>
107642         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
107644 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107646         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
107647         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
107648         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
107650 2007-03-11  Bruno Haible  <bruno@clisp.org>
107652         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
107653         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
107655 2007-03-11  Bruno Haible  <bruno@clisp.org>
107657         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
107658         formula. Needed for SunPRO C 5.0.
107660 2007-03-11  Bruno Haible  <bruno@clisp.org>
107662         * modules/long-options (Depends-on): Add getopt.
107664 2007-03-11  Bruno Haible  <bruno@clisp.org>
107666         * modules/modechange (Depends-on): Add stdbool.
107668 2007-03-11  Bruno Haible  <bruno@clisp.org>
107670         * modules/i-ring (Depends-on): Add stdbool.
107672 2007-03-11  Bruno Haible  <bruno@clisp.org>
107674         * modules/gc-des (Depends-on): Add stdbool.
107676 2007-03-11  Bruno Haible  <bruno@clisp.org>
107678         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
107680 2007-03-11  Bruno Haible  <bruno@clisp.org>
107682         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
107684 2007-03-11  Bruno Haible  <bruno@clisp.org>
107686         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
107688 2007-03-11  Bruno Haible  <bruno@clisp.org>
107690         * lib/vasnprintf.c (sprintf): Undefine.
107692 2007-03-11  Bruno Haible  <bruno@clisp.org>
107694         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
107695         initializers in SunPRO C and Compaq C compilers.
107697 2007-03-11  Bruno Haible  <bruno@clisp.org>
107699         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
107700         decrementing code ANSI C compliant.
107702 2007-03-11  Bruno Haible  <bruno@clisp.org>
107704         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
107705         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
107707 2007-03-11  Bruno Haible  <bruno@clisp.org>
107709         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
107710         <stdbool.h> substitute doesn't pass.
107712 2007-03-11  Bruno Haible  <bruno@clisp.org>
107714         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
107716 2007-03-11  Bruno Haible  <bruno@clisp.org>
107718         * gnulib-tool (func_create_megatestdir): Create also an autobuild
107719         script, for submission to autobuild.josefsson.org.
107721 2007-03-10  Bruno Haible  <bruno@clisp.org>
107723         * modules/canonicalize-lgpl-tests: New file.
107724         * tests/test-canonicalize-lgpl.sh: New file.
107725         * tests/test-canonicalize-lgpl.c: New file.
107727         * modules/c-strcase-tests: New file.
107728         * tests/test-c-strcase.sh: New file.
107729         * tests/test-c-strcasecmp.c: New file.
107730         * tests/test-c-strncasecmp.c: New file.
107732         * modules/atexit-tests: New file.
107733         * tests/test-atexit.sh: New file.
107734         * tests/test-atexit.c: New file.
107736 2007-03-10  Bruno Haible  <bruno@clisp.org>
107738         * tests/test-binary-io.sh: Use temporary filenames that are not so
107739         likely to clash with those of other tests (in a parallel make).
107740         * tests/test-binary-io.c: Likewise.
107742 2007-03-10  Bruno Haible  <bruno@clisp.org>
107744         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
107745         fallback; use #error instead.
107746         Suggested by Simon Josefsson.
107748 2007-03-10  Bruno Haible  <bruno@clisp.org>
107750         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
107751         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
107752         first and the last.
107754 2007-03-10  Bruno Haible  <bruno@clisp.org>
107756         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
107758 2007-03-10  Bruno Haible  <bruno@clisp.org>
107760         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
107761         "make distcheck".
107762         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
107763         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
107764         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
107766 2007-03-10  Bruno Haible  <bruno@clisp.org>
107768         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
107769         variable.
107770         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
107771         variable.
107773 2007-03-09  Eric Blake  <ebb9@byu.net>
107774         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
107776         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
107777         types are not being provided by gnulib.
107778         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
107779         types are supported.
107781 2007-03-10  Bruno Haible  <bruno@clisp.org>
107783         * lib/stdio_.h (__attribute__): New macro.
107784         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
107785         vsprintf): Specify __attribute__ __format__ for GCC.
107786         Suggested by Eric Blake.
107788 2007-03-09  Bruno Haible  <bruno@clisp.org>
107790         * modules/printf-posix-tests: New file.
107791         * tests/test-printf-posix.sh: New file.
107792         * tests/test-printf-posix.c: New file.
107794         * modules/printf-posix: New file.
107795         * lib/printf.c: New file.
107796         * m4/printf-posix-rpl.m4: New file.
107797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
107798         REPLACE_PRINTF.
107799         * lib/stdio_.h (printf): New declaration.
107800         (format, __format__, ____printf____, ____scanf____, ____strftime____,
107801         ____strfmon____): New macros.
107802         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
107803         REPLACE_PRINTF.
107805 2007-03-09  Bruno Haible  <bruno@clisp.org>
107807         * tests/test-vasnprintf-posix2.sh: New file.
107808         * tests/test-vasnprintf-posix2.c: New file.
107809         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
107810         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
107811         (Makefile.am): Activate test-vasnprintf-posix2.sh.
107813         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
107814         a locale dependent decimal point, rather than always '.'.
107816 2007-03-09  Eric Blake  <ebb9@byu.net>
107818         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
107819         spite of platforms like Tandem/NSK that define it to -1.
107821 2007-03-08  Bruno Haible  <bruno@clisp.org>
107823         * modules/vprintf-posix-tests: New file.
107824         * tests/test-vprintf-posix.sh: New file.
107825         * tests/test-vprintf-posix.c: New file.
107826         * tests/test-printf-posix.h: New file.
107828         * modules/vprintf-posix: New file.
107829         * lib/vprintf.c: New file.
107830         * m4/vprintf-posix.m4: New file.
107831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
107832         REPLACE_VPRINTF.
107833         * lib/stdio_.h (vprintf): New declaration.
107834         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
107835         REPLACE_VPRINTF.
107837 2007-03-08  Bruno Haible  <bruno@clisp.org>
107839         * modules/fprintf-posix-tests: New file.
107840         * tests/test-fprintf-posix.sh: New file.
107841         * tests/test-fprintf-posix.c: New file.
107843         * modules/fprintf-posix: New file.
107844         * lib/fprintf.c: New file.
107845         * m4/fprintf-posix.m4: New file.
107846         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
107847         REPLACE_FPRINTF.
107848         * lib/stdio_.h (fprintf): New declaration.
107849         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
107850         REPLACE_FPRINTF.
107852 2007-03-08  Bruno Haible  <bruno@clisp.org>
107854         * modules/vfprintf-posix-tests: New file.
107855         * tests/test-vfprintf-posix.sh: New file.
107856         * tests/test-vfprintf-posix.c: New file.
107857         * tests/test-fprintf-posix.h: New file.
107858         * tests/test-fprintf-posix.out: New file.
107860         * modules/vfprintf-posix: New file.
107861         * lib/vfprintf.c: New file.
107862         * m4/vfprintf-posix.m4: New file.
107863         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
107864         REPLACE_VFPRINTF.
107865         * lib/stdio_.h (vfprintf): New declaration.
107866         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
107867         REPLACE_VFPRINTF.
107869 2007-03-08  Bruno Haible  <bruno@clisp.org>
107871         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
107873 2007-03-08  Bruno Haible  <bruno@clisp.org>
107875         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
107876         instead of 'expr' invocations.
107877         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
107878         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
107879         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
107880         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
107881         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
107882         Suggested by Paul Eggert.
107884 2007-03-08  Bruno Haible  <bruno@clisp.org>
107886         * modules/fseterr-tests: New file.
107887         * tests/test-fseterr.c: New file.
107889         * modules/fseterr: New file.
107890         * lib/fseterr.h: New file.
107891         * lib/fseterr.c: New file.
107893 2007-03-08  Bruno Haible  <bruno@clisp.org>
107895         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
107896         * lib/getopt_.h: Likewise.
107897         * lib/mbswidth.h: Likewise.
107898         * lib/setenv.h: Likewise.
107899         * lib/vasnprintf.h: Likewise.
107900         * lib/vasprintf.h: Likewise.
107901         * lib/verror.h: Likewise.
107902         * lib/xsetenv.h: Likewise.
107903         * lib/xvasprintf.h: Likewise.
107905 2007-03-08  Jim Meyering  <jim@meyering.net>
107907         * users.txt: Add parted.
107909         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
107911 2007-03-07  Bruno Haible  <bruno@clisp.org>
107913         * m4/printf.m4: Make the shell script snippets copy&pastable.
107915 2007-03-02  Bruno Haible  <bruno@clisp.org>
107917         * lib/netinet_in_.h: New file.
107918         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
107919         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
107920         * modules/netinet_in (Files): Add lib/netinet_in_.h.
107921         (Depends-on): Add absolute-header.
107922         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
107923         into netinet/in.h.
107925 2007-03-03  Bruno Haible  <bruno@clisp.org>
107927         * lib/sys_select_.h: New file.
107928         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
107929         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
107930         * modules/sys_select (Files): Add lib/sys_select_.h.
107931         (Depends-on): Add absolute-header.
107932         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
107933         into sys/select.h.
107935 2007-03-02  Bruno Haible  <bruno@clisp.org>
107937         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
107938         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
107939         values.
107940         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
107941         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
107942         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
107943         * modules/sys_socket (Depends-on): Add absolute-header.
107944         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
107945         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
107946         (Include): Remove requirement of inclusion of <sys/types.h>.
107948 2007-03-02  Bruno Haible  <bruno@clisp.org>
107950         * lib/byteswap_.h (bswap_32): Fix formula.
107952 2007-03-06  Bruno Haible  <bruno@clisp.org>
107954         * modules/sprintf-posix-tests: New file.
107955         * tests/test-sprintf-posix.c: New file.
107957         * modules/sprintf-posix: New file.
107958         * lib/sprintf.c: New file.
107959         * m4/sprintf-posix.m4: New file.
107960         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
107961         REPLACE_SPRINTF.
107962         * lib/stdio_.h (sprintf): New declaration.
107963         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
107964         REPLACE_SPRINTF.
107966 2007-03-06  Bruno Haible  <bruno@clisp.org>
107968         * modules/vsprintf-posix-tests: New file.
107969         * tests/test-vsprintf-posix.c: New file.
107970         * tests/test-sprintf-posix.h: New file.
107972         * modules/vsprintf-posix: New file.
107973         * lib/vsprintf.c: New file.
107974         * m4/vsprintf-posix.m4: New file.
107975         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
107976         REPLACE_VSPRINTF.
107977         * lib/stdio_.h (vsprintf): New declaration.
107978         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
107979         REPLACE_VSPRINTF.
107981 2007-03-06  Bruno Haible  <bruno@clisp.org>
107983         * modules/vsnprintf (Depend-on): Remove minmax.
107985 2007-03-06  Bruno Haible  <bruno@clisp.org>
107987         * modules/snprintf-posix-tests: New file.
107988         * tests/test-snprintf-posix.c: New file.
107990         * modules/snprintf-posix: New file.
107991         * m4/snprintf-posix.m4: New file.
107992         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
107993         gl_FUNC_SNPRINTF.
107994         (gl_FUNC_SNPRINTF): Invoke it.
107995         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
107996         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
107997         is set.
107998         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
108000 2007-03-06  Bruno Haible  <bruno@clisp.org>
108002         * modules/vsnprintf-posix-tests: New file.
108003         * tests/test-vsnprintf-posix.c: New file.
108004         * tests/test-snprintf-posix.h: New file.
108006         * modules/vsnprintf-posix: New file.
108007         * m4/vsnprintf-posix.m4: New file.
108008         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
108009         gl_FUNC_VSNPRINTF.
108010         (gl_FUNC_VSNPRINTF): Invoke it.
108011         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
108012         * lib/stdio_.h (vsnprintf): Define as a replacement if
108013         REPLACE_VSNPRINTF is set.
108014         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
108016 2007-03-06  Bruno Haible  <bruno@clisp.org>
108018         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
108019         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
108021 2007-03-06  Bruno Haible  <bruno@clisp.org>
108023         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
108024         (asinl): Declare also if HAVE_DECL_ASINL is set.
108025         (atanl): Declare also if HAVE_DECL_ATANL is set.
108026         (ceill): Declare also if HAVE_DECL_CEILL is set.
108027         (cosl): Declare also if HAVE_DECL_COSL is set.
108028         (expl): Declare also if HAVE_DECL_EXPL is set.
108029         (floorl): Declare also if HAVE_DECL_FLOORL is set.
108030         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
108031         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
108032         (logl): Declare also if HAVE_DECL_LOGL is set.
108033         (sinl): Declare also if HAVE_DECL_SINL is set.
108034         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
108035         (tanl): Declare also if HAVE_DECL_TANL is set.
108036         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
108037         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
108038         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
108039         declaration of frexpl, ldexpl.
108040         * modules/printf-frexpl (Depends-on): Add math.
108041         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
108043 2007-03-05  Bruno Haible  <bruno@clisp.org>
108045         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
108046         frexpl and ldexpl are declared.
108047         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
108049 2007-03-05  Bruno Haible  <bruno@clisp.org>
108051         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
108052         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
108054 2007-03-05  Bruno Haible  <bruno@clisp.org>
108056         * lib/stdio_.h: Include <stddef.h>.
108058 2007-03-05  Bruno Haible  <bruno@clisp.org>
108060         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
108062 2007-03-05  Bruno Haible  <bruno@clisp.org>
108064         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
108065         NetBSD 4, from Ralf Wildenhues.
108067 2007-03-04  Bruno Haible  <bruno@clisp.org>
108069         * lib/vasprintf.h: Update #if logic for the case when the functions
108070         exist but are overridden.
108072 2007-03-04  Bruno Haible  <bruno@clisp.org>
108074         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
108075         implementations: glibc-2.4 and MacOS X 10.3.
108076         * tests/test-vasnprintf-posix.c (test_function): Test also the case
108077         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
108078         * tests/test-vasprintf-posix.c (test_function): Likewise.
108080 2007-03-04  Bruno Haible  <bruno@clisp.org>
108082         * modules/vasprintf-posix-tests: New file.
108083         * tests/test-vasprintf-posix.c: New file.
108085         * modules/vasprintf-posix: New file.
108086         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
108087         defined.
108088         * m4/vasprintf-posix.m4: New file.
108089         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
108090         gl_FUNC_VASPRINTF.
108091         (gl_FUNC_VASPRINTF): Invoke it.
108092         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
108093         here.
108094         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
108096 2007-03-04  Bruno Haible  <bruno@clisp.org>
108098         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
108099         REPLACE_GETTIMEOFDAY.
108100         * modules/sys_time (Makefile.am): Likewise.
108101         * m4/sys_time_h.m4: Likewise.
108102         * m4/gettimeofday.m4: Likewise.
108104 2007-03-04  Bruno Haible  <bruno@clisp.org>
108106         * modules/vasnprintf-posix-tests: New file.
108107         * tests/test-vasnprintf-posix.c: New file.
108109         * modules/vasnprintf-posix: New file.
108110         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
108111         printf-frexpl.h.
108112         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
108113         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
108114         REPLACE_VASNPRINTF is defined.
108115         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
108116         gl_FUNC_VASNPRINTF.
108117         (gl_FUNC_VASNPRINTF): Invoke it.
108118         * m4/vasnprintf-posix.m4: New file.
108119         * m4/printf.m4: New file.
108121 2007-03-04  Bruno Haible  <bruno@clisp.org>
108123         Compile progreloc.c only if --enable-relocatable is specified.
108124         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
108125         if --enable-relocatable was specified.
108126         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
108127         lib_SOURCES.
108129 2007-03-04  Jim Meyering  <jim@meyering.net>
108131         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
108132         Use it consistently, rather than enumerating errno constants.
108134 2007-03-04  Bruno Haible  <bruno@clisp.org>
108136         * modules/xvasprintf-tests: New file.
108137         * tests/test-xvasprintf.c: New file.
108139         * modules/vasprintf-tests: New file.
108140         * tests/test-vasprintf.c: New file.
108142         * modules/vasnprintf-tests: New file.
108143         * tests/test-vasnprintf.c: New file.
108145         * modules/vsnprintf-tests: New file.
108146         * tests/test-vsnprintf.c: New file.
108148         * modules/snprintf-tests: New file.
108149         * tests/test-snprintf.c: New file.
108151 2007-03-04  Bruno Haible  <bruno@clisp.org>
108153         Compile relocatable.c only if --enable-relocatable is specified.
108154         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
108155         gl_RELOCATABLE_LIBRARY.
108156         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
108157         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
108158         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
108159         gl_RELOCATABLE_LIBRARY.
108160         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
108161         (Makefile.am): Remove lib_SOURCES.
108162         * modules/relocatable-lib-lgpl (configure.ac): Invoke
108163         gl_RELOCATABLE_LIBRARY.
108164         (Makefile.am): Remove lib_SOURCES.
108165         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
108166         always.
108167         * modules/relocatable-prog-wrapper (configure.ac): Invoke
108168         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
108170 2007-03-04  Bruno Haible  <bruno@clisp.org>
108172         * modules/argmatch-tests: New file.
108173         * tests/test-argmatch.c: New file.
108175         * tests/test-allocsa.c (main): Halve the number of loop runs.
108177         * modules/alloca-opt-tests: New file.
108178         * tests/test-alloca-opt.c: New file.
108180 2007-03-04  Jim Meyering  <jim@meyering.net>
108182         Work around difference between Linux ACLs and Solaris 10 ZFS.
108183         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
108184         for EINVAL.
108186 2007-03-03  Bruno Haible  <bruno@clisp.org>
108188         * modules/relocatable-prog (Depends-on): Add back progreloc's
108189         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
108191 2007-03-03  Bruno Haible  <bruno@clisp.org>
108193         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
108194         * modules/relocatable-lib: New file.
108196 2007-03-03  Bruno Haible  <bruno@clisp.org>
108198         * modules/relocatable-prog: Renamed from modules/relocatable.
108199         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
108201 2007-03-03  Bruno Haible  <bruno@clisp.org>
108203         * modules/relocatable-script (Files): Add doc/relocatable.texi,
108204         m4/relocatable-lib.m4.
108205         (Depends-on): Remove 'relocatable'.
108206         (configure.ac): Add gl_RELOCATABLE_NOP.
108208 2007-03-03  Bruno Haible  <bruno@clisp.org>
108210         * modules/relocatable-prog-wrapper: New file.
108211         * modules/relocatable (Depends-on): Add it. Remove all other
108212         dependencies except progname.
108213         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
108215         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
108216         (gl_FUNC_STRERROR): Nop.
108217         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
108219         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
108220         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
108222         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
108223         (gl_FUNC_READLINK): Update.
108225         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
108227 2007-03-03  Bruno Haible  <bruno@clisp.org>
108229         * lib/xreadlink.c: Include <unistd.h> unconditionally.
108230         * modules/xreadlink (Depends-on): Add unistd.
108231         * modules/xreadlink-with-size (Depends-on): Likewise.
108233 2007-03-03  Bruno Haible  <bruno@clisp.org>
108235         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
108236         extracted from gt_FUNC_SETENV.
108237         (gt_FUNC_SETENV): Remove macro.
108238         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
108239         remove gt_FUNC_SETENV.
108241 2007-03-03  Bruno Haible  <bruno@clisp.org>
108243         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
108244         ENABLE_RELOCATABLE here.
108245         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
108247 2007-03-03  Bruno Haible  <bruno@clisp.org>
108249         * modules/rbtreehash-list-tests (Depends-on): Add progname.
108250         * tests/test-rbtreehash_list.c: Include progname.h.
108251         (main): Call set_program_name.
108253         * modules/rbtree-oset-tests (Depends-on): Add progname.
108254         * tests/test-rbtree_oset.c: Include progname.h.
108255         (main): Call set_program_name.
108257         * modules/rbtree-list-tests (Depends-on): Add progname.
108258         * tests/test-rbtree_list.c: Include progname.h.
108259         (main): Call set_program_name.
108261         * modules/linked-list-tests (Depends-on): Add progname.
108262         * tests/test-linked_list.c: Include progname.h.
108263         (main): Call set_program_name.
108265 2007-03-03  Bruno Haible  <bruno@clisp.org>
108267         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
108268         All uses of __restrict changed to _Restrict_.
108269         * lib/glob_.h (__restrict): Remove macro.
108271 2007-03-02  Bruno Haible  <bruno@clisp.org>
108273         * modules/gettext (configure.ac): Require gettext infrastructure
108274         from version 0.16.1.
108276 2007-03-02  Bruno Haible  <bruno@clisp.org>
108278         * modules/linkedhash-list-tests (Depends-on): Add progname.
108279         * tests/test-linkedhash_list.c: Include progname.h.
108280         (main): Call set_program_name.
108282         * modules/carray-list-tests (Depends-on): Add progname.
108283         * tests/test-carray_list.c: Include progname.h.
108284         (main): Call set_program_name.
108286         * modules/avltreehash-list-tests (Depends-on): Add progname.
108287         * tests/test-avltreehash_list.c: Include progname.h.
108288         (main): Call set_program_name.
108290         * modules/avltree-oset-tests (Depends-on): Add progname.
108291         * tests/test-avltree_oset.c: Include progname.h.
108292         (main): Call set_program_name.
108294         * modules/avltree-list-tests (Depends-on): Add progname.
108295         * tests/test-avltree_list.c: Include progname.h.
108296         (main): Call set_program_name.
108298         * modules/array-oset-tests (Depends-on): Add progname.
108299         * tests/test-array_oset.c: Include progname.h.
108300         (main): Call set_program_name.
108302         * modules/array-list-tests (Depends-on): Add progname.
108303         * tests/test-array_list.c: Include progname.h.
108304         (main): Call set_program_name.
108306         * modules/argp-tests (Depends-on): Add progname.
108307         * tests/test-argp.c: Include argp.h first. Include progname.h.
108308         (main): Call set_program_name.
108310 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
108312         * doc/gnulib-tool.texi (Initial import): Reword description of
108313         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
108314         limited effect even if defined after the first system include.
108316 2007-03-01  Bruno Haible  <bruno@clisp.org>
108318         * build-aux/config.libpath: Update to libtool-1.5.22.
108319         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
108321 2007-03-01  Bruno Haible  <bruno@clisp.org>
108323         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
108324         foo_CFLAGS.
108325         Reported by Ralf Wildenhues.
108327 2007-03-01  Bruno Haible  <bruno@clisp.org>
108329         * build-aux/install-reloc: Remove object files left over by some
108330         compilers.
108331         Reported by Ralf Wildenhues.
108333 2007-03-01  Bruno Haible  <bruno@clisp.org>
108335         * build-aux/install-reloc: Break long lines.
108337 2007-03-01  Bruno Haible  <bruno@clisp.org>
108339         * doc/relocatable.texi: Document that it may not work on OpenBSD.
108340         Reported by Ralf Wildenhues.
108342 2007-03-01  Bruno Haible  <bruno@clisp.org>
108344         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
108345         include ordering constraints.
108347 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
108349         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
108350         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
108351         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
108352         as another example.
108353         * lib/time_.h: Fix misspelling.
108354         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
108355         Require gl_HEADER_TIME_H_DEFAULTS.
108356         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
108357         * m4/time_r.m4 (gl_TIME_R): Likewise.
108358         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
108360 2007-03-01  Bruno Haible  <bruno@clisp.org>
108362         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
108363         * m4/utimens.m4 (gl_UTIMENS): Likewise.
108365 2007-03-01  Jim Meyering  <jim@meyering.net>
108367         * modules/xreadlink (Maintainer): Add my name.
108368         * modules/xreadlink-with-size (Depends-on): Alphabetize.
108370 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
108371             Bruno Haible  <bruno@clisp.org>
108373         * build-aux/install-reloc: Compile also c-ctype.c.
108374         * build-aux/relocatable.sh.in: New file.
108375         * doc/relocatable.texi: New file.
108376         * doc/relocatable-maint.texi: New file.
108377         * doc/gnulib.texi: Include relocatable-maint.texi.
108378         * lib/progreloc.c: Include unistd.h unconditionally.
108379         * lib/relocwrapper.c: Include unistd.h unconditionally.
108380         Include c-ctype.h.
108381         (add_dotbin): Use c_tolower.
108382         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
108383         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
108384         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
108385         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
108386         to m4/relocatable-lib.m4.
108387         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
108388         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
108389         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
108390         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
108391         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
108392         * modules/relocatable: New file.
108393         * modules/relocatable-lib: New file.
108394         * modules/relocatable-script: New file.
108396 2007-02-28  Bruno Haible  <bruno@clisp.org>
108398         Import --enable-relocatable infrastructure.
108399         * build-aux/config.libpath: New file, from GNU gettext.
108400         * build-aux/install-reloc: New file, from GNU gettext.
108401         * build-aux/reloc-ldflags: New file, from GNU gettext.
108402         * lib/relocatable.h: New file, from GNU gettext.
108403         * lib/relocatable.c: New file, from GNU gettext.
108404         * lib/relocwrapper.c: New file, from GNU gettext.
108405         * m4/relocatable.m4: New file, from GNU gettext.
108407 2007-02-28  Bruno Haible  <bruno@clisp.org>
108409         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
108411         * modules/xreadlink: New file, from GNU gettext with modifications.
108412         * lib/xreadlink.c: New file, from GNU gettext.
108413         * lib/xreadlink.h: Add comments.
108414         (xreadlink): New declaration.
108416         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
108417         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
108418         lib/xreadlink-with-size.c.
108419         (configure.ac): Remove gl_XREADLINK invocation.
108420         (Makefile.am): Augment lib_SOURCES.
108421         * m4/xreadlink.m4: Remove file.
108422         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
108423         (xreadlink_with_size): Renamed from xreadink.
108424         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
108425         * modules/canonicalize (Depends-on): Replace xreadlink with
108426         xreadlink-with-size.
108427         * lib/canonicalize.c (canonicalize_filename_mode): Update.
108429 2007-02-25  Jim Meyering  <jim@meyering.net>
108431         * build-aux/announce-gen: When complaining about excess arguments,
108432         list them.
108434 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
108436         * README: Document signed integer overflow situation more
108437         accurately.
108439 2007-02-25  Bruno Haible  <bruno@clisp.org>
108441         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
108442         'a' or 'A' conversion.
108444 2007-02-25  Bruno Haible  <bruno@clisp.org>
108446         * modules/filename: Renamed from modules/pathname.
108447         (Files): Replace lib/pathname.h with lib/filename.h. Replace
108448         lib/concatpath.c with lib/concat-filename.c.
108449         (Makefile.am): Update.
108450         (Include): Replace pathname.h with filename.h.
108451         * lib/filename.h: Renamed from lib/pathname.h.
108452         (concatenated_filename): Renamed from concatenated_pathname.
108453         * lib/concat-filename.c: Renamed from lib/concatpath.c.
108454         (concatenated_filename): Renamed from concatenated_pathname.
108455         * lib/findprog.c: Include filename.h instead of pathname.h.
108456         (find_in_path): Update.
108457         * lib/javacomp.c: Include filename.h instead of pathname.h.
108458         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
108459         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
108460         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
108461         is_oldgcj_14_13_usable, is_javac_usable): Update.
108462         * lib/javaexec.c: Include filename.h instead of pathname.h.
108463         (execute_java_class): Update.
108464         * modules/findprog: Update.
108465         * modules/javacomp: Update.
108466         * modules/javaexec: Update.
108467         * MODULES.html.sh (File system functions): Add 'filename', remove
108468         'pathname'.
108470 2007-02-25  Bruno Haible  <bruno@clisp.org>
108472         * modules/printf-frexpl-tests: New file.
108473         * tests/test-printf-frexpl.c: New file.
108475         * modules/printf-frexpl: New file.
108476         * lib/printf-frexpl.h: New file.
108477         * lib/printf-frexpl.c: New file.
108478         * m4/printf-frexpl.m4: New file.
108480 2007-02-25  Bruno Haible  <bruno@clisp.org>
108482         * modules/printf-frexp-tests: New file.
108483         * tests/test-printf-frexp.c: New file.
108485         * modules/printf-frexp: New file.
108486         * lib/printf-frexp.h: New file.
108487         * lib/printf-frexp.c: New file.
108488         * m4/printf-frexp.m4: New file.
108490 2007-02-25  Bruno Haible  <bruno@clisp.org>
108492         Assume automake >= 1.10 for the tests.
108493         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
108494         * modules/arctwo-tests: Likewise.
108495         * modules/argp-tests: Likewise.
108496         * modules/avltree-list-tests: Likewise.
108497         * modules/avltree-oset-tests: Likewise.
108498         * modules/avltreehash-list-tests: Likewise.
108499         * modules/carray-list-tests: Likewise.
108500         * modules/crc-tests: Likewise.
108501         * modules/des-tests: Likewise.
108502         * modules/gc-arcfour-tests: Likewise.
108503         * modules/gc-arctwo-tests: Likewise.
108504         * modules/gc-des-tests: Likewise.
108505         * modules/gc-hmac-md5-tests: Likewise.
108506         * modules/gc-hmac-sha1-tests: Likewise.
108507         * modules/gc-md2-tests: Likewise.
108508         * modules/gc-md4-tests: Likewise.
108509         * modules/gc-md5-tests: Likewise.
108510         * modules/gc-pbkdf2-sha1-tests: Likewise.
108511         * modules/gc-rijndael-tests: Likewise.
108512         * modules/gc-sha1-tests: Likewise.
108513         * modules/gc-tests: Likewise.
108514         * modules/getaddrinfo-tests: Likewise.
108515         * modules/hmac-md5-tests: Likewise.
108516         * modules/hmac-sha1-tests: Likewise.
108517         * modules/linked-list-tests: Likewise.
108518         * modules/linkedhash-list-tests: Likewise.
108519         * modules/lock-tests: Likewise.
108520         * modules/md2-tests: Likewise.
108521         * modules/md4-tests: Likewise.
108522         * modules/md5-tests: Likewise.
108523         * modules/rbtree-list-tests: Likewise.
108524         * modules/rbtree-oset-tests: Likewise.
108525         * modules/rbtreehash-list-tests: Likewise.
108526         * modules/read-file-tests: Likewise.
108527         * modules/rijndael-tests: Likewise.
108528         * modules/stdint-tests: Likewise.
108529         * modules/tls-tests: Likewise.
108531 2007-02-24  Bruno Haible  <bruno@clisp.org>
108533         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
108534         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
108535         function; instead check whether isnan with a double argument links.
108536         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
108537         function; instead check whether isnan with a 'long double' argument
108538         links.
108539         Reported by Eric Blake <ebb9@byu.net>.
108541 2007-02-24  Bruno Haible  <bruno@clisp.org>
108543         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
108544         defined.
108545         * lib/isnanl.c: Remove all code. Just include isnan.c.
108546         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
108548 2007-02-25  Jim Meyering  <jim@meyering.net>
108550         Avoid conflicting types for 'unsetenv' on FreeBSD.
108551         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
108552         conflicting with FreeBSD's (5.0 and 6.1) function declaration
108553         in stdlib.h.
108555 2007-02-24  Bruno Haible  <bruno@clisp.org>
108557         * modules/isnanl-nolibm-tests: New file.
108558         * tests/test-isnanl.c: New file.
108560         * modules/isnanl-nolibm: New file.
108561         * lib/isnanl.h: New file.
108562         * lib/isnanl.c: New file.
108563         * m4/isnanl.m4: New file.
108565 2007-02-24  Bruno Haible  <bruno@clisp.org>
108567         * modules/isnan-nolibm-tests: New file.
108568         * tests/test-isnan.c: New file.
108570         * modules/isnan-nolibm: New file.
108571         * lib/isnan.h: New file.
108572         * lib/isnan.c: New file.
108573         * m4/isnan.m4: New file.
108575 2007-02-24  Bruno Haible  <bruno@clisp.org>
108577         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
108578         assume that an exponent fits in 20 bits.
108580 2007-02-24  Jim Meyering  <jim@meyering.net>
108582         * m4/regex.m4: Update the description of the configure-time option,
108583         --without-included-regex, to state accurately what the defaults are,
108584         and perhaps to give people an idea why using this option is risky.
108586 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
108588         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
108589         loops on small arguments.  This attempts to avoid the problem
108590         Bruno Haible reported for AIX 4.3.2 in
108591         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
108593 2007-02-23  Bruno Haible  <bruno@clisp.org>
108595         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
108596         Needed for help2man.
108598 2007-02-23  Karl Berry  <karl@gnu.org>
108600         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
108601         exists, foo.h should be cvs-ignored, not committed.
108603 2007-02-23  Eric Blake  <ebb9@byu.net>
108605         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
108606         * lib/stat-time.h (includes): Likewise.
108607         * lib/utimecmp.c (includes): Likewise.
108608         * lib/utimens.h (includes): Likewise.
108609         * lib/getdate.y (includes): Also include "timespec.h" for use
108610         internal to the module.
108611         * modules/utimens (Depends-on): Revert yesterday's patch.
108612         * modules/nanosleep (Depends-on): Add missing dependency.
108614 2007-02-22  Bruno Haible  <bruno@clisp.org>
108616         * lib/glob.c: Don't include getlogin_r.h.
108618 2007-02-22  Jim Meyering  <jim@meyering.net>
108620         * modules/utimens (Depends-on): Add timespec, required for
108621         utimens.h's inclusion of timespec.h.
108623 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
108625         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
108626         long unreadable paths in GNU/Linux.  Problem reported by Andreas
108627         Schwab in
108628         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
108629         I'll try to think of a better way to fix the Solaris problem.
108631         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
108632         like glibc; on Solaris 10, it fails with errno == EINVAL.
108633         POSIX says the behavior is unspecified if the first argument is NULL,
108634         so play it safe and never pass NULL to the system getcwd.
108636 2007-02-21  Jim Meyering  <jim@meyering.net>
108638         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
108639         of gettimeofday.  It would conflict with the one now always
108640         provided via sys_time_.h.  Reported by Matthew Woehlke, as
108641         an IRIX 6.5 build failure.
108643 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
108645         Minor fixups to port to Solaris 10 with Sun C 5.8.
108646         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
108647         * modules/getcwd (Depends-on): Add dirfd.
108648         * lib/putenv.c (putenv): #undef it.
108649         (rpl_putenv): New decl.
108650         (malloc, free): Include <stdlib.h> rather than prototyping separately.
108652 2007-02-20  Bruno Haible  <bruno@clisp.org>
108654         * modules/stdio-tests: New file.
108655         * tests/test-stdio.c: New file.
108657         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
108658         (Depends-on): Add stdio.
108659         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108660         (Include): Use <stdio.h> instead of vsnprintf.h.
108661         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108662         HAVE_DECL_VSNPRINTF.
108663         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
108665         * modules/snprintf (Files): Remove lib/snprintf.h.
108666         (Depends-on): Add stdio.
108667         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108668         (Include): Use <stdio.h> instead of snprintf.h.
108669         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108670         HAVE_DECL_SNPRINTF.
108671         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
108672         * lib/getaddrinfo.c: Likewise.
108674         * modules/stdio: New file.
108675         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
108676         * lib/snprintf.h: Remove file.
108677         * lib/vsnprintf.h: Remove file.
108678         * lib/.cppi-disable: Remove snprintf.h.
108679         * m4/stdio_h.m4: New file.
108680         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
108682 2007-02-20  Jim Meyering  <jim@meyering.net>
108684         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
108685         used by e.g., mingw.  From Bruno Haible.
108687 2007-02-19  Bruno Haible  <bruno@clisp.org>
108689         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
108690         warnings.
108691         Reported by Ben Pfaff <blp@cs.stanford.edu>.
108693 2007-02-19  Bruno Haible  <bruno@clisp.org>
108695         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
108696         from mingw users.
108698 2007-02-19  Bruno Haible  <bruno@clisp.org>
108700         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
108701         warnings.
108702         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
108704 2007-02-19  Jim Meyering  <jim@meyering.net>
108706         Don't use FD after a successful "fdopendir (fd)".
108707         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
108708         Reset it by calling dirfd on the just-obtained DIR*.
108710         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
108711         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
108713 2007-02-18  Bruno Haible  <bruno@clisp.org>
108715         * lib/readlink.c: Include <unistd.h>.
108716         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
108717         HAVE_READLINK.
108718         * modules/readlink (Depends-on): Add unistd.
108719         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108720         (Include): Add <unistd.h>.
108722         * lib/getlogin_r.h: Remove file.
108723         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
108724         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
108725         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
108726         HAVE_DECL_GETLOGIN_R.
108727         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
108728         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108729         (Include): Use <unistd.h> instead of getlogin_r.h.
108731         * lib/getcwd.h: Remove file.
108732         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
108733         * lib/xgetcwd.c: Likewise.
108734         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
108735         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
108736         * modules/getcwd (Files): Remove lib/getcwd.h.
108737         (Depends-on): Add unistd.
108738         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108739         (Include): Use <unistd.h> instad of getcwd.h.
108741         * lib/ftruncate.c: Include <unistd.h> first.
108742         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
108743         Set HAVE_FTRUNCATE.
108744         * modules/ftruncate (Depends-on): Add unistd.
108745         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108747         * lib/fchdir.c: Include <unistd.h> first.
108748         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
108749         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
108750         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
108751         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108752         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
108754         * lib/dup2.c: Include <unistd.h> first.
108755         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
108756         HAVE_DUP2.
108757         * modules/dup2 (Depends-on): Add unistd.
108758         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108760         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
108761         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
108762         REPLACE_CHOWN. Don't define chown as a macro here.
108763         * modules/chown (Depends-on): Add unistd.
108764         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108766         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
108767         Add definition for GL_LINK_WARNING.
108768         (chown, dup2): New declarations.
108769         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
108770         link warning.
108771         (ftruncate): New declaration.
108772         (getcwd): New declaration, taken from old getcwd.h.
108773         (getlogin_r): New declaration, taken from old getlogin_r.h.
108774         (readlink): New declaration.
108775         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
108776         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
108777         (gl_PREREQ_UNISTD): Remove macro.
108778         (gl_UNISTD_MODULE_INDICATOR): New macro.
108779         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
108780         many new variables. Don't set UNISTD_H.
108781         * modules/unistd (Description): Change.
108782         (Depends-on): Add link-warning.
108783         (configure.ac): Update.
108784         (Makefile.am): Create unistd.h always. Substitute many new variables
108785         into it.
108787 2007-02-18  Bruno Haible  <bruno@clisp.org>
108789         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
108790         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
108791         HAVE_GETSUBOPT.
108792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
108793         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
108794         * lib/getsubopt.h: Remove file.
108795         * modules/getsubopt (Files): Remove lib/getsubopt.h.
108796         (Depends-on): Add stdlib.
108797         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108798         (Includes): Use <stdlib.h> instead of getsubopt.h.
108799         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
108800         Set HAVE_GETSUBOPT.
108801         * lib/getsubopt.c: Don't include getsubopt.h.
108803 2007-02-18  Bruno Haible  <bruno@clisp.org>
108805         * modules/fchdir (Depends-on): Add dup2.
108807 2007-02-18  Bruno Haible  <bruno@clisp.org>
108809         * lib/stdlib_.h: Handle glibc's special invocation convention
108810         specially.
108812 2007-02-18  Bruno Haible  <bruno@clisp.org>
108814         * modules/stdlib-tests: New file.
108815         * tests/test-stdlib.c: New file.
108817         * modules/mkstemp (Files): Remove lib/mkstemp.h.
108818         (Depends-on): Add stdlib.
108819         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108820         (Includes): Use <stdlib.h> instead of mkstemp.h.
108821         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108822         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
108823         * lib/mkstemp.c: Don't include mkstemp.h.
108824         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
108825         * lib/stdlib--.h: Don't include mkstemp.h.
108827         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
108828         (Depends-on): Add stdlib.
108829         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108830         (Includes): Use <stdlib.h> instead of mkdtemp.h.
108831         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108832         HAVE_MKDTEMP.
108833         * lib/mkdtemp.c: Don't include mkdtemp.h.
108834         * lib/clean-temp.c: Don't include mkdtemp.h.
108836         * modules/exit (Files): Remove lib/exit.h.
108837         (Depends-on): Add stdlib.
108838         (Makefile.am): Remove lib_SOURCES.
108839         (Include): Use <stdlib.h> instead of exit.h.
108840         * lib/argmatch.c: Don't include exit.h.
108841         * lib/execute.c: Likewise.
108842         * lib/pagealign_alloc.c: Likewise.
108843         * lib/pipe.c: Likewise.
108844         * lib/wait-process.c: Likewise.
108845         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
108846         * lib/exitfail.c: Likewise.
108847         * lib/savewd.c: Likewise.
108848         * lib/xsetenv.c: Likewise.
108850         * modules/stdlib: New file.
108851         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
108852         and extra comments about mkstemp().
108853         * lib/exit.h: Remove file.
108854         * lib/mkdtemp.h: Remove file.
108855         * lib/mkstemp.h: Remove file.
108856         * m4/stdlib_h.m4: New file.
108857         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
108859 2007-02-18  Bruno Haible  <bruno@clisp.org>
108861         * modules/math-tests: New file.
108862         * tests/test-math.c: New file.
108864         * modules/math: New file.
108865         * modules/mathl (Files): Remove lib/mathl.h.
108866         (Depends-on): Add math.
108867         (Makefile.am): Don't mention mathl.h.
108868         (Include): Use <math.h> instead of mathl.h.
108869         * lib/math_.h: New file.
108870         * lib/mathl.h: Remove file.
108871         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
108872         mathl.h.
108873         * lib/asinl.c: Likewise.
108874         * lib/atanl.c: Likewise.
108875         * lib/ceill.c: Likewise.
108876         * lib/cosl.c: Likewise.
108877         * lib/expl.c: Likewise.
108878         * lib/floorl.c: Likewise.
108879         * lib/frexpl.c: Likewise.
108880         * lib/ldexpl.c: Likewise.
108881         * lib/logl.c: Likewise.
108882         * lib/sincosl.c: Likewise.
108883         * lib/sinl.c: Likewise.
108884         * lib/sqrtl.c: Likewise.
108885         * lib/tanl.c: Likewise.
108886         * lib/trigl.c: Likewise.
108887         * m4/math_h.m4: New file.
108888         * MODULES.html.sh (Mathematics): Add math.
108890 2007-02-17  Bruno Haible  <bruno@clisp.org>
108892         * modules/wctype-tests: New file.
108893         * tests/test-wctype.c: New file.
108895         * modules/wchar-tests: New file.
108896         * tests/test-wchar.c: New file.
108898         * modules/unistd-tests: New file.
108899         * tests/test-unistd.c: New file.
108901         * modules/time-tests: New file.
108902         * tests/test-time.c: New file.
108904         * modules/sysexits-tests: New file.
108905         * tests/test-sysexits.c: New file.
108907         * modules/sys_time-tests: New file.
108908         * tests/test-sys_time.c: New file.
108910         * modules/sys_stat-tests: New file.
108911         * tests/test-sys_stat.c: New file.
108913         * modules/sys_socket-tests: New file.
108914         * tests/test-sys_socket.c: New file.
108916         * modules/sys_select-tests: New file.
108917         * tests/test-sys_select.c: New file.
108919         * modules/string-tests: New file.
108920         * tests/test-string.c: New file.
108922         * modules/stdbool-tests: New file.
108923         * tests/test-stdbool.c: New file.
108925         * modules/netinet_in-tests: New file.
108926         * tests/test-netinet_in.c: New file.
108928         * modules/inttypes-tests: New file.
108929         * tests/test-inttypes.c: New file.
108931         * modules/fcntl-tests: New file.
108932         * tests/test-fcntl.c: New file.
108934         * modules/byteswap-tests: New file.
108935         * tests/test-byteswap.c: New file.
108937         * modules/arpa_inet-tests: New file.
108938         * tests/test-arpa_inet.c: New file.
108940 2007-02-17  Bruno Haible  <bruno@clisp.org>
108942         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
108943         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
108944         if the corresponding module is not enabled. Emit link warnings if
108945         the function is used nevertheless.
108946         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
108947         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
108948         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
108949         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
108950         * modules/inttypes (Depends-on): Add link-warning.
108951         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108952         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
108953         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
108954         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
108955         * modules/imaxdiv (configure.ac): Likewise.
108956         * modules/strtoimax (configure.ac): Likewise.
108957         * modules/strtoumax (configure.ac): Likewise.
108959 2007-02-17  Bruno Haible  <bruno@clisp.org>
108961         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
108962         gl_STRING_MODULE_INDICATOR_DEFAULTS.
108963         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
108964         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
108966 2007-02-17  Bruno Haible  <bruno@clisp.org>
108968         * modules/link-warning: New file.
108969         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
108970         * lib/string_.h (GL_LINK_WARNING): Remove definition.
108971         * modules/string (Depends-on): Add link-warning.
108972         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108973         string.h.
108974         * MODULES.html.sh (Support for building libraries and executables): Add
108975         link-warning.
108977 2007-02-17  Bruno Haible  <bruno@clisp.org>
108979         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
108980         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
108981         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
108982         long lines.
108984 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
108985             Bruno Haible  <bruno@clisp.org>
108987         * modules/tmpfile: New file.
108988         * lib/tmpfile.c: New file.
108989         * m4/tmpfile.m4: New file.
108990         * MODULES.html.sh (func_all_modules): New section "Input/output".
108992 2007-02-15  Bruno Haible  <bruno@clisp.org>
108994         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
108995         (supports_delete_on_close): New function.
108996         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
108998 2007-02-14  Bruno Haible  <bruno@clisp.org>
109000         * modules/mbspcasecmp-tests: New file.
109001         * tests/test-mbspcasecmp.sh: New file.
109002         * tests/test-mbspcasecmp.c: New file.
109004         New module mbspcasecmp.
109005         * modules/mbspcasecmp: New file.
109006         * lib/mbspcasecmp.c: New file.
109007         * lib/string_.h (strncasecmp): Change warning message.
109008         (mbspcasecmp): New declaration.
109009         * m4/mbspcasecmp.m4: New file.
109010         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109011         GNULIB_MBSPCASECMP.
109012         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
109013         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
109015 2007-02-14  Bruno Haible  <bruno@clisp.org>
109017         * modules/mbsncasecmp-tests: New file.
109018         * tests/test-mbsncasecmp.sh: New file.
109019         * tests/test-mbsncasecmp.c: New file.
109021         New module mbsncasecmp.
109022         * modules/mbsncasecmp: New file.
109023         * lib/mbsncasecmp.c: New file.
109024         * lib/string_.h (mbsncasecmp): New declaration.
109025         * m4/mbsncasecmp.m4: New file.
109026         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109027         GNULIB_MBSNCASECMP.
109028         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
109029         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
109031 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
109033         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
109034         Verify that it doesn't overlap with our flags.
109035         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
109036         do not have the desired effect in multibyte locales; instead, use
109037         mbscasecmp.
109038         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
109039         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
109040         we don't require GNU fnmatch ourselves (if our users require it, they
109041         should do so explicitly).
109043         Fix regex code so it doesn't rely on strcasecmp.
109044         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
109045         Otherwise, include gnulib's langinfo.h.
109046         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
109047         undesirable behavior in non-C locales.  Instead, rely on localecharset.
109048         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
109049         * modules/regex (FILES): Remove m4/codeset.m4.
109050         (Depends-on): Add localcharset.  Remove strcase.
109052 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109054         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
109055         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
109057 2007-02-13  Bruno Haible  <bruno@clisp.org>
109059         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
109060         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
109062 2007-02-12  Bruno Haible  <bruno@clisp.org>
109064         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109065         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
109066         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
109067         time warning rather than a link error.
109069 2007-02-12  Bruno Haible  <bruno@clisp.org>
109071         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
109072         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
109073         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
109075 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
109077         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
109078         args, not 2.
109080 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
109082         New module 'time', so that apps can include <time.h> as per
109083         POSIX and GNU instead of separate include files like time_r.h
109084         and timegm.h.  This implementation tries out a simpler approach
109085         for replacing decls in standard include files (as compared to
109086         the string module), somewhat as an experiment.
109088         * config/srclist.txt: Comment out mktime.c for now.
109089         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
109090         since it doesn't apply any more.  Use generic wording instead.
109091         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
109092         'time'.
109093         * lib/time_.h, m4/time_h.m4, modules/time: New files.
109094         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
109095         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
109096         Don't include <sys/types.h>; no longer needed since we assume C89.
109097         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
109098         * lib/strftime.c: Likewise.
109099         * lib/time_r.c: Likewise.
109100         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
109101         * lib/nanosleep.c: Include <time.h> first, to check interface.
109102         * lib/strptime.c: Likewise.
109103         * lib/time_r.c: Likewise.
109104         * lib/timegm.c: Likewise.
109105         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
109106         needed.
109107         * lib/timegm.c: Don't include timegm.h; no longer needed.
109108         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
109109         time.h now handles any problems in that area.
109110         (struct timespec, nanosleep): Remove; time.h now arranges for these.
109111         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
109112         that time.h defines struct timespec.
109113         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
109114         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
109115         handles that.
109116         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
109117         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
109118         needed.  Set REPLACE_LOCALTIME.
109119         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
109120         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
109121         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
109122         nanosleep; time_h.m4 now does that.  Don't require
109123         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
109124         module handles this now.
109125         * modules/getdate (Depends-on): Remove timespec.  Add time.
109126         * modules/nanosleep (Depends-on): Likewise.
109127         * modules/stat-time (Depends-on): Likewise.
109128         * modules/nanosleep (Include): Include time.h, not timespec.h.
109129         * modules/strptime (Files): Remove lib/strptime.h.
109130         (Depends-on): Add extensions, time.
109131         (Include): Include time.h, not strptime.h.
109132         * modules/time_r (Files): Remove lib/time_r.h.
109133         (Depends-on): Add time.
109134         (Include): Include time.h, not time_r.h.
109135         * modules/timegm: Likewise.
109136         * modules/timespec (Description): Now does timespec-related decls
109137         of our own, instead of struct timespec itself.
109138         (Depends-on): Add time; remove extensions.
109139         (Maintainer): Add self.
109140         * modules/utimecmp (Depends-on): Add time; remove timespec.
109141         * modules/utimens (Depends-on): Likewise.
109142         * modules/xnanosleep (Depends-on): Likewise.
109144 2007-02-11  Bruno Haible  <bruno@clisp.org>
109146         * lib/c-strstr.c: Include allocsa.h.
109147         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109148         * lib/c-strcasestr.c: Include allocsa.h.
109149         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109150         * lib/strcasestr.c: Include allocsa.h.
109151         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109152         * lib/mbsstr.c: Include allocsa.h.
109153         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
109154         allocsa/freesa instead of malloc/free.
109155         * lib/mbscasestr.c: Include allocsa.h.
109156         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
109157         allocsa/freesa instead of malloc/free.
109158         * modules/c-strstr (Depends-on): Add allocsa.
109159         * modules/c-strcasestr (Depends-on): Likewise.
109160         * modules/strcasestr (Depends-on): Likewise.
109161         * modules/mbsstr (Depends-on): Likewise.
109162         * modules/mbscasestr (Depends-on): Likewise.
109164 2007-02-11  Bruno Haible  <bruno@clisp.org>
109166         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
109168         * modules/mbsspn-tests: New file.
109169         * tests/test-mbsspn.sh: New file.
109170         * tests/test-mbsspn.c: New file.
109172 2007-02-11  Bruno Haible  <bruno@clisp.org>
109174         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
109176         * modules/mbspbrk-tests: New file.
109177         * tests/test-mbspbrk.sh: New file.
109178         * tests/test-mbspbrk.c: New file.
109180 2007-02-11  Bruno Haible  <bruno@clisp.org>
109182         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
109183         unneeded cast.
109185         * modules/mbscspn-tests: New file.
109186         * tests/test-mbscspn.sh: New file.
109187         * tests/test-mbscspn.c: New file.
109189 2007-02-11  Bruno Haible  <bruno@clisp.org>
109191         * modules/mbscasecmp-tests: New file.
109192         * tests/test-mbscasecmp.sh: New file.
109193         * tests/test-mbscasecmp.c: New file.
109195 2007-02-11  Bruno Haible  <bruno@clisp.org>
109197         Ensure O(n) worst-case complexity of mbscasestr.
109198         * lib/mbscasestr.c: Include stdbool.h.
109199         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
109200         functions.
109201         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
109202         the bookkeeping indicates that it's worth it.
109203         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
109205         * modules/mbscasestr-tests: New file.
109206         * tests/test-mbscasestr1.c: New file.
109207         * tests/test-mbscasestr2.sh: New file.
109208         * tests/test-mbscasestr2.c: New file.
109209         * tests/test-mbscasestr3.sh: New file.
109210         * tests/test-mbscasestr3.c: New file.
109211         * tests/test-mbscasestr4.sh: New file.
109212         * tests/test-mbscasestr4.c: New file.
109213         * m4/locale-tr.m4: New file.
109215 2007-02-11  Bruno Haible  <bruno@clisp.org>
109217         Ensure O(n) worst-case complexity of mbsstr.
109218         * lib/mbsstr.c: Include stdbool.h.
109219         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
109220         functions.
109221         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
109222         bookkeeping indicates that it's worth it.
109223         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
109225         * modules/mbsstr-tests: New file.
109226         * tests/test-mbsstr1.c: New file.
109227         * tests/test-mbsstr2.sh: New file.
109228         * tests/test-mbsstr2.c: New file.
109229         * tests/test-mbsstr3.sh: New file.
109230         * tests/test-mbsstr3.c: New file.
109231         * m4/locale-fr.m4: New file.
109233 2007-02-11  Bruno Haible  <bruno@clisp.org>
109235         * lib/mbsrchr.c (mbsrchr): Fix bug.
109237         * modules/mbsrchr-tests: New file.
109238         * tests/test-mbsrchr.sh: New file.
109239         * tests/test-mbsrchr.c: New file.
109241 2007-02-11  Bruno Haible  <bruno@clisp.org>
109243         * lib/mbschr.c (mbschr): Fix bug.
109245         * modules/mbschr-tests: New file.
109246         * tests/test-mbschr.sh: New file.
109247         * tests/test-mbschr.c: New file.
109248         * m4/locale-zh.m4: New file.
109250 2007-02-11  Bruno Haible  <bruno@clisp.org>
109252         Support for copying multibyte string iterators.
109253         * lib/mbiter.h: Include <string.h>.
109254         (mbiter_multi_copy): New function.
109255         (mbi_copy): New macro.
109256         * lib/mbuiter.h: Include <string.h>.
109257         (mbuiter_multi_copy): New function.
109258         (mbui_copy): New macro.
109260 2007-02-11  Bruno Haible  <bruno@clisp.org>
109262         New module mbslen.
109263         * modules/mbslen: New file.
109264         * lib/mbslen.c: New file.
109265         * lib/string_.h (mbslen): New declaration.
109266         * m4/mbslen.m4: New file.
109267         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109268         GNULIB_MBSLEN.
109269         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
109270         * MODULES.html.sh (Internationalization functions): Add mbslen.
109272 2007-02-11  Bruno Haible  <bruno@clisp.org>
109274         Ensure O(n) worst-case complexity of strcasestr substitute.
109275         * lib/strcasestr.c: Include stdbool.h.
109276         (knuth_morris_pratt): New function.
109277         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
109278         bookkeeping indicates that it's worth it.
109279         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
109281         * modules/strcasestr-tests: New file.
109282         * tests/test-strcasestr.c: New file.
109284 2007-02-11  Bruno Haible  <bruno@clisp.org>
109286         Ensure O(n) worst-case complexity of c_strcasestr.
109287         * lib/c-strcasestr.c: Include stdbool.h, string.h.
109288         (knuth_morris_pratt): New function.
109289         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
109290         the bookkeeping indicates that it's worth it.
109291         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
109293         * modules/c-strcasestr-tests: New file.
109294         * tests/test-c-strcasestr.c: New file.
109296 2007-02-11  Bruno Haible  <bruno@clisp.org>
109298         Ensure O(n) worst-case complexity of c_strstr.
109299         * lib/c-strstr.c: Include stdbool.h, string.h.
109300         (knuth_morris_pratt): New function.
109301         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
109302         bookkeeping indicates that it's worth it.
109303         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
109305         * lib/c-strstr.c: Complete rewrite for maintainability.
109307         * modules/c-strstr-tests: New file.
109308         * tests/test-c-strstr.c: New file.
109310 2007-02-11  Bruno Haible  <bruno@clisp.org>
109312         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
109313         5.2.1 and earlier, whereby \055 was treated just like the range
109314         delimiter '-'.
109315         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
109317 2007-02-08  Bruno Haible  <bruno@clisp.org>
109319         * modules/regex (Depends-on): Add stdbool.
109320         Reported by Dalibor Topic <robilad@kaffe.org>.
109322 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
109324         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
109325         Prefer returning from main to exiting from it.
109326         Remove unnecessary parens after sizeof.
109328 2007-02-05  Bruno Haible  <bruno@clisp.org>
109330         New module mbssep.
109331         * modules/mbssep: New file.
109332         * lib/mbssep.c: New file.
109333         * lib/string_.h (strsep): Add a conditional link warning.
109334         (mbssep): New declaration.
109335         * m4/mbssep.m4: New file.
109336         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109337         GNULIB_MBSSEP.
109338         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
109339         * MODULES.html.sh (Internationalization functions): Add mbssep.
109341 2007-02-05  Bruno Haible  <bruno@clisp.org>
109343         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
109344         Optimize search in case of 1 delimiter.
109346 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
109348         * lib/acl.h: Include sys/types.h before sys/acl.h.
109350 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
109352         Merge upstream fix for glibc bugzilla #3957:
109354         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
109356         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
109357         bit for RE_HAT_LISTS_NOT_NEWLINE.
109358         (build_charclass_op): Remove bogus comment.
109360 2007-02-05  Simon Josefsson  <simon@josefsson.org>
109362         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
109364 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109366         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
109367         * lib/memmem.c [!defined _LIBC]: Include config.h.
109369 2007-02-04  Bruno Haible  <bruno@clisp.org>
109371         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
109372         warning message.
109374 2007-02-04  Bruno Haible  <bruno@clisp.org>
109376         New module mbstok_r.
109377         * modules/mbstok_r: New file.
109378         * lib/mbstok_r.c: New file.
109379         * lib/string_.h (strtok_r): Change argument names to match the
109380         comments. Add a conditional link warning.
109381         (mbstok_r): New declaration.
109382         * m4/mbstok_r.m4: New file.
109383         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109384         GNULIB_MBSTOK_R.
109385         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
109386         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
109388 2007-02-04  Bruno Haible  <bruno@clisp.org>
109390         New module mbsspn.
109391         * modules/mbsspn: New file.
109392         * lib/mbsspn.c: New file.
109393         * lib/string_.h (strspn): Add a conditional link warning.
109394         (mbsspn): New declaration.
109395         * m4/mbsspn.m4: New file.
109396         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109397         GNULIB_MBSSPN.
109398         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
109399         * MODULES.html.sh (Internationalization functions): Add mbsspn.
109401 2007-02-04  Bruno Haible  <bruno@clisp.org>
109403         New module mbspbrk.
109404         * modules/mbspbrk: New file.
109405         * lib/mbspbrk.c: New file.
109406         * lib/string_.h (strpbrk): Add a conditional link warning.
109407         (mbspbrk): New declaration.
109408         * m4/mbspbrk.m4: New file.
109409         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109410         GNULIB_MBSPBRK.
109411         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
109412         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
109414 2007-02-04  Bruno Haible  <bruno@clisp.org>
109416         New module mbscspn.
109417         * modules/mbscspn: New file.
109418         * lib/mbscspn.c: New file.
109419         * lib/string_.h (strcspn): Add a conditional link warning.
109420         (mbscspn): New declaration.
109421         * m4/mbscspn.m4: New file.
109422         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109423         GNULIB_MBSCSPN.
109424         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
109425         * MODULES.html.sh (Internationalization functions): Add mbscspn.
109427 2007-02-04  Bruno Haible  <bruno@clisp.org>
109429         New module mbscasestr, reduced goal of strcasestr.
109430         * modules/mbscasestr: New file.
109431         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
109432         (mbscasestr): Renamed from strcasestr.
109433         * lib/strcasestr.c: Don't include mbuiter.h.
109434         (strcasestr): Remove support for multibyte locales.
109435         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
109436         Change the conditional link warning.
109437         (mbscasestr): New declaration.
109438         * m4/mbscasestr.m4: New file.
109439         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
109440         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
109441         REPLACE_STRCASESTR.
109442         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
109443         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109444         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109445         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
109446         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
109447         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109448         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
109449         (Depends-on): Remove mbuiter.
109450         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
109452 2007-02-04  Bruno Haible  <bruno@clisp.org>
109454         Simplify handling of strncasecmp.
109455         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
109456         the conditional link warning.
109457         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109458         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
109459         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
109460         * modules/strcase (configure.ac): Don't invoke
109461         gl_STRING_MODULE_INDICATOR.
109462         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
109464 2007-02-04  Bruno Haible  <bruno@clisp.org>
109466         New module mbscasecmp, reduced goal of strcasecmp.
109467         * modules/mbscasecmp: New file.
109468         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
109469         (mbscasecmp): Renamed from strcasecmp.
109470         * lib/strcasecmp.c: Don't include mbuiter.h.
109471         (strcasecmp): Remove support for multibyte locales.
109472         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
109473         Change the conditional link warning.
109474         (mbscasecmp): New declaration.
109475         * m4/mbscasecmp.m4: New file.
109476         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
109477         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
109478         REPLACE_STRCASECMP.
109479         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
109480         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109481         GNULIB_MBSCASECMP.
109482         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
109483         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
109484         * modules/strcase (Files): Remove m4/mbrtowc.m4.
109485         (Depends-on): Remove mbuiter.
109486         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
109488 2007-02-04  Bruno Haible  <bruno@clisp.org>
109490         New module mbsstr. Remove module strstr.
109491         * modules/mbsstr: New file.
109492         * modules/strstr: Remove file.
109493         * lib/mbsstr.c: Renamed from lib/strstr.c.
109494         (mbsstr): Renamed from strstr.
109495         * lib/string_.h (strstr): Remove declaration. Change the conditional
109496         link warning.
109497         (mbsstr): New declaration.
109498         * m4/mbsstr.m4: New file.
109499         * m4/strstr.m4: Remove file.
109500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
109501         REPLACE_STRSTR.
109502         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
109503         Don't initialize GNULIB_STRSTR.
109504         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
109505         substitute GNULIB_STRSTR and REPLACE_STRSTR.
109506         * MODULES.html.sh (Internationalization functions): Add mbsstr.
109507         (Support for systems lacking ANSI C 89): Remove strstr.
109509 2007-02-04  Bruno Haible  <bruno@clisp.org>
109511         New module mbsrchr.
109512         * modules/mbsrchr: New file.
109513         * lib/mbsrchr.c: New file.
109514         * lib/string_.h (strrchr): Add a conditional link warning.
109515         (mbsrchr): New declaration.
109516         * m4/mbsrchr.m4: New file.
109517         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109518         GNULIB_MBSRCHR.
109519         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
109520         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
109522 2007-02-04  Bruno Haible  <bruno@clisp.org>
109524         New module mbschr.
109525         * modules/mbschr: New file.
109526         * lib/mbschr.c: New file.
109527         * lib/string_.h (strchr): Add a conditional link warning.
109528         (mbschr): New declaration.
109529         * m4/mbschr.m4: New file.
109530         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109531         GNULIB_MBSCHR.
109532         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
109533         * MODULES.html.sh (Internationalization functions): Add mbschr.
109535 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109537         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
109539         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
109541 2007-02-04  Bruno Haible  <bruno@clisp.org>
109543         New module description section 'configure.ac-early'.
109544         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
109545         (func_get_autoconf_early_snippet): New function.
109546         (func_import, func_create_testdir): Use it. Remove special cases for
109547         modules 'extensions' and 'lock'.
109548         * modules/extensions (configure.ac-early): Require
109549         gl_USE_SYSTEM_EXTENSIONS.
109550         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
109552 2007-02-04  Bruno Haible  <bruno@clisp.org>
109554         Make use of gcj-4.3's -fsource and -ftarget option.
109555         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
109556         and if so try the options -fsource and -ftarget.
109557         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
109558         source_version, ftarget_option, target_version arguments.
109559         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
109560         (is_envjavac_oldgcj_14_14_usable): Renamed from
109561         is_envjavac_gcj_14_14_usable.
109562         (is_envjavac_oldgcj_14_13_usable): Renamed from
109563         is_envjavac_gcj_14_13_usable.
109564         (is_gcj_present): Update.
109565         (is_gcj_43, is_gcj43_usable): New functions.
109566         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
109567         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
109568         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
109569         try the options -fsource and -ftarget.
109571 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
109573         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
109574         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
109575         larger value.
109577 2007-02-03  Jim Meyering  <jim@meyering.net>
109579         Give tools a better chance to allocate space for very large buffers.
109580         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
109582         Make pwd and readlink work also when run with an unreadable parent dir
109583         on systems with openat support.
109584         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
109585         provided getcwd function, even when we have openat support.
109586         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
109588 2007-02-02  Bruno Haible  <bruno@clisp.org>
109590         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109591         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
109592         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
109593         portability problems if one of these functions is only used on specific
109594         platforms.
109595         Reported by Paul Eggert.
109597 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
109599         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
109600         is causing more trouble than it's curing.
109601         * lib/regex_internal.h (__mempcpy): Remove.
109602         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
109603         (and make the code a tad smaller to boot).
109604         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
109606 2007-02-02  Jim Meyering  <jim@meyering.net>
109608         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
109609         section, not in the Makefile.am: one.
109611 2007-02-02  Eric Blake  <ebb9@byu.net>
109613         * lib/strchrnul.c: Always include config.h first.
109615         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
109616         gnulib strstr is not necessary here.
109618 2007-02-02  Simon Josefsson  <simon@josefsson.org>
109620         * m4/socklen.m4: Fix typo.
109622 2007-02-02  Eric Blake  <ebb9@byu.net>
109624         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
109625         * modules/netinet_in (Makefile.am): Likewise.
109627 2007-02-01  Bruno Haible  <bruno@clisp.org>
109629         * lib/string_.h (GL_LINK_WARNING): New macro.
109630         (strcasecmp, strstr, strcasestr): If provided by the system,
109631         conditionally define as a macro that leads to a warning instead of to
109632         an error.
109633         (strncasecmp): Conditionally define as a macro that leads to a warning.
109635 2007-02-01  Karl Berry  <karl@gnu.org>
109637         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
109639 2007-02-01  Bruno Haible  <bruno@clisp.org>
109641         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
109642         renamings.
109644 2007-02-01  Eric Blake  <ebb9@byu.net>
109646         * modules/regex (Depends-on): Revert dependence on mempcpy.
109647         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
109648         module's definition of mempcpy.
109649         Reported by Paul Eggert.
109651 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
109653         * lib/string_.h: If the gnulib module XYZ is not present, undefine
109654         the symbol XYZ before redefining it.  This fixes a problem with
109655         programs that don't use XYZ, when compiled on systems that define
109656         XYZ to something else.
109658 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
109660         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
109661         occurs when "mkdir -m foo" creates a setgid directory that is (1)
109662         writeable to group or other and (2) is intended to have a special
109663         mode bit that is set or cleared.  In such a case, the directory
109664         should be neither group- nor other-writeable until the special
109665         mode bits are right.
109667 2007-01-31  Eric Blake  <ebb9@byu.net>
109669         * modules/mountlist (Depends-on): Add strstr.
109671         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
109672         bug.
109673         * modules/string (Makefile.am): Remove redundant replacement.
109674         * modules/regex (Depends-on): Add mempcpy.
109676 2007-01-31  Bruno Haible  <bruno@clisp.org>
109678         New module description field 'Link'.
109679         * gnulib-tool (func_usage): Document --extract-link-directive.
109680         (sed_extract_prog): Recognize 'Link' directive.
109681         (func_get_link_directive): New function.
109682         (func_import): Show summary of link directives.
109683         Handle --extract-link-directive option.
109684         * modules/acl (Link): New section.
109685         * modules/clock-time (Link): New section.
109686         * modules/euidaccess (Link): New section.
109687         * modules/gettext (Link): New section.
109688         * modules/iconv (Link): New section.
109689         * modules/lock (Link): New section.
109690         * modules/nanosleep (Link): New section.
109691         * modules/readline (Link): New section.
109693 2007-01-27  Bruno Haible  <bruno@clisp.org>
109695         Enforce the use of gnulib modules for unportable <string.h> functions.
109696         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
109697         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
109698         (gl_HEADER_STRING_H_BODY): Require it.
109699         * lib/string_.h: If the gnulib module XYZ is not present, redefine
109700         the symbol XYZ to one that gives a link error.
109701         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
109702         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
109703         * modules/mempcpy (configure.ac): Likewise.
109704         * modules/memrchr (configure.ac): Likewise.
109705         * modules/stpcpy (configure.ac): Likewise.
109706         * modules/stpncpy (configure.ac): Likewise.
109707         * modules/strcase (configure.ac): Likewise.
109708         * modules/strcasestr (configure.ac): Likewise.
109709         * modules/strchrnul (configure.ac): Likewise.
109710         * modules/strdup (configure.ac): Likewise.
109711         * modules/strndup (configure.ac): Likewise.
109712         * modules/strnlen (configure.ac): Likewise.
109713         * modules/strpbrk (configure.ac): Likewise.
109714         * modules/strsep (configure.ac): Likewise.
109715         * modules/strstr (configure.ac): Likewise.
109716         * modules/strtok_r (configure.ac): Likewise.
109718 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
109720         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
109722 2007-01-30  Jim Meyering  <jim@meyering.net>
109724         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
109726 2007-01-29  Bruno Haible  <bruno@clisp.org>
109728         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
109729         * lib/execute.c: Likewise.
109730         * lib/pipe.c: Likewise.
109731         * lib/printf-args.h: Likewise.
109732         * lib/printf-args.c: Likewise.
109733         * lib/printf-parse.c: Likewise.
109734         * lib/vasnprintf.c: Likewise.
109736 2007-01-29  Eric Blake  <ebb9@byu.net>
109738         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
109739         declaration.
109741 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
109743         * lib/strptime.h (strptime): Use 'restrict' for args where
109744         POSIX requires this.
109745         * lib/strptime.c (strptime): Likewise.
109746         Change license notice from LGPL to GPL, since gnulib-tool will
109747         change this as needed.
109748         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
109749         defined.
109750         Include "strptime.h" first, to check interface.
109751         Do not #undef _LIBC and _NL_CURRENT.
109752         Do not include <stdlib.h>; no longer needed.
109753         Include "time_r.h" and declare ptime_locale_status
109754         only if _LIBC is not defined.
109755         (__P): Remove unused macro.
109756         (match_string): Bring back glibc version, but use it only if _LIBC
109757         is defined.
109758         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
109759         Remove unnecessary assertion and abort() call.
109760         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
109761         * m4/strptime.m4: Fix serial number comment.
109762         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
109763         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
109764         (Depends-on): Add time_r.
109766 2007-01-29  Bruno Haible  <bruno@clisp.org>
109768         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
109769         strptime.
109770         * modules/strptime (Depends-on): Add stdbool.
109771         * lib/strptime.h: Include <time.h> always. Add comments.
109773 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
109775         * modules/strptime: New file.
109776         * lib/strptime.h: New file.
109777         * lib/strptime.c: New file.
109778         * m4/strptime.m4: New file.
109780 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
109782         * MODULES.html.sh: New module mpsort.
109783         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
109785         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
109786         a circularity problem with HP-UX ia64 reported by Bob Proulx in
109787         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
109788         All uses changed.
109789         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
109790         All uses changed.
109791         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
109792         to _Restrict_.
109793         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
109794         the parameter matches the prototype.
109796 2007-01-28  Jim Meyering  <jim@meyering.net>
109798         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
109799         sys/time.h here, reverting that part of the previous patch:
109800         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
109802 2007-01-28  Bruno Haible  <bruno@clisp.org>
109804         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
109805         value of $(SYS_TIME_H).
109806         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
109807         remove it conditionally, too. [added by Jim Meyering]
109808         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
109809         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109810         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
109811         GETTIMEOFDAY_REPLACEMENT to 1.
109813 2007-01-28  Bruno Haible  <bruno@clisp.org>
109815         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
109816         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
109817         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
109818         Set UNISTD_H instead of UNISTD_H2.
109819         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
109821 2007-01-28  Bruno Haible  <bruno@clisp.org>
109823         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
109824         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
109826 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109828         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
109829         (func_create_testdir): Ensure C locale for `grep' and `tr'
109830         character ranges.
109831         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
109832         ACLOCAL_AMFLAGS parsing state machine.
109834 2007-01-27  Bruno Haible  <bruno@clisp.org>
109836         * modules/unistr/base: Update.
109838 2007-01-27  Bruno Haible  <bruno@clisp.org>
109840         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
109841         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
109842         * modules/unistr/u32-mbtouc-unsafe: Renamed from
109843         modules/unistr/u32-mbtouc.
109844         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
109845         * lib/unistr.h: Update.
109846         * lib/linebreak.c: Update.
109847         * modules/unistr/u32-mbtouc: Renamed from
109848         modules/unistr/u32-mbtouc-safe.
109849         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
109850         * lib/unistr.h: Update.
109851         * lib/unistr/u32-to-u8.c: Update.
109852         * lib/unistr/u32-to-u16.c: Update.
109854 2007-01-27  Bruno Haible  <bruno@clisp.org>
109856         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
109857         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
109858         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
109859         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
109860         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
109861         * modules/unistr/u16-mbtouc-unsafe: Renamed from
109862         modules/unistr/u16-mbtouc.
109863         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
109864         * lib/unistr.h: Update.
109865         * lib/linebreak.c: Update.
109866         * modules/linebreak: Update.
109867         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
109868         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
109869         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
109870         * modules/unistr/u16-mbtouc: Renamed from
109871         modules/unistr/u16-mbtouc-safe.
109872         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
109873         * lib/unistr.h: Update.
109874         * lib/unistr/u16-to-u8.c: Update.
109875         * modules/unistr/u16-to-u8: Update.
109876         * lib/unistr/u16-to-u32.c: Update.
109877         * modules/unistr/u16-to-u32: Update.
109879 2007-01-27  Bruno Haible  <bruno@clisp.org>
109881         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
109882         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
109883         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
109884         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
109885         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
109886         * modules/unistr/u8-mbtouc-unsafe: Renamed from
109887         modules/unistr/u8-mbtouc.
109888         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
109889         * lib/unistr.h: Update.
109890         * lib/striconveh.c: Update.
109891         * modules/striconveh: Update.
109892         * lib/linebreak.c: Update.
109893         * modules/linebreak: Update.
109894         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
109895         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
109896         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
109897         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
109898         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
109899         * lib/unistr.h: Update.
109900         * lib/striconveh.c: Update.
109901         * modules/striconveh: Update.
109902         * lib/unistr/u8-to-u16.c: Update.
109903         * modules/unistr/u8-to-u16: Update.
109904         * lib/unistr/u8-to-u32.c: Update.
109905         * modules/unistr/u8-to-u32: Update.
109907 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109909         Sync from Libtool.
109910         * lib/argz.c: Do not include strings.h nor memory.h, include
109911         string.h unconditionally.  Patch by Simon Josefsson.
109913 2007-01-27  Bruno Haible  <bruno@clisp.org>
109915         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
109916         from gl_HEADER_STRING_H_BODY.
109917         (gl_HEADER_STRING_H_BODY): Require it.
109918         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
109919         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
109920         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
109921         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
109922         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
109923         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
109924         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
109925         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
109926         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
109927         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
109928         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
109929         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
109930         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
109931         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
109932         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
109934 2007-01-27  Bruno Haible  <bruno@clisp.org>
109936         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
109937         check_PROGRAMS into noinst_PROGRAMS.
109938         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
109939         check_PROGRAMS in this case.
109940         (func_import): Set for_test to false.
109941         (func_create_testdir): Set for_test to true.
109943 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109944             Bruno Haible  <bruno@clisp.org>
109946         * modules/strcasestr (Files): Remove lib/strcasestr.h.
109947         (Depends-on): Add string.
109948         (Includes): Use <string.h> instead of strcasestr.h.
109949         * modules/string (Makefile.am): Also substitute the value of
109950         REPLACE_STRCASESTR.
109951         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
109952         assume strcasestr is declared in <string.h> not <strings.h>. Also
109953         set REPLACE_STRCASESTR.
109954         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
109955         REPLACE_STRCASESTR.
109956         * lib/strcasestr.h: Remove file.
109957         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
109958         * lib/string_.h (strcasestr): New declaration.
109960 2007-01-27  Bruno Haible  <bruno@clisp.org>
109962         * lib/string_.h: Use 'extern'.
109964 2007-01-27  Jim Meyering  <jim@meyering.net>
109966         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
109967         of set-but-not-used local, "q".
109969         * lib/mempcpy.c: Include <config.h> before <string.h>.
109970         This fixes a compilation error on HP-UX, due to the system's
109971         "restrict"-using mempcpy prototype.
109973 2007-01-26  Bruno Haible  <bruno@clisp.org>
109975         Small optimization.
109976         * lib/javacomp.c: Include c-strstr.h.
109977          (is_envjavac_gcj): Use c_strstr instead of strstr.
109978         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
109980 2007-01-26  Bruno Haible  <bruno@clisp.org>
109982         * MODULES.html.sh (Unicode string functions): Add the new modules.
109984         * modules/uniconv/u32-strconv-to-locale: New file.
109985         * lib/uniconv/u32-strconv-to-locale.c: New file.
109987         * modules/uniconv/u16-strconv-to-locale: New file.
109988         * lib/uniconv/u16-strconv-to-locale.c: New file.
109990         * modules/uniconv/u8-strconv-to-locale: New file.
109991         * lib/uniconv/u8-strconv-to-locale.c: New file.
109993         * modules/uniconv/u32-strconv-from-locale: New file.
109994         * lib/uniconv/u32-strconv-from-locale.c: New file.
109996         * modules/uniconv/u16-strconv-from-locale: New file.
109997         * lib/uniconv/u16-strconv-from-locale.c: New file.
109999         * modules/uniconv/u8-strconv-from-locale: New file.
110000         * lib/uniconv/u8-strconv-from-locale.c: New file.
110002         * modules/uniconv/u32-strconv-to-enc: New file.
110003         * lib/uniconv/u32-strconv-to-enc.c: New file.
110004         * modules/uniconv/u32-strconv-to-enc-tests: New file.
110005         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
110007         * modules/uniconv/u16-strconv-to-enc: New file.
110008         * lib/uniconv/u16-strconv-to-enc.c: New file.
110009         * lib/uniconv/u-strconv-to-enc.h: New file.
110010         * modules/uniconv/u16-strconv-to-enc-tests: New file.
110011         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
110013         * modules/uniconv/u8-strconv-to-enc: New file.
110014         * lib/uniconv/u8-strconv-to-enc.c: New file.
110015         * modules/uniconv/u8-strconv-to-enc-tests: New file.
110016         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
110018         * modules/uniconv/u32-strconv-from-enc: New file.
110019         * lib/uniconv/u32-strconv-from-enc.c: New file.
110020         * modules/uniconv/u32-strconv-from-enc-tests: New file.
110021         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
110023         * modules/uniconv/u16-strconv-from-enc: New file.
110024         * lib/uniconv/u16-strconv-from-enc.c: New file.
110025         * modules/uniconv/u16-strconv-from-enc-tests: New file.
110026         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
110028         * modules/uniconv/u8-strconv-from-enc: New file.
110029         * lib/uniconv/u8-strconv-from-enc.c: New file.
110030         * lib/uniconv/u-strconv-from-enc.h: New file.
110031         * modules/uniconv/u8-strconv-from-enc-tests: New file.
110032         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
110034         * modules/uniconv/u32-conv-from-enc: New file.
110035         * lib/uniconv/u32-conv-from-enc.c: New file.
110036         * modules/uniconv/u32-conv-from-enc-tests: New file.
110037         * tests/uniconv/test-u32-conv-from-enc.c: New file.
110039         * modules/uniconv/u16-conv-from-enc: New file.
110040         * lib/uniconv/u16-conv-from-enc.c: New file.
110041         * lib/uniconv/u-conv-from-enc.h: New file.
110042         * modules/uniconv/u16-conv-from-enc-tests: New file.
110043         * tests/uniconv/test-u16-conv-from-enc.c: New file.
110045         * modules/uniconv/u8-conv-from-enc: New file.
110046         * lib/uniconv/u8-conv-from-enc.c: New file.
110047         * modules/uniconv/u8-conv-from-enc-tests: New file.
110048         * tests/uniconv/test-u8-conv-from-enc.c: New file.
110050         * modules/uniconv/base: New file.
110051         * lib/uniconv.h: New file.
110053 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
110055         * doc/gnulib-tool.texi (Initial import): Update to match current
110056         behavior with strdup module.
110057         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
110058         * lib/memmem.h: Remove; all uses removed.  This is now done
110059         by <string.h>.
110060         * lib/mempcpy.h: Likewise.
110061         * lib/memrchr.h: Likewise.
110062         * lib/stpcpy.h: Likewise.
110063         * lib/stpncpy.h: Likewise.
110064         * lib/strcase.h: Likewise.
110065         * lib/strchrnul.h: Likewise.
110066         * lib/strdup.h: Likewise.
110067         * lib/strndup.h: Likewise.
110068         * lib/strnlen.h: Likewise.
110069         * lib/strpbrk.h: Likewise.
110070         * lib/strsep.h: Likewise.
110071         * lib/strstr.h: Likewise.
110072         * lib/strtok_r.h: Likewise.
110073         * lib/string_.h: New file.
110074         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
110075         Rely on <string.h> instead.
110076         * lib/canon-host.c: Likewise.
110077         * lib/chdir-long.c: Likewise.
110078         * lib/concatpath.c: Likewise.
110079         * lib/exclude.c: Likewise.
110080         * lib/fchdir.c: Likewise.
110081         * lib/getaddrinfo.c: Likewise.
110082         * lib/getcwd.c: Likewise.
110083         * lib/getsubopt.c: Likewise.
110084         * lib/glob.c: Likewise.
110085         * lib/hard-locale.c: Likewise.
110086         * lib/iconvme.c: Likewise.
110087         * lib/javacomp.c: Likewise.
110088         * lib/mempcpy.c: Likewise.
110089         * lib/memrchr.c: Likewise.
110090         * lib/regex_internal.h: Likewise.
110091         * lib/stpncpy.c: Likewise.
110092         * lib/strcasecmp.c: Likewise.
110093         * lib/strchrnul.c: Likewise.
110094         * lib/strdup.c: Likewise.
110095         * lib/striconv.c: Likewise.
110096         * lib/striconveh.c: Likewise.
110097         * lib/striconveha.c: Likewise.
110098         * lib/strncasecmp.c: Likewise.
110099         * lib/strndup.c: Likewise.
110100         * lib/strnlen.c: Likewise.
110101         * lib/strsep.c: Likewise.
110102         * lib/strstr.c: Likewise.
110103         * lib/strtok_r.c: Likewise.
110104         * lib/userspec.c: Likewise.
110105         * lib/w32spawn.h: Likewise.
110106         * lib/xstrndup.c: Likewise.
110107         * lib/mountlist.c (strstr): Remove decl.
110108         * m4/string_h.m4: New file.
110109         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
110110         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
110111         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
110112         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
110113         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
110114         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
110115         Set REPLACE_STRCASECMP if necessary.
110116         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
110117         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
110118         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
110119         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
110120         HAVE_DECL_STRDUP if necessary.
110121         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
110122         since gl_FUNC_STRNDUP does that now.
110123         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
110124         Check for decl here...
110125         (gl_PREREQ_STRNLEN): ... not here.
110126         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
110127         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
110128         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
110129         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
110130         necessary.
110131         * modules/string: New file.
110132         * modules/memmem (Files): Remove special-purpose include file.
110133         (Depends-on): Add string.
110134         (Include): Include <string.h>, not the removed file.
110135         * modules/mempcpy: Likewise.
110136         * modules/memrchr: Likewise.
110137         * modules/stpcpy: Likewise.
110138         * modules/stpncpy: Likewise.
110139         * modules/strcase: Likewise.
110140         * modules/strchrnul: Likewise.
110141         * modules/strdup: Likewise.
110142         * modules/strndup: Likewise.
110143         * modules/strnlen: Likewise.
110144         * modules/strpbrk: Likewise.
110145         * modules/strsep: Likewise.
110146         * modules/strstr: Likewise.
110147         * modules/strtok_r: Likewise.
110148         * tests/test-dirname.c: Don't include "strdup.h", since
110149         <string.h> now suffices.
110150         * tests/test-memmem.c: Don't include "memmem.h", since
110151         <string.h> now suffices.
110153 2007-01-25  Bruno Haible  <bruno@clisp.org>
110155         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
110156         *resultp is 0.
110158         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
110159         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
110160         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
110161         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
110163         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
110164         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
110165         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
110166         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
110167         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
110168         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
110170 2007-01-24  Bruno Haible  <bruno@clisp.org>
110172         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
110173         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
110174         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
110175         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
110176         gl_FUNC_FTS_CORE.
110177         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
110178         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
110179         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
110180         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
110181         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
110182         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
110183         gl_FUNC_FCHOWNAT.
110184         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
110185         gl_FUNC_STRFTIME.
110186         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
110187         Reported by Ralf Wildenhues.
110189 2007-01-24  Bruno Haible  <bruno@clisp.org>
110191         Drop AC_REQUIRE calls that are redundant with the module dependencies.
110192         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
110193         gl_GETADDRINFO.
110194         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
110195         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
110196         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
110198 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
110200         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
110201         Don't use 'exit'; just return from 'main'.
110202         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
110204         * lib/fnmatch_.h: Readjust white space and comments to match
110205         glibc, to avoid spurious diffs.
110207 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
110209         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
110210         2004-12-01 change by Jakub Jelinek, since this code won't compile
110211         if !LIBC.  Problem reported by Bob Proulx.
110213 2007-01-23  Bruno Haible  <bruno@clisp.org>
110215         * lib/striconveh.c: Include c-strcaseeq.h.
110216         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
110217         * modules/striconveh (Depends-on): Add c-strcaseeq.
110219 2007-01-23  Bruno Haible  <bruno@clisp.org>
110221         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
110223         * modules/c-strcaseeq: New file.
110224         * lib/c-strcaseeq.h: New file.
110226         * modules/streq: New file.
110227         * lib/streq.h: New file.
110229 2007-01-23  Bruno Haible  <bruno@clisp.org>
110231         * modules/striconveha-tests: New file.
110232         * tests/test-striconveha.c: New file.
110234         * lib/striconveha.h: Include <stdbool.h>.
110235         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
110236         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
110237         (mem_iconveha_notranslit): Renamed from mem_iconveha.
110238         (mem_iconveha): New function.
110239         (str_iconveha_notranslit): Renamed from str_iconveha.
110240         (str_iconveha): New function.
110241         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
110242         c-strcase.
110244 2007-01-23  Bruno Haible  <bruno@clisp.org>
110246         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
110247         encodings without forgiving before trying any encoding with handler.
110248         (str_iconveha): Try all encodings without forgiving before trying any
110249         encoding with handler.
110251 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
110253         Import the following changes from libc.
110255         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
110257         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
110259         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
110261         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
110262         normal_bracket label.
110264         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
110266         [BZ #361]
110267         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
110268         to normal_bracket after fetching the next character.
110270 2007-01-22  Bruno Haible  <bruno@clisp.org>
110272         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
110273         argument.
110274         * lib/striconveh.c (iconv_carefully_1): New function.
110275         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
110276         argument.
110277         (str_cd_iconveh): Update.
110278         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
110279         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
110280         * tests/test-striconveh.c (MAGIC): New macro.
110281         (new_offsets): New function.
110282         (main): Test call with and without offsets.
110284 2007-01-22  Bruno Haible  <bruno@clisp.org>
110286         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
110287         * modules/sys_select (Makefile.am): Likewise.
110288         * modules/sys_socket (Makefile.am): Likewise.
110289         * modules/sys_time (Makefile.am): Likewise.
110291 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
110293         * modules/gettimeofday (License): Change from GPL to LGPL, since
110294         gettimeofday is a library function.
110296 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110298         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
110300 2007-01-21  Bruno Haible  <bruno@clisp.org>
110302         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
110304 2007-01-21  Bruno Haible  <bruno@clisp.org>
110306         * modules/striconveha: New file.
110307         * lib/striconveha.h: New file.
110308         * lib/striconveha.c: New file.
110309         * MODULES.html.sh (Internationalization functions): Add striconveha.
110310         * lib/striconv.c (str_iconv): Optimize the case of an empty input
110311         string.
110312         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
110314 2007-01-21  Bruno Haible  <bruno@clisp.org>
110316         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
110317         * lib/striconveh.c (str_iconveh): Likewise.
110319 2007-01-21  Bruno Haible  <bruno@clisp.org>
110321         * lib/striconveh.h (mem_iconveh): New declaration.
110322         * lib/striconveh.c (mem_iconveh): New function.
110323         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
110325 2007-01-21  Bruno Haible  <bruno@clisp.org>
110327         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
110329         * lib/striconveh.h (mem_cd_iconveh): Change specification.
110330         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
110331         original result buffer.
110332         (str_cd_iconveh): Update.
110333         * tests/test-striconveh.c (main): Update.
110335         * lib/striconv.h (mem_cd_iconv): Change specification.
110336         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
110337         result buffer.
110338         (str_cd_iconv): Update.
110339         * tests/test-striconv.c (main): Update.
110341 2007-01-21  Bruno Haible  <bruno@clisp.org>
110343         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
110345 2007-01-20  Jim Meyering  <jim@meyering.net>
110347         * lib/userspec.c (parse_with_separator): If a user or group string
110348         starts with "+", skip the corresponding name-to-ID look-up, since
110349         such a look-up must fail: user and group names may not include "+".
110351 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
110353         * lib/poll.c: Include sys/time.h and time.h unconditionally,
110354         since we now assume the sys_time module.
110355         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
110356         check for sys/time.h; no longer needed.
110357         * modules/poll (Depends-on): Depend on sys_time.
110359 2007-01-18  Bruno Haible  <bruno@clisp.org>
110361         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
110362         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110364         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
110365         gettimeofday.
110367         * tests/test-gettimeofday.c: Include <time.h>.
110368         (dummy): Remove variable.
110370         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
110371         gl_HEADER_SYS_TIME_H.
110372         (gl_HEADER_SYS_TIME_H): New macro.
110374         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
110375         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110376         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
110377         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
110378         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110379         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
110380         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
110381         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110382         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
110383         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
110384         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110386         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
110387         last change; it caused a compilation error when cross-compiling to
110388         Cygwin.
110390 2007-01-18  Jim Meyering  <jim@meyering.net>
110392         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
110393         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
110394         than the race-prone "test -d sys || mkdir sys".
110395         (configure.ac): Use AC_PROG_MKDIR_P.
110396         * modules/sys_select: Likewise.
110397         * modules/sys_socket: Likewise.
110398         * modules/sys_time: Likewise.
110400 2007-01-18  Eric Blake  <ebb9@byu.net>
110402         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
110403         replace gettimeofday.
110404         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
110405         name, to avoid infinite recursion.
110407 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
110409         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
110410         module sys_time.
110411         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
110412         assume timespec.h defines struct timeval.
110413         * lib/settime.c: Likewise.
110414         * lib/utimens.c: Likewise.
110415         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
110416         since we now assume the gettimeofday module.
110417         * lib/tempname.c (__gen_tempname): Likewise.
110418         * lib/gettimeofday.h: Remove.
110419         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
110420         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
110421         Include <time.h>, for 'time()'.
110422         (localtime_buffer_addr): Also use this workaround if
110423         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
110424         to simplify the uses.  All uses changed.
110425         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
110426         that #undef is inside {}, and 'const' follows type name consistently.
110427         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
110428         (gettimeofday): Do not use the maximum possible value for
110429         tv->tv_usec, since that might break usages other than ls.c.
110430         Instead, we'll leave ls.c alone.  This undoes today's patch
110431         by Bruno.  Add a compile-time warning for 1s-clock resolution;
110432         we've never observed the problem but might as well keep the
110433         canary.
110434         * lib/nanosleep.c: Include timespec.h first, for interface check.
110435         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
110436         now assume the sys_time module.
110437         * lib/tempname.c: Likewise.
110438         * lib/timespec.h: Likewise.
110439         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
110440         needed.
110441         * lib/strftime.c: Likewise.
110442         * lib/timespec.h: Likewise.
110443         * lib/posixtm.c: Include posixtm.h first, for interface check.
110444         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
110445         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
110446         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
110447         * lib/sys_time_.h: New file.
110448         * lib/timespec.h (struct timespec): Use long int, not long.
110449         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
110450         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
110451         Remove obsolescent call to AC_HEADER_TIME.
110452         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
110453         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
110454         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110455         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
110456         Likewise.
110457         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
110458         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
110459         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
110460         into the sys_time module.  Check for gettimeofday just once.
110461         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
110462         for gettimeofday signature to just check the signature.  Merely
110463         compile it, since linking doesn't test signature.  Improve test for
110464         whether gettimeofday.o is actually needed.
110465         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
110466         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
110467         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
110468         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110469         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
110470         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
110471         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
110472         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
110473         than worrying about sys/time.h.
110474         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
110475         Don't bother worrying about TIME_WITH_SYS_TIME.
110476         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
110477         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
110478         * m4/sys_time_h.m4: New file.
110479         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
110480         Don't include sys/time.h.  Return from main rather than exiting.
110481         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
110482         all uses changed.
110483         * modules/gethrxtime (Depends-on): Add sys_time.
110484         * modules/gettime (Depends-on): Likewise.
110485         * modules/gettimeofday (Depends-on): Likewise.
110486         * modules/nanosleep (Depends-on): Likewise.
110487         * modules/settime (Depends-on): Likewise.
110488         * modules/tempname (Depends-on): Likewise.
110489         * modules/utimens (Depends-on): Likewise.
110490         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
110491         (Include): Change back to <sys/time.h>.
110492         (Maintainer): Add self.
110493         * modules/sys_time: New file.
110494         * modules/tempname (Depends-on): Add gettimeofday.
110495         * tests/test-gettimeofday.c: Include <sys/time.h>
110496         rather than gettimeofday.h.
110498 2007-01-17  Bruno Haible  <bruno@clisp.org>
110500         * gnulib-tool (func_get_license): Revert last patch. Instead, let
110501         the license default to GPL.
110502         (func_create_testdir): Don't complain if a module is LGPL and its
110503         tests module depends on GPLed modules.
110505 2007-01-17  Bruno Haible  <bruno@clisp.org>
110507         * lib/gettimeofday.c (gettimeofday): Add code for the case
110508         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
110509         maximum possible value for tv->tv_usec, rather than the minimum one.
110511 2005-10-08  Martin Lambers  <marlam@marlam.de>
110512 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
110513 2007-01-16  Bruno Haible  <bruno@clisp.org>
110515         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
110516         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
110517         gl_FUNC_GETTIMEOFDAY.
110518         (Include): Add gettimeofday.h.
110519         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
110520         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
110521         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
110522         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
110523         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
110524         * lib/gettimeofday.h: New file.
110525         * lib/gettimeofday.c: Include <sys/timeb.h>.
110526         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
110527         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110528         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
110529         fall back on time().
110531         * tests/test-gettimeofday.c: New file.
110532         * modules/gettimeofday-tests: New file.
110534 2007-01-16  Eric Blake  <ebb9@byu.net>
110536         * modules/fnmatch (Depends-on): Depend on wchar.
110537         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
110538         * m4/fnmatch.m4: Likewise.
110539         * modules/mbchar (Makefile.am): Assume <wchar.h>.
110540         * m4/mbchar.m4: Likewise.
110541         * modules/mbswidth (Depends-on): Depend on wchar.
110542         * lib/mbswidth.c: Assume <wchar.h>.
110543         * m4/mbswidth.m4: Likewise.
110544         * modules/quotearg (Depends-on): Depend on wchar.
110545         * lib/quotearg.c: Assume <wchar.h>.
110546         * m4/quotearg.m4: Likewise.
110547         * modules/regex (Depends-on): Depend on wchar.
110548         * lib/regex_internal.h: Assume <wchar.h>.
110549         * m4/regex.m4: Likewise.
110550         * modules/stdint (Depends-on): Depend on wchar.
110551         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
110552         * m4/stdint.m4: Likewise.
110553         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
110554         * modules/strftime (Depends-on): Depend on wchar.
110555         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
110556         * modules/strtol (Depends-on): Depend on wchar.
110557         * lib/strtol.c: Assume <wchar.h>.
110558         * modules/wcwidth (Depends-on): Depend on wchar.
110559         * lib/wcwidth.h: Assume <wchar.h>.
110560         * m4/wcwidth.m4: Likewise.
110562 2007-01-16  Bruno Haible  <bruno@clisp.org>
110564         * modules/csharpexec-script: New, created from...
110565         * modules/csharpexec: ... this.
110567 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
110569         * modules/javaexec-script: New, created from...
110570         * modules/javaexec: ... this.
110572 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110574         * modules/poll (Dependencies): Add sys_select.
110576 2007-01-15  Jim Meyering  <jim@meyering.net>
110578         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
110579         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
110580         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
110581         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
110583 2007-01-15  Bruno Haible  <bruno@clisp.org>
110585         * modules/striconveh: New file.
110586         * lib/striconveh.h: New file.
110587         * lib/striconveh.c: New file.
110588         * MODULES.html.sh (Internationalization functions): Add striconveh.
110590         * modules/striconveh-tests: New file.
110591         * tests/test-striconveh.c: New file.
110593 2007-01-15  Bruno Haible  <bruno@clisp.org>
110595         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
110596         not from GNU libiconv or GNU libc.
110598 2007-01-15  Bruno Haible  <bruno@clisp.org>
110600         * doc/gnulib-intro.texi (Copyright): Explain the different license
110601         terms for module descriptions, autoconf macros, tests, documentation.
110603 2007-01-14  Bruno Haible  <bruno@clisp.org>
110605         * modules/striconv-tests: New file.
110606         * tests/test-striconv.c: New file.
110608 2007-01-14  Bruno Haible  <bruno@clisp.org>
110610         * modules/iconv-tests: New file.
110611         * tests/test-iconv.c: New file.
110613 2007-01-14  Bruno Haible  <bruno@clisp.org>
110615         * gnulib-tool (func_get_license): For test modules, use the license of
110616         the main module.
110618 2007-01-14  Bruno Haible  <bruno@clisp.org>
110620         * modules/iconv (Include): Clarify that <iconv.h> can only be included
110621         if iconv is found to exist.
110623 2007-01-14  Bruno Haible  <bruno@clisp.org>
110625         * modules/c-ctype-tests: New file.
110626         * tests/test-c-ctype.c: New file.
110628 2007-01-14  Bruno Haible  <bruno@clisp.org>
110630         * modules/binary-io-tests: New file.
110631         * tests/test-binary-io.sh: New file.
110632         * tests/test-binary-io.c: New file.
110634 2007-01-14  Bruno Haible  <bruno@clisp.org>
110636         * modules/array-oset-tests: New file.
110637         * tests/test-array_oset.c: New file.
110639 2007-01-14  Bruno Haible  <bruno@clisp.org>
110641         * modules/array-list-tests: New file.
110642         * tests/test-array_list.c: New file.
110644 2007-01-14  Bruno Haible  <bruno@clisp.org>
110646         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
110647         and make.
110648         Reported by Simon Josefsson in
110649         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
110651 2007-01-14  Bruno Haible  <bruno@clisp.org>
110653         * modules/allocsa-tests: New file.
110654         * tests/test-allocsa.c: New file.
110656 2007-01-14  Bruno Haible  <bruno@clisp.org>
110658         * modules/fchdir (Depends-on): Add absolute-header.
110659         * modules/unistd (Depends-on): Likewise.
110661 2006-12-30  Bruno Haible  <bruno@clisp.org>
110663         * modules/fchdir: New file.
110664         * modules/unistd (Files): Add lib/unistd_.h.
110665         (Makefile.am): Generate unistd.h from unistd_.h.
110666         * lib/fchdir.c: New file.
110667         * lib/dirent_.h: New file.
110668         * lib/unistd_.h: New file.
110669         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
110670         * m4/fchdir.m4: New file.
110671         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
110672         (gl_HEADER_UNISTD): Invoke it.
110673         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
110674         function.
110675         * lib/backupfile.c (opendir, closedir): Undefine.
110676         * lib/chown.c (open, close): Undefine.
110677         * lib/clean-temp.c (open, close): Undefine.
110678         * lib/copy-file.c (open, close): Undefine.
110679         * lib/execute.c (open, close): Undefine.
110680         * lib/fsusage.c (open, close): Undefine.
110681         * lib/gc-gnulib.c (open, close): Undefine.
110682         * lib/getcwd.c (opendir, closedir): Undefine.
110683         * lib/glob.c (opendir, closedir): Undefine.
110684         * lib/javacomp.c (open, close): Undefine.
110685         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
110686         * lib/openat-proc.c (open, close): Undefine.
110687         * lib/pagealign_alloc.c (open, close): Undefine.
110688         * lib/pipe.c (open, close): Undefine.
110689         * lib/progreloc.c (open, close): Undefine.
110690         * lib/savedir.c (opendir, closedir): Undefine.
110691         * lib/utime.c (open, close): Undefine.
110692         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
110694 2007-01-10  Bruno Haible  <bruno@clisp.org>
110696         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
110698 2007-01-12  Eric Blake  <ebb9@byu.net>
110700         Provide a robust <wchar.h>.  Further simplifications are now
110701         possible in other modules, but not included here.
110702         * modules/wchar: New module.
110703         * m4/wchar.m4: New file.
110704         * lib/wchar_.h: Likewise.
110705         * modules/mbchar (Depends-on): Depend on wchar, as the first use
110706         of the new module.
110707         * MODULES.html.sh (Extended multibyte and wide character utilities):
110708         New section.
110710 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
110712         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
110713         to a reasonable default for memory allocation.
110714         (xreadlink): Don't allocate a huge buffer, to work around a buggy
110715         file system that reports garbage st_size values for symlinks.
110716         Problem reported by Liyang Hu.
110718 2007-01-11  Simon Josefsson  <simon@josefsson.org>
110720         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
110721         Emacs .#* auto-save files).
110723 2007-01-11  Bruno Haible  <bruno@clisp.org>
110725         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
110726         directory.
110728 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
110730         Use @...@ consistently in lib/wctype_.h.
110731         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
110732         on it being set to 1 or 0.
110733         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
110734         go back to AC_SUBSTing it.
110735         * modules/wctype (Makefile.am): Undo previous change.
110737 2007-01-10  Eric Blake  <ebb9@byu.net>
110739         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
110740         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
110741         * modules/wctype (Makefile.am): Likewise.
110742         Reported by Chris McGuire.
110744 2007-01-10  Jim Meyering  <jim@meyering.net>
110746         fts.c: a small readability/maintainability improvement
110747         * lib/fts.c (fts_read): Make this code slightly more readable and
110748         maintainable by hoisting the "sp->fts_cur = p" assignments to
110749         immediately follow the statements that set P.  Derived from
110750         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
110752 2007-01-10  Eric Blake  <ebb9@byu.net>
110754         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
110755         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
110756         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110757         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
110758         Reported by Chris McGuire.
110760 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110762         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
110763         in sed script.
110765 2007-01-09  Bruno Haible  <bruno@clisp.org>
110767         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
110768         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
110769         variables.
110770         (func_module): Use them.
110772 2007-01-09  Bruno Haible  <bruno@clisp.org>
110774         * modules/unistr/base: New file.
110775         * lib/unistr.h: New file.
110777         * modules/unistr/u8-to-u16: New file.
110778         * lib/unistr/u8-to-u16.c: New file.
110780         * modules/unistr/u8-to-u32: New file.
110781         * lib/unistr/u8-to-u32.c: New file.
110783         * modules/unistr/u16-to-u8: New file.
110784         * lib/unistr/u16-to-u8.c: New file.
110786         * modules/unistr/u16-to-u32: New file.
110787         * lib/unistr/u16-to-u32.c: New file.
110789         * modules/unistr/u32-to-u8: New file.
110790         * lib/unistr/u32-to-u8.c: New file.
110792         * modules/unistr/u32-to-u16: New file.
110793         * lib/unistr/u32-to-u16.c: New file.
110795         * modules/unistr/u8-check: New file.
110796         * modules/unistr/u16-check: New file.
110797         * modules/unistr/u32-check: New file.
110798         * lib/unistr/u8-check.c: New file.
110799         * lib/unistr/u16-check.c: New file.
110800         * lib/unistr/u32-check.c: New file.
110802         * modules/unistr/u8-chr: New file.
110803         * modules/unistr/u16-chr: New file.
110804         * modules/unistr/u32-chr: New file.
110805         * lib/unistr/u8-chr.c: New file.
110806         * lib/unistr/u16-chr.c: New file.
110807         * lib/unistr/u32-chr.c: New file.
110809         * modules/unistr/u8-cmp: New file.
110810         * modules/unistr/u16-cmp: New file.
110811         * modules/unistr/u32-cmp: New file.
110812         * lib/unistr/u8-cmp.c: New file.
110813         * lib/unistr/u16-cmp.c: New file.
110814         * lib/unistr/u32-cmp.c: New file.
110816         * modules/unistr/u8-cpy: New file.
110817         * modules/unistr/u16-cpy: New file.
110818         * modules/unistr/u32-cpy: New file.
110819         * lib/unistr/u8-cpy.c: New file.
110820         * lib/unistr/u16-cpy.c: New file.
110821         * lib/unistr/u32-cpy.c: New file.
110822         * lib/unistr/u-cpy.h: New file.
110824         * modules/unistr/u8-cpy-alloc: New file.
110825         * modules/unistr/u16-cpy-alloc: New file.
110826         * modules/unistr/u32-cpy-alloc: New file.
110827         * lib/unistr/u8-cpy-alloc.c: New file.
110828         * lib/unistr/u16-cpy-alloc.c: New file.
110829         * lib/unistr/u32-cpy-alloc.c: New file.
110830         * lib/unistr/u-cpy-alloc.h: New file.
110832         * modules/unistr/u8-endswith: New file.
110833         * modules/unistr/u16-endswith: New file.
110834         * modules/unistr/u32-endswith: New file.
110835         * lib/unistr/u8-endswith.c: New file.
110836         * lib/unistr/u16-endswith.c: New file.
110837         * lib/unistr/u32-endswith.c: New file.
110838         * lib/unistr/u-endswith.h: New file.
110840         * modules/unistr/u8-mblen: New file.
110841         * modules/unistr/u16-mblen: New file.
110842         * modules/unistr/u32-mblen: New file.
110843         * lib/unistr/u8-mblen.c: New file.
110844         * lib/unistr/u16-mblen.c: New file.
110845         * lib/unistr/u32-mblen.c: New file.
110847         * modules/unistr/u8-mbtouc: New file.
110848         * modules/unistr/u16-mbtouc: New file.
110849         * modules/unistr/u32-mbtouc: New file.
110850         * lib/unistr/u8-mbtouc.c: New file.
110851         * lib/unistr/u16-mbtouc.c: New file.
110852         * lib/unistr/u32-mbtouc.c: New file.
110854         * modules/unistr/u8-mbtouc-safe: New file.
110855         * modules/unistr/u16-mbtouc-safe: New file.
110856         * modules/unistr/u32-mbtouc-safe: New file.
110857         * lib/unistr/u8-mbtouc-safe.c: New file.
110858         * lib/unistr/u16-mbtouc-safe.c: New file.
110859         * lib/unistr/u32-mbtouc-safe.c: New file.
110861         * modules/unistr/u8-move: New file.
110862         * modules/unistr/u16-move: New file.
110863         * modules/unistr/u32-move: New file.
110864         * lib/unistr/u8-move.c: New file.
110865         * lib/unistr/u16-move.c: New file.
110866         * lib/unistr/u32-move.c: New file.
110867         * lib/unistr/u-move.h: New file.
110869         * modules/unistr/u8-next: New file.
110870         * modules/unistr/u16-next: New file.
110871         * modules/unistr/u32-next: New file.
110872         * lib/unistr/u8-next.c: New file.
110873         * lib/unistr/u16-next.c: New file.
110874         * lib/unistr/u32-next.c: New file.
110876         * modules/unistr/u8-prev: New file.
110877         * modules/unistr/u16-prev: New file.
110878         * modules/unistr/u32-prev: New file.
110879         * lib/unistr/u8-prev.c: New file.
110880         * lib/unistr/u16-prev.c: New file.
110881         * lib/unistr/u32-prev.c: New file.
110883         * modules/unistr/u8-set: New file.
110884         * modules/unistr/u16-set: New file.
110885         * modules/unistr/u32-set: New file.
110886         * lib/unistr/u8-set.c: New file.
110887         * lib/unistr/u16-set.c: New file.
110888         * lib/unistr/u32-set.c: New file.
110889         * lib/unistr/u-set.h: New file.
110891         * modules/unistr/u8-startswith: New file.
110892         * modules/unistr/u16-startswith: New file.
110893         * modules/unistr/u32-startswith: New file.
110894         * lib/unistr/u8-startswith.c: New file.
110895         * lib/unistr/u16-startswith.c: New file.
110896         * lib/unistr/u32-startswith.c: New file.
110897         * lib/unistr/u-startswith.h: New file.
110899         * modules/unistr/u8-stpcpy: New file.
110900         * modules/unistr/u16-stpcpy: New file.
110901         * modules/unistr/u32-stpcpy: New file.
110902         * lib/unistr/u8-stpcpy.c: New file.
110903         * lib/unistr/u16-stpcpy.c: New file.
110904         * lib/unistr/u32-stpcpy.c: New file.
110905         * lib/unistr/u-stpcpy.h: New file.
110907         * modules/unistr/u8-stpncpy: New file.
110908         * modules/unistr/u16-stpncpy: New file.
110909         * modules/unistr/u32-stpncpy: New file.
110910         * lib/unistr/u8-stpncpy.c: New file.
110911         * lib/unistr/u16-stpncpy.c: New file.
110912         * lib/unistr/u32-stpncpy.c: New file.
110913         * lib/unistr/u-stpncpy.h: New file.
110915         * modules/unistr/u8-strcat: New file.
110916         * modules/unistr/u16-strcat: New file.
110917         * modules/unistr/u32-strcat: New file.
110918         * lib/unistr/u8-strcat.c: New file.
110919         * lib/unistr/u16-strcat.c: New file.
110920         * lib/unistr/u32-strcat.c: New file.
110921         * lib/unistr/u-strcat.h: New file.
110923         * modules/unistr/u8-strchr: New file.
110924         * modules/unistr/u16-strchr: New file.
110925         * modules/unistr/u32-strchr: New file.
110926         * lib/unistr/u8-strchr.c: New file.
110927         * lib/unistr/u16-strchr.c: New file.
110928         * lib/unistr/u32-strchr.c: New file.
110930         * modules/unistr/u8-strcmp: New file.
110931         * modules/unistr/u16-strcmp: New file.
110932         * modules/unistr/u32-strcmp: New file.
110933         * lib/unistr/u8-strcmp.c: New file.
110934         * lib/unistr/u16-strcmp.c: New file.
110935         * lib/unistr/u32-strcmp.c: New file.
110937         * modules/unistr/u8-strcpy: New file.
110938         * modules/unistr/u16-strcpy: New file.
110939         * modules/unistr/u32-strcpy: New file.
110940         * lib/unistr/u8-strcpy.c: New file.
110941         * lib/unistr/u16-strcpy.c: New file.
110942         * lib/unistr/u32-strcpy.c: New file.
110943         * lib/unistr/u-strcpy.h: New file.
110945         * modules/unistr/u8-strcspn: New file.
110946         * modules/unistr/u16-strcspn: New file.
110947         * modules/unistr/u32-strcspn: New file.
110948         * lib/unistr/u8-strcspn.c: New file.
110949         * lib/unistr/u16-strcspn.c: New file.
110950         * lib/unistr/u32-strcspn.c: New file.
110951         * lib/unistr/u-strcspn.h: New file.
110953         * modules/unistr/u8-strdup: New file.
110954         * modules/unistr/u16-strdup: New file.
110955         * modules/unistr/u32-strdup: New file.
110956         * lib/unistr/u8-strdup.c: New file.
110957         * lib/unistr/u16-strdup.c: New file.
110958         * lib/unistr/u32-strdup.c: New file.
110959         * lib/unistr/u-strdup.h: New file.
110961         * modules/unistr/u8-strlen: New file.
110962         * modules/unistr/u16-strlen: New file.
110963         * modules/unistr/u32-strlen: New file.
110964         * lib/unistr/u8-strlen.c: New file.
110965         * lib/unistr/u16-strlen.c: New file.
110966         * lib/unistr/u32-strlen.c: New file.
110967         * lib/unistr/u-strlen.h: New file.
110969         * modules/unistr/u8-strmblen: New file.
110970         * modules/unistr/u16-strmblen: New file.
110971         * modules/unistr/u32-strmblen: New file.
110972         * lib/unistr/u8-strmblen.c: New file.
110973         * lib/unistr/u16-strmblen.c: New file.
110974         * lib/unistr/u32-strmblen.c: New file.
110976         * modules/unistr/u8-strmbtouc: New file.
110977         * modules/unistr/u16-strmbtouc: New file.
110978         * modules/unistr/u32-strmbtouc: New file.
110979         * lib/unistr/u8-strmbtouc.c: New file.
110980         * lib/unistr/u16-strmbtouc.c: New file.
110981         * lib/unistr/u32-strmbtouc.c: New file.
110983         * modules/unistr/u8-strncat: New file.
110984         * modules/unistr/u16-strncat: New file.
110985         * modules/unistr/u32-strncat: New file.
110986         * lib/unistr/u8-strncat.c: New file.
110987         * lib/unistr/u16-strncat.c: New file.
110988         * lib/unistr/u32-strncat.c: New file.
110989         * lib/unistr/u-strncat.h: New file.
110991         * modules/unistr/u8-strncmp: New file.
110992         * modules/unistr/u16-strncmp: New file.
110993         * modules/unistr/u32-strncmp: New file.
110994         * lib/unistr/u8-strncmp.c: New file.
110995         * lib/unistr/u16-strncmp.c: New file.
110996         * lib/unistr/u32-strncmp.c: New file.
110998         * modules/unistr/u8-strncpy: New file.
110999         * modules/unistr/u16-strncpy: New file.
111000         * modules/unistr/u32-strncpy: New file.
111001         * lib/unistr/u8-strncpy.c: New file.
111002         * lib/unistr/u16-strncpy.c: New file.
111003         * lib/unistr/u32-strncpy.c: New file.
111004         * lib/unistr/u-strncpy.h: New file.
111006         * modules/unistr/u8-strnlen: New file.
111007         * modules/unistr/u16-strnlen: New file.
111008         * modules/unistr/u32-strnlen: New file.
111009         * lib/unistr/u8-strnlen.c: New file.
111010         * lib/unistr/u16-strnlen.c: New file.
111011         * lib/unistr/u32-strnlen.c: New file.
111012         * lib/unistr/u-strnlen.h: New file.
111014         * modules/unistr/u8-strpbrk: New file.
111015         * modules/unistr/u16-strpbrk: New file.
111016         * modules/unistr/u32-strpbrk: New file.
111017         * lib/unistr/u8-strpbrk.c: New file.
111018         * lib/unistr/u16-strpbrk.c: New file.
111019         * lib/unistr/u32-strpbrk.c: New file.
111020         * lib/unistr/u-strpbrk.h: New file.
111022         * modules/unistr/u8-strrchr: New file.
111023         * modules/unistr/u16-strrchr: New file.
111024         * modules/unistr/u32-strrchr: New file.
111025         * lib/unistr/u8-strrchr.c: New file.
111026         * lib/unistr/u16-strrchr.c: New file.
111027         * lib/unistr/u32-strrchr.c: New file.
111029         * modules/unistr/u8-strspn: New file.
111030         * modules/unistr/u16-strspn: New file.
111031         * modules/unistr/u32-strspn: New file.
111032         * lib/unistr/u8-strspn.c: New file.
111033         * lib/unistr/u16-strspn.c: New file.
111034         * lib/unistr/u32-strspn.c: New file.
111035         * lib/unistr/u-strspn.h: New file.
111037         * modules/unistr/u8-strstr: New file.
111038         * modules/unistr/u16-strstr: New file.
111039         * modules/unistr/u32-strstr: New file.
111040         * lib/unistr/u8-strstr.c: New file.
111041         * lib/unistr/u16-strstr.c: New file.
111042         * lib/unistr/u32-strstr.c: New file.
111043         * lib/unistr/u-strstr.h: New file.
111045         * modules/unistr/u8-strtok: New file.
111046         * modules/unistr/u16-strtok: New file.
111047         * modules/unistr/u32-strtok: New file.
111048         * lib/unistr/u8-strtok.c: New file.
111049         * lib/unistr/u16-strtok.c: New file.
111050         * lib/unistr/u32-strtok.c: New file.
111051         * lib/unistr/u-strtok.h: New file.
111053         * modules/unistr/u8-uctomb: New file.
111054         * modules/unistr/u16-uctomb: New file.
111055         * modules/unistr/u32-uctomb: New file.
111056         * lib/unistr/u8-uctomb.c: New file.
111057         * lib/unistr/u16-uctomb.c: New file.
111058         * lib/unistr/u32-uctomb.c: New file.
111060         * MODULES.html.sh (Unicode string functions): Add the new modules.
111062 2007-01-08  Bruno Haible  <bruno@clisp.org>
111064         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
111065         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
111066         subdirectories.
111068 2007-01-08  Karl Berry  <karl@gnu.org>
111070         * doc/error.texi: mention that main() fns must set program_name
111071         when progname is used.
111073 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
111075         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
111076         WCTYPE_H is empty, for the benefit of builds from non-distclean
111077         directories.  Problem reported by Eric Blake in
111078         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
111080 2007-01-08  Bruno Haible  <bruno@clisp.org>
111082         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
111083         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
111084         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
111085         PROVIDE_CANONICALIZE_FILENAME_MODE.
111086         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
111088 2007-01-08  Bruno Haible  <bruno@clisp.org>
111090         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
111091         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
111092         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
111093         * lib/fts.c: Likewise.
111094         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
111096 2006-12-25  Bruno Haible  <bruno@clisp.org>
111098         * modules/utf8-ucs4-safe: New file.
111099         * lib/utf8-ucs4-safe.h: New file.
111100         * lib/unistr/utf8-ucs4-safe.c: New file.
111102         * modules/utf16-ucs4-safe: New file.
111103         * lib/utf16-ucs4-safe.h: New file.
111104         * lib/unistr/utf16-ucs4-safe.c: New file.
111106         * MODULES.html.sh (Unicode string functions): Add the new modules.
111108 2007-01-08  Bruno Haible  <bruno@clisp.org>
111110         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
111111         (Depends-on): Add unitypes.
111112         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
111113         (u8_mbtouc_aux): Move out to separate file.
111114         (u8_mbtouc): Use ucs4_t, uint8_t types.
111115         * lib/unistr/utf8-ucs4.c: New file.
111117         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
111118         (Depends-on): Add unitypes.
111119         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
111120         (u16_mbtouc_aux): Move out to separate file.
111121         (u16_mbtouc): Use ucs4_t, uint16_t types.
111122         * lib/unistr/utf16-ucs4.c: New file.
111124         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
111125         (Depends-on): Add unitypes.
111126         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
111127         (u8_uctomb_aux): Move out to separate file.
111128         (u8_uctomb): Use ucs4_t, uint8_t types.
111129         * lib/unistr/ucs4-utf8.c: New file.
111131         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
111132         (Depends-on): Add unitypes.
111133         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
111134         (u16_uctomb_aux): Move out to separate file.
111135         (u16_uctomb): Use ucs4_t, uint16_t types.
111136         * lib/unistr/ucs4-utf16.c: New file.
111138 2006-12-25  Bruno Haible  <bruno@clisp.org>
111140         * modules/unitypes: New file.
111141         * lib/unitypes.h: New file.
111142         * MODULES.html.sh (func_all_modules): New section "Unicode string
111143         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
111144         this section. Add unitypes.
111146 2007-01-08  Bruno Haible  <bruno@clisp.org>
111148         Avoid variable names that conflict with those from libtool.
111149         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
111150         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
111151         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
111152         library_names_spec to acl_library_names_spec, hardcode_* to
111153         acl_hardcode_*.
111154         Reported by Ralf Wildenhues.
111156 2007-01-08  Bruno Haible  <bruno@clisp.org>
111158         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
111159         definition.
111160         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
111161         definition.
111162         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
111163         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
111164         definition.
111165         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
111166         definition.
111167         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
111168         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
111169         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
111170         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
111171         definition.
111172         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
111173         definition.
111174         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
111175         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
111176         GC_USE_<algorithm>.
111177         * lib/gc-libgcrypt.c: Likewise.
111178         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
111179         * modules/gc-arctwo (configure.ac): Likewise.
111180         * modules/gc-des (configure.ac): Likewise.
111181         * modules/gc-hmac-md5 (configure.ac): Likewise.
111182         * modules/gc-hmac-sha1 (configure.ac): Likewise.
111183         * modules/gc-md2 (configure.ac): Likewise.
111184         * modules/gc-md4 (configure.ac): Likewise.
111185         * modules/gc-md5 (configure.ac): Likewise.
111186         * modules/gc-random (configure.ac): Likewise.
111187         * modules/gc-rijndael (configure.ac): Likewise.
111188         * modules/gc-sha1 (configure.ac): Likewise.
111190 2007-01-08  Bruno Haible  <bruno@clisp.org>
111192         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
111193         macro definition.
111194         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
111195         definition.
111196         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
111197         definition.
111198         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
111199         * modules/fcntl-safer (configure.ac): Likewise.
111200         * modules/fopen-safer (configure.ac): Likewise.
111201         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
111202         GNULIB_FWRITEERROR macro definition.
111204 2007-01-08  Bruno Haible  <bruno@clisp.org>
111206         * m4/gnulib-common.m4: New file.
111207         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
111208         (func_get_filelist): Add m4/gnulib-common.m4.
111210 2007-01-08  Bruno Haible  <bruno@clisp.org>
111212         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
111213         command.
111215 2007-01-08  Jim Meyering  <jim@meyering.net>
111217         Use a more robust test for a "can't happen" condition.
111218         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
111219         narrowed the st_size value.  Presuming the "can't happen" condition
111220         is true, that narrowing could conceivably convert an invalid st_size
111221         value into a valid one.  Instead, use a change based on Matthew
111222         Woehlke's original patch.
111224         Slight readability improvement: use an assert-like macro
111225         in place of literal "abort ()" uses.
111226         * lib/fts.c (fts_assert): Define.
111227         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
111228         Use this macro instead of a bare 'abort'.
111230 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
111232         Don't worry about using IRIX 5.3's wctype.h broken definitions;
111233         simply work around them.
111234         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
111235         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
111236         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
111237         declaring.
111238         Don't bother to define as macros, since the standard doesn't require it.
111239         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
111240         longer worry about IRIX 5.3.
111241         (HAVE_WCTYPE_CTMP_BUG): Remove.
111243 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
111245         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
111246         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
111247         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
111248         Problems reported by Georg Schwarz for IRIX 5.3.
111250         * gnulib-tool (autoconf_minversion): Take the maximum version number
111251         found, not the minimum.  Problem reported by James Youngman.
111253 2007-01-03  Karl Berry  <karl@gnu.org>
111255         * doc/error.texi: new file, explaining interaction with progname.
111256         * doc/gnulib.texi: include it.  Update copyright.
111258 2007-01-03  Simon Josefsson  <simon@josefsson.org>
111260         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
111261         AC_CANONICAL_HOST, to improve autobuild outputs.
111263 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
111264             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
111266         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
111267         sockets, server sockets, and other file descriptors.  Count errors
111268         to compute the return value.  Reorder the code a bit to be easier
111269         to follow.  Don't set event bits that were not requested (except
111270         POLLERR and POLLHUP).
111272 2007-01-01  Bruno Haible  <bruno@clisp.org>
111274         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
111276 2007-01-03  Jim Meyering  <jim@meyering.net>
111278         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
111280 2007-01-02  Bruno Haible  <bruno@clisp.org>
111282         * modules/settime (Include): Require timespec.h.
111283         * modules/nanosleep (Include): Likewise.
111285 2007-01-01  Bruno Haible  <bruno@clisp.org>
111287         * gnulib-tool (func_emit_copyright_notice): Bump year.
111288         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
111290 2007-01-01  Bruno Haible  <bruno@clisp.org>
111292         Improve support for OpenBSD.
111293         * build-aux/config.rpath (libname_spec): Export.
111294         (library_names_spec): New variable. Export.
111295         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
111296         library_names_spec from the config.rpath output. Locate shared library
111297         through the name pattern in library_names_spec.
111299 2007-01-01  Eric Blake  <ebb9@byu.net>
111301         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
111303 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
111305         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
111306         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
111307         assume the C locale, and avoid an "eval" that could cause trouble.
111308         Problem with SORT reported by Bob Proulx.
111310         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
111311         Define.  Trivial patch from Henning Nielsen Lund, originally
111312         sent to bug-grep@gnu.org today.
111314 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
111316         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
111317         struct stat.  Problem reported by Henning Nielsen Lund.
111318         * lib/acl.c: Include acl.h first, to check interface.  Don't
111319         bother to include sys/types.h and sys/stat.h again.
111321 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
111323         Import the following change from libc; problem reported by
111324         Sven Verdoolaege.
111326         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
111328         [BZ #1373]
111329         * lib/argp.h: Remove __NTH for __argp_usage inline function.
111331 2006-12-28  Jim Meyering  <jim@meyering.net>
111333         * build-aux/announce-gen: Do not assume that the package
111334         builds any of tar.gz, tar.bz2, and .xdelta files.
111335         Suggestion from Simon Josefsson.
111337 2006-12-28  Simon Josefsson  <simon@josefsson.org>
111339         * modules/announce-gen: New file.
111341 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
111343         * lib/mbchar.h: Just include <wctype.h>; the wctype module
111344         handles its gotchas now.
111345         * lib/mbswidth.c: Likewise.
111346         * lib/wcwidth.h: Likewise.
111347         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
111348         and iswcntrl; the wctype module does this stuff now.
111349         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
111350         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
111351         * modules/mbchar (Depends-on): Add wctype.
111352         * modules/mbswidth (Depends-on): Likewise.
111353         * modules/wcwidth (Depends-on): Likewise.
111355 2006-12-27  Eric Blake  <ebb9@byu.net>
111357         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
111358         module uses more than what <wctype.h> is required to provide.
111360 2006-12-26  Eric Blake  <ebb9@byu.net>
111362         * gnulib-tool (sed_extract_prog): Avoid space-tab.
111364 2006-12-26  Eric Blake  <ebb9@byu.net>
111366         * modules/absolute-header: New module.
111367         * modules/fcntl (Depends-on): Depend on it.
111368         * modules/inttypes (Depends-on): Likewise.
111369         * modules/stdint (Depends-on): Likewise.
111370         * modules/sys_stat (Depends-on): Likewise.
111371         * modules/wctype (Depends-on): Likewise.
111372         * MODULES.html.sh (Support for building libraries and
111373         executables): Document it.
111375 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
111377         * gnulib-tool (SED): Remove, undoing previous change.
111378         The problem was that it broke coreutils on Solaris, because
111379         "sed --posix" leaked into a makefile.
111380         (sed): New alias, if 'alias' and GNU sed.
111382 2006-12-24  Jim Meyering  <jim@meyering.net>
111384         Work around an fchownat bug in glibc-2.4:
111385         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
111386         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
111387         in spite of the -P option.
111388         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
111389         New macros.
111390         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
111391         * modules/openat (Files): Add lib/fchownat.c.
111392         * lib/openat.c (fchownat): Don't define here.  Move to...
111393         * lib/fchownat.c: ...this new file.
111395 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
111397         Fix bug reported by Bruno Haible in
111398         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
111399         where quotearg.c didn't compile on Mac OS X 10.2 because it
111400         lacks <wchar.h> and wint_t.
111401         * lib/wctype_.h (__wctype_wint_t): New type.
111402         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
111403         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
111404         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
111405         Arg is now of type __wctype_wint_t, not wint_t.
111406         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
111407         substitute HAVE_WINT_T.
111408         * modules/wctype (Files): Add m4/wint_t.m4.
111409         (wctype.h): Substitute HAVE_WINT_T.
111411 2006-12-23  Bruno Haible  <bruno@clisp.org>
111413         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
111415 2006-12-23  Bruno Haible  <bruno@clisp.org>
111417         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
111418         S_ISLNK.
111419         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
111420         mingw.
111422 2006-12-22  Bruno Haible  <bruno@clisp.org>
111424         * lib/copy-file.c: Include acl.h.
111425         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
111426         Close the file descriptors only after being done with copy_acl.
111427         * modules/copy-file (Depends-on): Add acl.
111429 2006-12-22  Bruno Haible  <bruno@clisp.org>
111431         * gnulib-tool (SED): New variable.
111432         Use $SED instead of sed everywhere.
111434 2006-12-22  Bruno Haible  <bruno@clisp.org>
111436         * modules/no-c++: New file.
111437         * m4/no-c++.m4: New file.
111438         * MODULES.html.sh (Support for building libraries and executables):
111439         Add no-c++.
111441 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
111443         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
111444         Include <limits.h>, and use its INT_MAX to rewrite the
111445         j loop so that it does not overflow 'int'.  Problem reported by
111446         Ralf Wildenhues in
111447         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
111448         Play it safe by shifting left by 1 rather than multiplying by 2,
111449         as GCC is less likely to optimize this away when the value
111450         is signed (when it assumes overflow leads to undefined behavior).
111451         Also, don't assume time_t uses two's complement.
111453 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
111455         * MODULES.html.sh: New module wctype.
111456         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
111457         * lib/fnmatch.c: Don't bother to include <wchar.h> before
111458         <wctype.h>, since the new wctype module should fix this.
111459         * lib/quotearg.c: Include <wctype.h> unconditionally, since
111460         the wctype module should arrange for it.
111461         * lib/regex_internal.h: Likewise.
111462         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
111463         since the wctype module should handle this now.
111464         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
111465         * modules/fnmatch (Depends-on): Add wctype.
111466         * modules/quotearg (Depends-on): Likewise.
111467         * modules/regex (Depends-on): Likewise.
111469 2006-12-19  Bruno Haible  <bruno@clisp.org>
111471         * lib/strdup.h [C++]: Wrap definitions in extern "C".
111472         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
111474 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111476         * modules/savewd (Depends-on): Fix dependency on fcntl.
111478 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111480         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
111481         conforms to C99, rather than relying on the user's environment
111482         setting of STDINT_H.
111484 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111485         and Eric Blake  <ebb9@byu.net>
111487         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
111488         This is more consistent with the other defines here.
111489         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
111490         Port to z/OS.  Problem reported by Paul Gilmartin.
111491         Change local vars to use gl_ prefix rather than ac_.
111492         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
111493         with other defines.
111494         * modules/double-slash-root: New module.
111495         * modules/dirname (Files): Remove m4/double-slash-root.m4.
111496         (Depends-on): Add double-slash-root.
111497         * MODULES.html.sh (File system functions): Mention new module.
111499 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
111501         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
111502         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
111503         This is for the benefit of gzip, which doesn't do i18n.
111505 2006-12-12  Jim Meyering  <jim@meyering.net>
111507         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
111508         Reported by Andreas Schwab <schwab@suse.de>.
111510 2006-12-12  Bruno Haible  <bruno@clisp.org>
111512         Merge these changes.
111513         2006-09-05  Bruno Haible  <bruno@clisp.org>
111514         * lib/iconvme.c (iconv_string): No need to save and restore errno when
111515         iconv_alloc succeeded.
111516         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
111517         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
111518         test for " && dest " at the end - dest is always != NULL there. Call
111519         iconv with 4xNULL arguments initially, to reset the state. Call iconv
111520         with 2xNULL arguments, also to flush the state storage. Handle the
111521         IRIX iconv behaviour. Realloc the final result, to throw away unused
111522         memory.
111524 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
111526         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
111527         and fchmodat unconditionally, since glibc 2.4 has them.
111528         Problem reported by Arkadiusz Miskiewicz.
111530 2006-12-10  Bruno Haible  <bruno@clisp.org>
111532         * gnulib-tool (func_import): Show the include files only for those
111533         modules that are copied and specified.
111534         Reported by Karl Berry.
111536 2006-12-08  Jim Meyering  <jim@meyering.net>
111538         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
111539         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
111541         * build-aux/announce-gen: Add two new options, both optional:
111542         --bootstrap-tools=TOOL_LIST
111543               a comma-separated list of tools, e.g.,
111544               autoconf,automake,bison,gnulib
111545         --gnulib-snapshot-date=DATE
111546               if gnulib is in the bootstrap tool list,
111547               then report this as the snapshot date.
111548               If not specified, use the current date/time.
111549               If you specify a date here, be sure it's UTC.
111551 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111553         * tests/test-argp-2.sh: Fix test to match actual output.
111554         (func_compare): Fix sed script to be portable.
111556 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
111558         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
111559         workaround for this case.  It is not autoconfigured now; offhand
111560         it's hard to see how to autoconfigure it.
111562 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
111564         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
111565         a directory that is about to be chowned.  Such a directory's
111566         initial file permissions should permit the owner only and this
111567         should not be changed until after the chown, since the group and
111568         other bits would be incorrect if they granted permission before
111569         the chown.
111571         Fix porting problem for iswctype reported by Georg Schwarz in:
111572         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
111573         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
111574         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
111575         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
111576         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
111578 2006-12-03  Jim Meyering  <jim@meyering.net>
111580         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
111581         p->fts_statp may not yet be defined.
111582         (fts_read): Instead, set it in the caller, once p->fts_statp is
111583         sure to be defined, and corresponds to a top-level directory.
111584         This bug made du -x fail.  Here's the coreutils test case:
111585         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
111586         Reported by Mike Frysinger.
111588 2006-12-01  Jim Meyering  <jim@meyering.net>
111590         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
111591         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
111592         Reported by Simon Josefsson.
111594 2006-11-30  Jim Meyering  <jim@meyering.net>
111596         * m4/warning.m4: Use the all-permissive copyright notice
111597         recommended by RMS (rather than LGPL).
111598         * m4/vararrays.m4: Likewise.
111599         * m4/flexmember.m4: Likewise.
111601 2006-11-29  Bruno Haible  <bruno@clisp.org>
111603         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111604         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
111605         using +=.
111606         Reported by Simon Josefsson <simon@josefsson.org>.
111608 2006-11-28  James Youngman  <jay@gnu.org>
111610         * README: Advise users that they might find the bug-gnulib@gnu.org
111611         and autotools-announce@gnu.org mailing lists useful.
111613 2006-11-28  Bruno Haible  <bruno@clisp.org>
111615         * m4/ptrdiff_max.m4: Remove file.
111617 2006-11-21  Bruno Haible  <bruno@clisp.org>
111619         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
111620         _AC_COMPUTE_INT.
111621         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111622         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
111623         _AC_COMPUTE_INT.
111624         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111625         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
111626         _AC_COMPUTE_INT.
111627         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111629 2006-11-28  Jim Meyering  <jim@meyering.net>
111631         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
111632         warning from "gcc -Wshadow" about shadowing the builtin.
111634 2006-11-27  Bruno Haible  <bruno@clisp.org>
111636         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
111637         _AC_COMPUTE_INT.
111638         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111640 2006-11-27  Bruno Haible  <bruno@clisp.org>
111641             Paul Eggert  <eggert@cs.ucla.edu>
111643         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
111645 2006-11-26  Bruno Haible  <bruno@clisp.org>
111647         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111648         noinst_LTLIBRARIES.
111650 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
111651             Bruno Haible  <bruno@clisp.org>
111653         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
111654         if compiling with "gcc -ansi".
111656 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
111658         Fix some incompatibilities with gcc -ansi -pedantic.
111659         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
111660         if compiling pedantically with GCC, unless it's C99 or later.
111661         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
111662         it mishandles gcc -ansi -pedantic as well.
111663         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
111664         if gcc -pedantic.
111665         * lib/regexec.c (check_node_accept_bytes): Don't use auto
111666         initializers for struct if -pedantic, unless it's C99 or later.
111668 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
111670         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
111671         Don't close an fd more than once. Identical atimes indicate
111672         success, not failure.
111674 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
111676         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
111678 2006-11-23  Jim Meyering  <jim@meyering.net>
111680         * build-aux/announce-gen: New file.  From coreutils.
111682 2006-11-22  Jim Meyering  <jim@meyering.net>
111684         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
111685         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
111686         (fts_read): Use a temporary to narrow the overused st_size member
111687         before using it in a switch statement.  Reported by Matthew Woehlke.
111689         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
111690         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
111692 2006-11-20  Bruno Haible  <bruno@clisp.org>
111694         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
111695         changequote instead of pairs of brackets.
111696         Reported by Andreas Schwab <schwab@suse.de>.
111698 2006-11-21  Jim Meyering  <jim@meyering.net>
111700         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
111701         so as to remain compatible with older compilers.
111702         Patch from Michael Deutschmann.
111704 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111706         * MODULES.html.sh (File system functions): Add openat.
111708         * lib/openat.h (rpl_fstatat): New macro, if
111709         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
111710         (fstatat): Define to rpl_fstatat under the same conditions,
111711         unless COMPILING_FSTATAT.
111712         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
111713         seems to have the bug.
111714         * lib/fstatat.c: New file.
111715         * modules/openat (Files): Add it.
111717 2006-11-20  Bruno Haible  <bruno@clisp.org>
111719         * Makefile: New file.
111721 2006-11-20  Jim Meyering  <jim@meyering.net>
111723         The beginnings of syntax-related checks for gnulib.
111724         * lib/Makefile: New file.
111725         * lib/t-idcache: New script.  Ensure that the two halves of
111726         idcache.c stay in sync.
111728         * lib/idcache.c: Adjust comments in user- and group- portions to
111729         be more accurate, and to be consistent with one another.
111731 2006-11-20  Jim Meyering  <jim@meyering.net>
111733         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
111734         continue using the flexible array member (thus, this module performs
111735         half as many malloc calls), with the addition that...
111736         (getgroup, getuser): Consistently record a non-match via an empty
111737         "name" string, and map an empty string match to a NULL return value.
111738         * modules/idcache (Depends-on): Re-add flexmember.
111740         * lib/idcache.c (getuser): Remove all uses of the register keyword.
111741         (getuidbyname, getgroup, getgidbyname): Likewise.
111743         Use cleaner syntax: NULL rather than 0.
111744         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
111746 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111748         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
111749         It mishandled the case where the group was missing.
111750         Problem reported by Greg Schafer.
111751         * modules/idcache: Likewise.
111753 2006-11-18  Jim Meyering  <jim@meyering.net>
111755         * check-module (%exempt_header): Add exception for some
111756         conditionally-included headers.
111758         * modules/i-ring (Depends-on): Add verify.
111759         (License): Change to LGPL.
111761 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
111763         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
111764         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
111765         and inttostr.h.  Use snprintf rather than uinttostr, so that
111766         LGPLed code doesn't depend on GPLed.
111768 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
111770         * modules/inline (License): Change from GPL to LGPL.
111772 2006-11-17  Jim Meyering  <jim@meyering.net>
111774         * modules/d-type (License): Switch to LGPL.
111776 2006-11-15  Bruno Haible  <bruno@clisp.org>
111778         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
111780 2006-11-15  Eric Blake  <ebb9@byu.net>
111782         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
111783         the module dependency.
111785 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
111786             Bruno Haible  <bruno@clisp.org>
111788         * gnulib-tool (func_create_testdir): Add license consistency check.
111790 2006-11-15  Eric Blake  <ebb9@byu.net>
111792         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
111793         random "(cached)" in configure output.
111795 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111797         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
111798         test for conforming inttypes.h is both announced and cached.
111800         * MODULES.html.sh (seen_modules, seen_files): New variables.
111801         (func_module): Rewrite to use a few less gnulib-tool and sed
111802         invocations.  Avoid a couple of quadratic algorithms for ...
111803         (missed_modules, missed_files): ... these, with ...
111804         (func_append, func_tmpdir): ... these new functions, from
111805         gnulib-tool.  Analogously, install traps for cleanup.
111807         * tests/test-gc.c (main): Remove unused variables.
111808         * tests/test-read-file.c: Include stdlib.h, for 'free'.
111810 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
111812         * modules/inttostr (License): Change to LGPL.
111814 2006-11-14  Eric Blake  <ebb9@byu.net>
111816         * modules/tempname (License): Change to LGPL.
111818 2006-11-14  Eric Blake  <ebb9@byu.net>
111820         * doc/functions.texi (Function Portability): *printf functions on
111821         Cygwin now understand all POSIX size specifiers.
111823 2006-11-14  Bruno Haible  <bruno@clisp.org>
111825         * modules/c-ctype (License): Change to LGPL.
111827 2006-11-12  Bruno Haible  <bruno@clisp.org>
111829         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
111830         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
111831         for GNOME libraries, for which the include files are installed in
111832         subdirectories of $prefix/include.
111834 2006-11-12  Bruno Haible  <bruno@clisp.org>
111836         * m4/lib-link.m4: Require at least autoconf-2.54.
111837         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
111838         name to underscores for the --with option.
111840 2006-11-13  Bruno Haible  <bruno@clisp.org>
111842         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
111843         the tests directory.
111844         Reported by Ralf Wildenhues.
111846 2006-11-13  Bruno Haible  <bruno@clisp.org>
111848         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
111849         (func_emit_initmacro_end): Undo the override here.
111850         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
111851         Works around the famous automake error in coreutils.
111853 2006-11-13  Eric Blake  <ebb9@byu.net>
111855         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
111856         element, not its node.
111858 2006-11-12  Bruno Haible  <bruno@clisp.org>
111860         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
111861         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
111863 2006-11-12  Bruno Haible  <bruno@clisp.org>
111865         * gnulib-tool: New option --local-symlink.
111866         (func_usage): Document it.
111867         (lsymbolic): New variable.
111868         (func_import, func_create_testdir): If --symlink was not specified,
111869         test whether --local-symlink was specified and the file comes from
111870         the local_gnulib_dir.
111872 2006-11-12  Bruno Haible  <bruno@clisp.org>
111874         * gnulib-tool (func_ln): New function.
111875         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
111877 2006-11-12  Bruno Haible  <bruno@clisp.org>
111879         Finish support for source files in subdirectories.
111880         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
111881         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
111882         AUTOMAKE_OPTIONS.
111883         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
111885 2006-11-12  Bruno Haible  <bruno@clisp.org>
111887         * gnulib-tool (func_get_automake_snippet): Synthesize also an
111888         EXTRA_lib_SOURCES augmentation.
111889         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
111891 2006-11-12  Jim Meyering  <jim@meyering.net>
111893         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
111894         file descriptors.  This also averts a failure on systems with
111895         native openat support when a traversed directory lacks "x" access.
111896         * lib/fts_.h: Include "i-ring.h"
111897         (struct FTS) [fts_fd_ring]: New member.
111898         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
111899         (FCHDIR): Add parentheses.
111900         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
111901         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
111902         When descending, rather than simply closing the previous
111903         fts_cwd_fd value, push that file descriptor onto the ring.
111904         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
111905         (fts_open): Initialize the new fd_ring member.
111906         (fts_close): Clear the ring.
111907         (fts_safe_changedir): When possible, use our new fd_ring to skip
111908         the diropen and fstat and dev/ino comparison that would normally
111909         accompany a virtual `chdir ("..")'.
111911         * modules/fts (Depends-on): Add i-ring.
111912         * modules/i-ring: New module.
111913         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
111914         * m4/i-ring.m4: New file.
111916 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111918         * gnulib-tool (func_create_testdir): Fix replacement of
111919         `build-aux' in configure.ac.  Run autotools in gltests
111920         subdirectory.
111921         (func_create_testdir, func_create_megatestdir, test): There is
111922         no need for '--force' in most autotool invocations in a new
111923         tree.  Actually fail the whole test if any of the tools, or the
111924         configure or make stages fail.
111926         Sync from Automake.
111927         * build-aux/gnupload: Revert last change.  Add pointer to upload
111928         instructions of the GNU Maintenance Instructions.
111929         Suggestion by Karl Berry.
111931 2006-11-10  Jim Meyering  <jim@meyering.net>
111933         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
111935 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111937         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
111938         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
111939         (bind_textdomain_codeset) [! ENABLE_NLS]:
111940         Evaluate all the arguments.  That way, callers get compatible behavior
111941         if the arguments have side effects.  Also, it avoids some GCC
111942         diagnostics in some cases; Joel E. Denny reported problems when Bison
111943         was configured with --enable-gcc-warnigs.
111945 2006-11-10  Jim Meyering  <jim@meyering.net>
111947         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
111948         relevant options in CFLAGS (like -O, -fno-inline) are taken into
111949         account.
111951 2006-11-10  Jim Meyering  <jim@meyering.net>
111953         * modules/inline: New file/module.
111954         * modules/xalloc (Files): Remove m4/inline.m4.
111955         (Depends-on): Add inline, instead.
111956         * modules/oset: Likewise.
111957         * modules/list: Likewise.
111959 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111961         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
111962         Problem reported by Matthew Woehlke.
111964 2006-11-09  Bruno Haible  <bruno@clisp.org>
111966         * lib/tempname.c (gen_tempname): Remove variant that invokes
111967         __gen_tempname.
111968         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
111969         __gen_tempname.
111971 2006-11-08  Bruno Haible  <bruno@clisp.org>
111973         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
111974         to 'yes' instead of 'cross-compiling'.
111976 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
111978         * lib/quotearg.h (quotearg_free): New decl.
111979         * lib/quotearg.c (quotearg_free): New function.
111980         (slot0, nslots, slotvec0, slotvec):
111981         Now file-scope so that quotearg_free can get at them.
111983 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111985         Sync from Automake.
111986         * build-aux/gnupload: Add missing 'gnu' to example URL.
111987         Report by Karl Berry.
111989 2006-11-08  Bruno Haible  <bruno@clisp.org>
111991         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
111992         Suggested by Paul Eggert.
111994 2006-11-08  Jim Meyering  <jim@meyering.net>
111996         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
111997         It's already included if !_LIBC.
111998         (fts_safe_changedir): Add a comment.
112000 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
112002         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
112003         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
112004         Matthew Woehlke.
112006         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
112007         definitions up, to avoid colliding with change below.
112008         (static_inline) [HAVE_INLINE]: New macro.
112009         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
112010         Provide extern decls when !HAVE_INLINE.  Do not define unless
112011         static_inline is defined, either by us or by xmalloc.c.  Use
112012         static_inline rather than static inline.
112013         (XCALLOC): Optimize sizeof(T) = 1 case.
112014         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
112016 2006-11-07  Bruno Haible  <bruno@clisp.org>
112018         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
112019         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
112020         AC_C_INLINE.
112021         * modules/xalloc (Files): Add m4/inline.m4.
112023 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112025         * README: Fix typo.
112026         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
112027         (Miscellanous Notes): ...from this.
112029 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
112031         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
112032         Mention that offsetof should be used instead of sizeof.
112033         From Bruno Haible.
112035 2006-11-07  Bruno Haible  <bruno@clisp.org>
112037         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
112039 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
112041         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
112042         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
112043         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
112044         (gl_tree_add_before, gl_tree_add_after):
112045         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
112046         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
112047         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
112048         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
112049         (gl_linked_add_after, gl_linked_add_at): Likewise.
112050         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
112051         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
112052         (gl_tree_add_before, gl_tree_add_after): Likewise.
112053         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
112054         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
112055         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
112057 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112059         * lib/gl_oset.h: Use C comment style, not C++ comment style.
112061 2006-11-06  Bruno Haible  <bruno@clisp.org>
112063         * m4/inline.m4: New file.
112064         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
112065         * modules/list (Files): Add m4/inline.m4.
112066         * modules/oset (Files): Likewise.
112068 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
112070         * lib/idcache.c: Include <stddef.h>, for offsetof.
112071         (struct userid.name): Change from char * to a flexible array member.
112072         All uses changed.
112073         * modules/idcache (Depends-on): Add flexmember.
112075         * MODULES.html.sh (Core language properties): New module flexmember.
112076         * modules/flexmember, m4/flexmember.m4: New files.
112078         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
112079         inline functions that are identical with the old xnmalloc_inline,
112080         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
112081         that we can avoid some unnecessary integer multiplications and
112082         divisions in the common case where the element size is known at
112083         compile time.
112084         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
112085         needed.
112086         (xnboundedmalloc): Remove.
112087         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
112088         arguments, for consistency with rest of this header.
112089         (xcharalloc): Rewrite using XNMALLOC.
112090         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
112091         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
112092         versions have been moved to lib/xalloc.h and renamed to be the
112093         non-*_inline versions.
112094         (xmalloc, xrealloc): Implement without reference to the xnmalloc
112095         and xnrealloc functions, since those functions are now inline and
112096         now call us.
112097         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
112098         renaming described above.
112099         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
112100         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
112101         captures the dependency in AC_C_INLINE.
112103         New module canonicalize-lgpl, proposed by Charles Wilson in
112104         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
112105         with a few small changes afterwards.
112106         * MODULES.html.sh (File system functions): New module
112107         canonicalize-lgpl.
112108         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
112109         and canonicalize_file_name.
112110         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
112111         * modules/canonicalize-lgpl: New files.
112113 2006-11-05  Bruno Haible  <bruno@clisp.org>
112115         * gnulib-tool (func_import, func_create_testdir): Create directories
112116         also for files in subdirectories of lib/.
112118 2006-11-05  Bruno Haible  <bruno@clisp.org>
112120         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
112121         ANSI C compliant.
112123 2006-11-03  Bruno Haible  <bruno@clisp.org>
112125         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
112126         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
112127         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
112128         (xnboundedmalloc): New inline function.
112129         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
112130         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
112131         xmalloc.
112132         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
112133         xmalloc.
112134         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
112135         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
112136         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
112137         xmalloc.
112138         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
112139         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
112140         xmalloc.
112141         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
112142         gl_tree_add_after): Use XMALLOC instead of xmalloc.
112143         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
112144         xmalloc.
112145         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
112146         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
112147         gl_tree_add_after): Use XMALLOC instead of xmalloc.
112148         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
112149         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
112150         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
112151         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
112153 2006-11-03  Bruno Haible  <bruno@clisp.org>
112155         * lib/c-ctype.h [C++]: Define functions without name mangling.
112156         * lib/fwriteerror.h [C++]: Likewise.
112157         * lib/gcd.h [C++]: Likewise.
112158         * lib/linebreak.h [C++]: Likewise.
112160 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
112162         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
112163         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
112164         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
112165         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
112166         Check for functions and headers just once.
112167         Check for declaration of canonicalize_file_name.
112168         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
112170 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112172         * gnulib-tool (func_import): Fix typo in actioncmd.
112174 2006-11-02  Bruno Haible  <bruno@clisp.org>
112176         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
112177         newline sequence in the Makefile.am snippet as a space, like "make"
112178         does.
112179         Reported by Roger Persson <perrog@gmail.com>.
112181 2006-11-01  Bruno Haible  <bruno@clisp.org>
112183         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
112184         already declared in <string.h>.
112185         * lib/strcase.h (strncasecmp): Don't declare it if yes.
112187 2006-11-01  Bruno Haible  <bruno@clisp.org>
112189         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
112190         * lib/strcase.h: Include <string.h>.
112191         (strcasecmp): Define to rpl_strcasecmp here.
112193 2006-11-01  Bruno Haible  <bruno@clisp.org>
112195         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
112197 2006-11-01  Eric Blake  <ebb9@byu.net>
112199         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
112201         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
112203 2006-10-29  Bruno Haible  <bruno@clisp.org>
112205         Make it compile in C++ mode.
112206         * lib/full-write.c (full_rw): Add a cast.
112208 2006-11-01  Bruno Haible  <bruno@clisp.org>
112210         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
112211         be POSIX compliant.
112212         Reported by Roger Persson <perrog@gmail.com>.
112214 2006-11-01  Eric Blake  <ebb9@byu.net>
112216         * lib/getopt_.h: Fix comments.
112218 2006-10-31  Eric Blake  <ebb9@byu.net>
112220         * modules/tmpdir (Depends-on): Add sys_stat.
112221         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
112222         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
112223         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
112224         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
112225         tempname.
112227 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
112229         Avoid some C++ diagnostics reported by Bruno Haible.
112230         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
112231         xmalloc.
112232         (quotearg_alloc): Use xcharalloc rather than xmalloc.
112233         (struct slotvec): Move to top level.
112234         (quotearg_n_options): Rewrite to avoid xmalloc.
112235         * lib/xalloc.h (xcharalloc): New function.
112236         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
112237         [defined __cplusplus]: Add function template that provides result
112238         type propagation.  This part of the change is from Bruno Haible.
112240 2006-10-29  Bruno Haible  <bruno@clisp.org>
112242         Make it compile in C++ mode.
112243         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
112244         * lib/strnlen1.c (strnlen1): Cast memchr result.
112245         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
112246         * lib/clean-temp.c (string_equals, string_hash): Add casts.
112247         (create_temp_dir): Rename local variable 'template'.
112248         (compile_csharp_using_sscli): Add cast.
112249         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
112250         * lib/findprog.c (find_in_path): Likewise.
112251         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
112252         * lib/wait-process.c (register_slave_subprocess): Likewise.
112254 2006-10-22  Bruno Haible  <bruno@clisp.org>
112256         * modules/tsearch: New file.
112257         * lib/tsearch.h: New file.
112258         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
112259         * m4/tsearch.m4: New file.
112260         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
112262 2006-10-29  Eric Blake  <ebb9@byu.net>
112264         * lib/arcfour.c: Assume config.h.
112265         * lib/arctwo.c: Likewise.
112266         * lib/base64.c: Likewise.
112267         * lib/check-version.c: Likewise.
112268         * lib/crc.c: Likewise.
112269         * lib/des.c: Likewise.
112270         * lib/gc-gnulib.c: Likewise.
112271         * lib/gc-libgcrypt.c: Likewise.
112272         * lib/gc-pbkdf2-sha1.c: Likewise.
112273         * lib/getaddrinfo.c: Likewise.
112274         * lib/getdelim.c: Likewise.
112275         * lib/getline.c: Likewise.
112276         * lib/hmac-md5.c: Likewise.
112277         * lib/hmac-sha1.c: Likewise.
112278         * lib/iconvme.c: Likewise.
112279         * lib/md2.c: Likewise.
112280         * lib/md4.c: Likewise.
112281         * lib/memxor.c: Likewise.
112282         * lib/read-file.c: Likewise.
112283         * lib/readline.c: Likewise.
112284         * lib/rijndael-alg-fst.c: Likewise.
112285         * lib/rijndael-api-fst.c: Likewise.
112286         * lib/xgetdomainname.c: Likewise.
112288 2006-10-28  Eric Blake  <ebb9@byu.net>
112290         * lib/xstrndup.c: Assume config.h.
112292 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
112294         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
112295         stat-macros.h is now for our own macros, whereas stat_h is for
112296         macros in the <sys/stat.h> name space.
112297         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
112298         (STAT_MACROS_H): Remove.
112299         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
112300         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
112301         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
112302         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
112303         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
112304         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
112305         Move these macros to ...
112306         * lib/stat_.h: here.  Don't include stat-macros.h.
112307         * lib/canonicalize.c: Don't include stat-macros.h.
112308         * lib/chown.c: Likewise.
112309         * lib/euidaccess.c: Likewise.
112310         * lib/file-type.c: Likewise.
112311         * lib/filemode.c: Likewise.
112312         * lib/glob.c: Likewise.
112313         * lib/isapipe.c: Likewise.
112314         * lib/lchown.c: Likewise.
112315         * lib/lstat.c: Likewise.
112316         * lib/mkdir-p.c: Likewise.
112317         * lib/rmdir.c: Likewise.
112318         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
112319         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
112320         unless mkdir isn't declared, to speed up 'configure'.
112321         Always create sys/stat.h, since it's unlikely any real sys/stat.h
112322         would define all the S_* symbols.
112323         * modules/canonicalize (Depends-on):
112324         Depend on sys_stat, not stat-macros.
112325         * modules/chown: Likewise.
112326         * modules/euidaccess: Likewise.
112327         * modules/filemode: Likewise.
112328         * modules/file-type: Likewise.
112329         * modules/glob: Likewise.
112330         * modules/isapipe: Likewise.
112331         * modules/lchown: Likewise.
112332         * modules/lstat: Likewise.
112333         * modules/mkancesdirs: Likewise.
112334         * modules/rmdir: Likewise.
112335         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
112336         * modules/modechange: Likewise.
112337         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
112338         (configure.ac): Remove gl_STAT_MACROS.
112339         * modules/sys_stat (Depends-on): Remove stat-macros.
112341 2006-10-27  Bruno Haible  <bruno@clisp.org>
112343         * m4/signed.m4: Remove file.
112344         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
112345         invocation.
112346         * modules/vasnprintf (Files): Remove m4/signed.m4.
112348 2006-10-27  Bruno Haible  <bruno@clisp.org>
112350         Update to GNU gettext 0.16.
112351         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
112352         m4/inttypes-h.m4, m4/signed.m4.
112353         * m4/gettext.m4: Update to GNU gettext 0.16.
112354         * m4/intl.m4: New file, from GNU gettext.
112355         * m4/intldir.m4: New file, from GNU gettext.
112356         * config/srclist.txt: Update
112358 2006-10-27  Eric Blake  <ebb9@byu.net>
112360         * MODULES.html.sh: Document tempname.
112361         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
112362         dependencies.
112363         (Files): Move lib/tempname.c...
112364         * modules/tempname: ...to this new module.
112365         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
112366         (gl_PREREQ_TEMPNAME): Move...
112367         * m4/tempname.m4: ...to this new file.
112368         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
112369         * modules/sys_stat (Depends-on): Add stat-macros.
112370         * lib/stat_.h (includes): Pick up stat macros.
112371         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
112372         if stat macros are broken.
112373         * lib/tempname.c (includes): No need to include "stat-macros.h".
112374         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
112375         (direxists, __path_search) [!_LIBC]: Don't compile these in
112376         gnulib; the tmpdir module covers that.
112377         * lib/tempname.h: New file.
112379 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
112381         * COPYING: Explain how gnulib-tool converts licence headers.
112382         Almost all wording by Eric Blake.
112384 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
112386         * lib/mbchar.h (is_basic_table): Make read-only.
112387         * lib/mbchar.c (is_basic_table): Likewise.
112388         Reported by John Darrington.
112390 2006-10-25  Bruno Haible  <bruno@clisp.org>
112392         * lib/progname.h (set_program_name): Undefine before defining.
112394 2006-10-25  Bruno Haible  <bruno@clisp.org>
112396         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
112397         false for non-gcc C++ compilers.
112398         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
112400 2006-10-24  Bruno Haible  <bruno@clisp.org>
112402         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
112403         iconv implementations like Irix iconv.
112405 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112407         * modules/vararrays: New file.
112408         * m4/vararrays.m4: New file, taken from diffutils.
112409         * MODULES.html.sh: New module vararrays.
112411 2006-10-24  Karl Berry  <karl@gnu.org>
112413         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
112414         Don't call GNU Unix.
112416 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112418         * users.txt: Add Libtool.
112420         Sync from Libtool:
112422         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112424         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
112425         to gnulib's policy of including config.h unconditionally.
112427 2006-10-24  Bruno Haible  <bruno@clisp.org>
112429         * modules/wcwidth (Files): Add m4/wint_t.m4.
112430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
112431         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
112433 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112435         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
112436         to pacify GCC with some -W flags enabled.  Problem reported by
112437         Bruno Haible.
112439 2006-10-24  Jim Meyering  <jim@meyering.net>
112441         * MODULES.html.sh: Remove uinttostr.  It's not a module.
112442         Reported by Karl Berry.
112444 2006-10-23  Bruno Haible  <bruno@clisp.org>
112446         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
112448 2006-10-24  Bruno Haible  <bruno@clisp.org>
112450         * lib/gl_list.h: Use C comment style, not C++ comment style.
112452 2006-10-23  Eric Blake  <ebb9@byu.net>
112454         * lib/getaddrinfo.c (includes): Add missing include.
112456 2006-10-23  Bruno Haible  <bruno@clisp.org>
112457             Paul Eggert  <eggert@cs.ucla.edu>
112459         Ability to rename obstack_free.
112460         * lib/obstack.h (__obstack_free): New macro. Declare instead of
112461         obstack_free.
112462         (obstack_free): Invoke the __obstack_free macro.
112463         * lib/obstack.c (obstack_free): Use __obstack_free macro.
112465 2006-10-23  Bruno Haible  <bruno@clisp.org>
112466             Paul Eggert  <eggert@cs.ucla.edu>
112468         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
112469         __argc, __argv from the declaration. (They are defined as macros on
112470         mingw.)
112472 2006-10-22  Bruno Haible  <bruno@clisp.org>
112474         * doc/gnulib-intro.texi: New file.
112475         * doc/gnulib.texi: Include it.
112477 2006-10-21  Bruno Haible  <bruno@clisp.org>
112479         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
112480         "Introduction", "Miscellanous Notes", "Particular Modules".
112482 2006-10-21  Bruno Haible  <bruno@clisp.org>
112484         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112485         Change mostlyclean-local rule to avoid sh syntax error from bash
112486         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
112488 2006-10-23  Jim Meyering  <jim@meyering.net>
112490         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
112491         in place of snprintf.
112493         * modules/inttostr (Files): Add lib/uinttostr.c.
112494         * lib/uinttostr.c (inttostr): New file/function.
112495         * lib/inttostr.h (uinttostr): Declare.
112496         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
112497         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
112498         Add uinttostr.
112499         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
112501 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112503         * lib/canonicalize.c (ELOOP): Define if not already defined.
112504         Problem reported by Bruno Haible in
112505         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
112507 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112509         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
112510         Problem reported by Perry Smith and Ville Laurikari.
112512         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
112513         uses.
112515 2006-10-19  Bruno Haible  <bruno@clisp.org>
112517         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
112518         for mingw.
112520 2006-10-19  Bruno Haible  <bruno@clisp.org>
112522         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
112523         Needed for mingw.
112525 2006-10-19  Bruno Haible  <bruno@clisp.org>
112527         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
112529 2006-10-19  Bruno Haible  <bruno@clisp.org>
112531         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
112532         it.
112534 2006-10-19  Bruno Haible  <bruno@clisp.org>
112536         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
112537         invocation.
112539 2006-10-19  Bruno Haible  <bruno@clisp.org>
112541         * gnulib-tool (func_create_testdir): Don't include ftruncate and
112542         mountlist by default.
112544 2006-10-16  Bruno Haible  <bruno@clisp.org>
112546         * lib/c-strstr.c: Include c-strstr.h.
112548 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112550         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
112551         in a slash.
112553 2006-10-18  Bruno Haible  <bruno@clisp.org>
112555         * lib/lock.h [C++]: Wrap definitions in extern "C".
112557 2006-10-18  Bruno Haible  <bruno@clisp.org>
112559         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
112560         gl_LIBOBJS list.
112562 2006-10-18  Bruno Haible  <bruno@clisp.org>
112564         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
112566 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
112568         * lib/xstrtol.h: Include gettext.h.
112569         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
112570         Problem reported by Eric Blake.
112571         * modules/xstrtol (Depends-on): Add gettext-h.
112573 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
112575         * lib/strftime.c (advance): New macro.
112576         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
112577         incomplete type, so you can't add 0 to it.  Problem and patch
112578         reported by Eelco Dolstra for dietlibc.
112580 2006-10-18  Jim Meyering  <jim@meyering.net>
112582         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
112583         type for a local, and rename it: s/up/user_proc/.
112585 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
112587         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
112588         READ_UTMP_USER_PROCESS.
112589         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
112591 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
112593         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
112594         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
112596 2006-10-17  Eric Blake  <ebb9@byu.net>
112598         * lib/sigprocmask.c (sigprocmask): Fix typo.
112600         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
112602         * modules/clean-temp (Makefile.am): Don't add to make output...
112603         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
112604         config.h.
112606 2006-10-17  Bruno Haible  <bruno@clisp.org>
112608         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
112609         differently if DEFAULT_TEXT_DOMAIN is set.
112611 2006-10-16  Bruno Haible  <bruno@clisp.org>
112613         * lib/clean-temp.c: Include fwriteerror.h.
112615 2006-10-16  Bruno Haible  <bruno@clisp.org>
112617         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
112619 2006-10-16  Bruno Haible  <bruno@clisp.org>
112621         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
112622         * lib/sigprocmask.h: Include <sys/types.h>.
112623         (sigset_t): Use the system's definition if present.
112625 2006-10-17  Eric Blake  <ebb9@byu.net>
112627         * lib/xvasprintf.c (includes): Assume config.h.
112628         * lib/xasprintf.c (includes): Likewise.
112630 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
112632         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
112633         at least as wide as intmax_t.
112635 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
112637         (Imported from Automake.)
112638         * build-aux/gnupload: Update to version 1.1 of directive file.
112640 2006-10-16  Eric Blake  <ebb9@byu.net>
112642         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
112643         match Automake 1.10a.
112645 2006-10-14  Bruno Haible  <bruno@clisp.org>
112647         * modules/sigprocmask: New file.
112648         * lib/sigprocmask.h: New file.
112649         * lib/sigprocmask.c: New file.
112650         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
112651         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
112652         request sigprocmask.o.
112653         (gl_PREREQ_SIGPROCMASK): New macro.
112654         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
112655         (Depends-on): Add sigprocmask.
112656         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
112657         gt_SIGNALBLOCKING. Test for 'raise' only once.
112658         * lib/fatal-signal.c: Include sigprocmask.h.
112659         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
112660         unblock_fatal_signals): Define always.
112661         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
112662         sigprocmask.
112664 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
112666         Sync from Automake.
112667         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
112668         which incorrectly sets the mode of an existing destination
112669         directory.  In some cases the unpatched install-sh could do the
112670         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
112671         system.  We hope this is rare in practice, but it's clearly worth
112672         fixing.  Problem reported by Alex Unleashed in
112673         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
112674         Also, don't bother to check for -m bugs unless we're using -m;
112675         suggested by Stepan Kasal.
112677 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112679         Sync from Automake.
112680         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
112681         `-c' flag, so they appear at the same position as in %FASTDEP%
112682         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
112683         which ignores unknown options only after the first non-option.
112684         Bug report against M4 by Nelson H. F. Beebe.
112686 2006-10-13  Jim Meyering  <jim@meyering.net>
112688         Fix a bug in yesterday's change.
112689         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
112690         p->fts_statp->st_dev would be used uninitialized.
112691         Ensures that we always call fts_stat on the very first entry.
112692         Miklos Szeredi reported that find -xdev stopped working.
112694 2006-10-12  Bruno Haible  <bruno@clisp.org>
112696         * gnulib-tool (func_get_automake_snippet): Append an automatically
112697         computed EXTRA_DIST augmentation.
112698         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
112699         * modules/alloca-opt (Makefile.am): Likewise.
112700         * modules/allocsa (Makefile.am): Likewise.
112701         * modules/arcfour (Makefile.am): Likewise.
112702         * modules/arctwo (Makefile.am): Likewise.
112703         * modules/argmatch (Makefile.am): Likewise.
112704         * modules/argz (Makefile.am): Likewise.
112705         * modules/atexit (Makefile.am): Likewise.
112706         * modules/backupfile (Makefile.am): Likewise.
112707         * modules/byteswap (Makefile.am): Likewise.
112708         * modules/c-strtod (Makefile.am): Likewise.
112709         * modules/c-strtold (Makefile.am): Likewise.
112710         * modules/calloc (Makefile.am): Likewise.
112711         * modules/canon-host (Makefile.am): Likewise.
112712         * modules/canonicalize (Makefile.am): Likewise.
112713         * modules/chdir-long (Makefile.am): Likewise.
112714         * modules/chdir-safer (Makefile.am): Likewise.
112715         * modules/check-version (Makefile.am): Likewise.
112716         * modules/chown (Makefile.am): Likewise.
112717         * modules/cloexec (Makefile.am): Likewise.
112718         * modules/close-stream (Makefile.am): Likewise.
112719         * modules/closeout (Makefile.am): Likewise.
112720         * modules/crc (Makefile.am): Likewise.
112721         * modules/csharpexec (Makefile.am): Likewise.
112722         * modules/cycle-check (Makefile.am): Likewise.
112723         * modules/des (Makefile.am): Likewise.
112724         * modules/dev-ino (Makefile.am): Likewise.
112725         * modules/dirfd (Makefile.am): Likewise.
112726         * modules/dirname (Makefile.am): Likewise.
112727         * modules/dup2 (Makefile.am): Likewise.
112728         * modules/eealloc (Makefile.am): Likewise.
112729         * modules/error (Makefile.am): Likewise.
112730         * modules/euidaccess (Makefile.am): Likewise.
112731         * modules/exclude (Makefile.am): Likewise.
112732         * modules/exitfail (Makefile.am): Likewise.
112733         * modules/fcntl-safer (Makefile.am): Likewise.
112734         * modules/fcntl (Makefile.am): Likewise.
112735         * modules/file-type (Makefile.am): Likewise.
112736         * modules/fileblocks (Makefile.am): Likewise.
112737         * modules/filemode (Makefile.am): Likewise.
112738         * modules/filenamecat (Makefile.am): Likewise.
112739         * modules/fnmatch (Makefile.am): Likewise.
112740         * modules/fopen-safer (Makefile.am): Likewise.
112741         * modules/fpending (Makefile.am): Likewise.
112742         * modules/fprintftime (Makefile.am): Likewise.
112743         * modules/free (Makefile.am): Likewise.
112744         * modules/fsusage (Makefile.am): Likewise.
112745         * modules/ftruncate (Makefile.am): Likewise.
112746         * modules/fts (Makefile.am): Likewise.
112747         * modules/gc-arcfour (Makefile.am): Likewise.
112748         * modules/gc-des (Makefile.am): Likewise.
112749         * modules/gc-hmac-md5 (Makefile.am): Likewise.
112750         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
112751         * modules/gc-md4 (Makefile.am): Likewise.
112752         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112753         * modules/gc-sha1 (Makefile.am): Likewise.
112754         * modules/gc (Makefile.am): Likewise.
112755         * modules/getaddrinfo (Makefile.am): Likewise.
112756         * modules/getcwd (Makefile.am): Likewise.
112757         * modules/getdelim (Makefile.am): Likewise.
112758         * modules/getdomainname (Makefile.am): Likewise.
112759         * modules/getgroups (Makefile.am): Likewise.
112760         * modules/gethostname (Makefile.am): Likewise.
112761         * modules/gethrxtime (Makefile.am): Likewise.
112762         * modules/getline (Makefile.am): Likewise.
112763         * modules/getloadavg (Makefile.am): Likewise.
112764         * modules/getlogin_r (Makefile.am): Likewise.
112765         * modules/getndelim2 (Makefile.am): Likewise.
112766         * modules/getopt (Makefile.am): Likewise.
112767         * modules/getpagesize (Makefile.am): Likewise.
112768         * modules/getpass-gnu (Makefile.am): Likewise.
112769         * modules/getpass (Makefile.am): Likewise.
112770         * modules/getsubopt (Makefile.am): Likewise.
112771         * modules/gettime (Makefile.am): Likewise.
112772         * modules/gettimeofday (Makefile.am): Likewise.
112773         * modules/getugroups (Makefile.am): Likewise.
112774         * modules/getusershell (Makefile.am): Likewise.
112775         * modules/glob (Makefile.am): Likewise.
112776         * modules/group-member (Makefile.am): Likewise.
112777         * modules/hard-locale (Makefile.am): Likewise.
112778         * modules/hash (Makefile.am): Likewise.
112779         * modules/hmac-md5 (Makefile.am): Likewise.
112780         * modules/hmac-sha1 (Makefile.am): Likewise.
112781         * modules/human (Makefile.am): Likewise.
112782         * modules/idcache (Makefile.am): Likewise.
112783         * modules/imaxabs (Makefile.am): Likewise.
112784         * modules/imaxdiv (Makefile.am): Likewise.
112785         * modules/inet_ntop (Makefile.am): Likewise.
112786         * modules/inet_pton (Makefile.am): Likewise.
112787         * modules/intprops (Makefile.am): Likewise.
112788         * modules/inttostr (Makefile.am): Likewise.
112789         * modules/inttypes (Makefile.am): Likewise.
112790         * modules/isapipe (Makefile.am): Likewise.
112791         * modules/javaversion (Makefile.am): Likewise.
112792         * modules/lchmod (Makefile.am): Likewise.
112793         * modules/lchown (Makefile.am): Likewise.
112794         * modules/localcharset (Makefile.am): Likewise.
112795         * modules/long-options (Makefile.am): Likewise.
112796         * modules/lstat (Makefile.am): Likewise.
112797         * modules/malloc (Makefile.am): Likewise.
112798         * modules/mathl (Makefile.am): Likewise.
112799         * modules/mbchar (Makefile.am): Likewise.
112800         * modules/md2 (Makefile.am): Likewise.
112801         * modules/md4 (Makefile.am): Likewise.
112802         * modules/md5 (Makefile.am): Likewise.
112803         * modules/memcasecmp (Makefile.am): Likewise.
112804         * modules/memchr (Makefile.am): Likewise.
112805         * modules/memcmp (Makefile.am): Likewise.
112806         * modules/memcoll (Makefile.am): Likewise.
112807         * modules/memcpy (Makefile.am): Likewise.
112808         * modules/memmem (Makefile.am): Likewise.
112809         * modules/memmove (Makefile.am): Likewise.
112810         * modules/mempcpy (Makefile.am): Likewise.
112811         * modules/memrchr (Makefile.am): Likewise.
112812         * modules/memset (Makefile.am): Likewise.
112813         * modules/memxor (Makefile.am): Likewise.
112814         * modules/mkancesdirs (Makefile.am): Likewise.
112815         * modules/mkdir-p (Makefile.am): Likewise.
112816         * modules/mkdir (Makefile.am): Likewise.
112817         * modules/mkdtemp (Makefile.am): Likewise.
112818         * modules/mkstemp (Makefile.am): Likewise.
112819         * modules/mktime (Makefile.am): Likewise.
112820         * modules/modechange (Makefile.am): Likewise.
112821         * modules/mountlist (Makefile.am): Likewise.
112822         * modules/nanosleep (Makefile.am): Likewise.
112823         * modules/obstack (Makefile.am): Likewise.
112824         * modules/openat (Makefile.am): Likewise.
112825         * modules/pagealign_alloc (Makefile.am): Likewise.
112826         * modules/pathmax (Makefile.am): Likewise.
112827         * modules/physmem (Makefile.am): Likewise.
112828         * modules/poll (Makefile.am): Likewise.
112829         * modules/posixtm (Makefile.am): Likewise.
112830         * modules/posixver (Makefile.am): Likewise.
112831         * modules/putenv (Makefile.am): Likewise.
112832         * modules/quote (Makefile.am): Likewise.
112833         * modules/quotearg (Makefile.am): Likewise.
112834         * modules/raise (Makefile.am): Likewise.
112835         * modules/read-file (Makefile.am): Likewise.
112836         * modules/readline (Makefile.am): Likewise.
112837         * modules/readlink (Makefile.am): Likewise.
112838         * modules/readtokens (Makefile.am): Likewise.
112839         * modules/readutmp (Makefile.am): Likewise.
112840         * modules/realloc (Makefile.am): Likewise.
112841         * modules/regex (Makefile.am): Likewise.
112842         * modules/rename-dest-slash (Makefile.am): Likewise.
112843         * modules/rename (Makefile.am): Likewise.
112844         * modules/rijndael (Makefile.am): Likewise.
112845         * modules/rmdir (Makefile.am): Likewise.
112846         * modules/rpmatch (Makefile.am): Likewise.
112847         * modules/safe-read (Makefile.am): Likewise.
112848         * modules/safe-write (Makefile.am): Likewise.
112849         * modules/same-inode (Makefile.am): Likewise.
112850         * modules/same (Makefile.am): Likewise.
112851         * modules/save-cwd (Makefile.am): Likewise.
112852         * modules/savedir (Makefile.am): Likewise.
112853         * modules/setenv (Makefile.am): Likewise.
112854         * modules/settime (Makefile.am): Likewise.
112855         * modules/sha1 (Makefile.am): Likewise.
112856         * modules/sig2str (Makefile.am): Likewise.
112857         * modules/snprintf (Makefile.am): Likewise.
112858         * modules/stat-macros (Makefile.am): Likewise.
112859         * modules/stat-time (Makefile.am): Likewise.
112860         * modules/stdbool (Makefile.am): Likewise.
112861         * modules/stdint (Makefile.am): Likewise.
112862         * modules/stdlib-safer (Makefile.am): Likewise.
112863         * modules/stpcpy (Makefile.am): Likewise.
112864         * modules/stpncpy (Makefile.am): Likewise.
112865         * modules/strcase (Makefile.am): Likewise.
112866         * modules/strcasestr (Makefile.am): Likewise.
112867         * modules/strchrnul (Makefile.am): Likewise.
112868         * modules/strcspn (Makefile.am): Likewise.
112869         * modules/strdup (Makefile.am): Likewise.
112870         * modules/strerror (Makefile.am): Likewise.
112871         * modules/strftime (Makefile.am): Likewise.
112872         * modules/strndup (Makefile.am): Likewise.
112873         * modules/strnlen (Makefile.am): Likewise.
112874         * modules/strpbrk (Makefile.am): Likewise.
112875         * modules/strsep (Makefile.am): Likewise.
112876         * modules/strstr (Makefile.am): Likewise.
112877         * modules/strtod (Makefile.am): Likewise.
112878         * modules/strtoimax (Makefile.am): Likewise.
112879         * modules/strtok_r (Makefile.am): Likewise.
112880         * modules/strtol (Makefile.am): Likewise.
112881         * modules/strtoll (Makefile.am): Likewise.
112882         * modules/strtoul (Makefile.am): Likewise.
112883         * modules/strtoull (Makefile.am): Likewise.
112884         * modules/strtoumax (Makefile.am): Likewise.
112885         * modules/strverscmp (Makefile.am): Likewise.
112886         * modules/sys_socket (Makefile.am): Likewise.
112887         * modules/sys_stat (Makefile.am): Likewise.
112888         * modules/sysexits (Makefile.am): Likewise.
112889         * modules/time_r (Makefile.am): Likewise.
112890         * modules/timegm (Makefile.am): Likewise.
112891         * modules/timespec (Makefile.am): Likewise.
112892         * modules/tmpfile-safer (Makefile.am): Likewise.
112893         * modules/trim (Makefile.am): Likewise.
112894         * modules/unistd-safer (Makefile.am): Likewise.
112895         * modules/unlinkdir (Makefile.am): Likewise.
112896         * modules/unlocked-io (Makefile.am): Likewise.
112897         * modules/userspec (Makefile.am): Likewise.
112898         * modules/utime (Makefile.am): Likewise.
112899         * modules/utimecmp (Makefile.am): Likewise.
112900         * modules/utimens (Makefile.am): Likewise.
112901         * modules/vasnprintf (Makefile.am): Likewise.
112902         * modules/vasprintf (Makefile.am): Likewise.
112903         * modules/vsnprintf (Makefile.am): Likewise.
112904         * modules/xalloc (Makefile.am): Likewise.
112905         * modules/xgetcwd (Makefile.am): Likewise.
112906         * modules/xnanosleep (Makefile.am): Likewise.
112907         * modules/xreadlink (Makefile.am): Likewise.
112908         * modules/xstrtod (Makefile.am): Likewise.
112909         * modules/xstrtol (Makefile.am): Likewise.
112910         * modules/xstrtold (Makefile.am): Likewise.
112911         * modules/yesno (Makefile.am): Likewise.
112912         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
112914 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112916         * modules/error (Makefile.am): Distribute files through
112917         EXTRA_DIST, not lib_SOURCES.
112919 2006-10-12  Eric Blake  <ebb9@byu.net>
112921         * modules/error (Makefile.am): Distribute files in /lib.
112922         * modules/obstack (Makefile.am): Likewise.
112924 2006-10-12  Bruno Haible  <bruno@clisp.org>
112926         * modules/acl (Makefile.am): Distribute all files in lib/ through
112927         EXTRA_DIST.
112928         * modules/arcfour (Makefile.am): Likewise.
112929         * modules/arctwo (Makefile.am): Likewise.
112930         * modules/argmatch (Makefile.am): Likewise.
112931         * modules/argz (Makefile.am): Likewise.
112932         * modules/atexit (Makefile.am): Likewise.
112933         * modules/backupfile (Makefile.am): Likewise.
112934         * modules/c-strtod (Makefile.am): Likewise.
112935         * modules/c-strtold (Makefile.am): Likewise.
112936         * modules/calloc (Makefile.am): Likewise.
112937         * modules/canon-host (Makefile.am): Likewise.
112938         * modules/canonicalize (Makefile.am): Likewise.
112939         * modules/chdir-long (Makefile.am): Likewise.
112940         * modules/chdir-safer (Makefile.am): Likewise.
112941         * modules/check-version (Makefile.am): Likewise.
112942         * modules/chown (Makefile.am): Likewise.
112943         * modules/cloexec (Makefile.am): Likewise.
112944         * modules/close-stream (Makefile.am): Likewise.
112945         * modules/closeout (Makefile.am): Likewise.
112946         * modules/crc (Makefile.am): Likewise.
112947         * modules/cycle-check (Makefile.am): Likewise.
112948         * modules/des (Makefile.am): Likewise.
112949         * modules/dirfd (Makefile.am): Likewise.
112950         * modules/dirname (Makefile.am): Likewise.
112951         * modules/dup2 (Makefile.am): Likewise.
112952         * modules/euidaccess (Makefile.am): Likewise.
112953         * modules/exclude (Makefile.am): Likewise.
112954         * modules/exitfail (Makefile.am): Likewise.
112955         * modules/fcntl-safer (Makefile.am): Likewise.
112956         * modules/file-type (Makefile.am): Likewise.
112957         * modules/fileblocks (Makefile.am): Likewise.
112958         * modules/filemode (Makefile.am): Likewise.
112959         * modules/filenamecat (Makefile.am): Likewise.
112960         * modules/fnmatch (Makefile.am): Likewise.
112961         * modules/fopen-safer (Makefile.am): Likewise.
112962         * modules/fpending (Makefile.am): Likewise.
112963         * modules/fprintftime (Makefile.am): Likewise.
112964         * modules/free (Makefile.am): Likewise.
112965         * modules/fsusage (Makefile.am): Likewise.
112966         * modules/ftruncate (Makefile.am): Likewise.
112967         * modules/fts (Makefile.am): Likewise.
112968         * modules/gc (Makefile.am): Likewise.
112969         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112970         * modules/getaddrinfo (Makefile.am): Likewise.
112971         * modules/getcwd (Makefile.am): Likewise.
112972         * modules/getdelim (Makefile.am): Likewise.
112973         * modules/getdomainname (Makefile.am): Likewise.
112974         * modules/getgroups (Makefile.am): Likewise.
112975         * modules/gethostname (Makefile.am): Likewise.
112976         * modules/gethrxtime (Makefile.am): Likewise.
112977         * modules/getline (Makefile.am): Likewise.
112978         * modules/getloadavg (Makefile.am): Likewise.
112979         * modules/getlogin_r (Makefile.am): Likewise.
112980         * modules/getopt (Makefile.am): Likewise.
112981         * modules/getpass (Makefile.am): Likewise.
112982         * modules/getpass-gnu (Makefile.am): Likewise.
112983         * modules/getsubopt (Makefile.am): Likewise.
112984         * modules/gettime (Makefile.am): Likewise.
112985         * modules/gettimeofday (Makefile.am): Likewise.
112986         * modules/getugroups (Makefile.am): Likewise.
112987         * modules/getusershell (Makefile.am): Likewise.
112988         * modules/glob (Makefile.am): Likewise.
112989         * modules/group-member (Makefile.am): Likewise.
112990         * modules/hard-locale (Makefile.am): Likewise.
112991         * modules/hash (Makefile.am): Likewise.
112992         * modules/hmac-md5 (Makefile.am): Likewise.
112993         * modules/hmac-sha1 (Makefile.am): Likewise.
112994         * modules/human (Makefile.am): Likewise.
112995         * modules/idcache (Makefile.am): Likewise.
112996         * modules/imaxabs (Makefile.am): Likewise.
112997         * modules/imaxdiv (Makefile.am): Likewise.
112998         * modules/inet_ntop (Makefile.am): Likewise.
112999         * modules/inet_pton (Makefile.am): Likewise.
113000         * modules/inttostr (Makefile.am): Likewise.
113001         * modules/isapipe (Makefile.am): Likewise.
113002         * modules/lchown (Makefile.am): Likewise.
113003         * modules/long-options (Makefile.am): Likewise.
113004         * modules/lstat (Makefile.am): Likewise.
113005         * modules/malloc (Makefile.am): Likewise.
113006         * modules/mathl (Makefile.am): Likewise.
113007         * modules/mbchar (Makefile.am): Likewise.
113008         * modules/md2 (Makefile.am): Likewise.
113009         * modules/md4 (Makefile.am): Likewise.
113010         * modules/md5 (Makefile.am): Likewise.
113011         * modules/memcasecmp (Makefile.am): Likewise.
113012         * modules/memchr (Makefile.am): Likewise.
113013         * modules/memcmp (Makefile.am): Likewise.
113014         * modules/memcoll (Makefile.am): Likewise.
113015         * modules/memcpy (Makefile.am): Likewise.
113016         * modules/memmem (Makefile.am): Likewise.
113017         * modules/memmove (Makefile.am): Likewise.
113018         * modules/mempcpy (Makefile.am): Likewise.
113019         * modules/memrchr (Makefile.am): Likewise.
113020         * modules/memset (Makefile.am): Likewise.
113021         * modules/memxor (Makefile.am): Likewise.
113022         * modules/mkancesdirs (Makefile.am): Likewise.
113023         * modules/mkdir (Makefile.am): Likewise.
113024         * modules/mkdir-p (Makefile.am): Likewise.
113025         * modules/mkdtemp (Makefile.am): Likewise.
113026         * modules/mkstemp (Makefile.am): Likewise.
113027         * modules/mktime (Makefile.am): Likewise.
113028         * modules/modechange (Makefile.am): Likewise.
113029         * modules/mountlist (Makefile.am): Likewise.
113030         * modules/nanosleep (Makefile.am): Likewise.
113031         * modules/openat (Makefile.am): Likewise.
113032         * modules/pagealign_alloc (Makefile.am): Likewise.
113033         * modules/physmem (Makefile.am): Likewise.
113034         * modules/poll (Makefile.am): Likewise.
113035         * modules/posixtm (Makefile.am): Likewise.
113036         * modules/posixver (Makefile.am): Likewise.
113037         * modules/putenv (Makefile.am): Likewise.
113038         * modules/quote (Makefile.am): Likewise.
113039         * modules/quotearg (Makefile.am): Likewise.
113040         * modules/raise (Makefile.am): Likewise.
113041         * modules/read-file (Makefile.am): Likewise.
113042         * modules/readline (Makefile.am): Likewise.
113043         * modules/readlink (Makefile.am): Likewise.
113044         * modules/readtokens (Makefile.am): Likewise.
113045         * modules/readutmp (Makefile.am): Likewise.
113046         * modules/realloc (Makefile.am): Likewise.
113047         * modules/regex (Makefile.am): Likewise.
113048         * modules/rename (Makefile.am): Likewise.
113049         * modules/rename-dest-slash (Makefile.am): Likewise.
113050         * modules/rijndael (Makefile.am): Likewise.
113051         * modules/rmdir (Makefile.am): Likewise.
113052         * modules/rpmatch (Makefile.am): Likewise.
113053         * modules/safe-read (Makefile.am): Likewise.
113054         * modules/safe-write (Makefile.am): Likewise.
113055         * modules/same (Makefile.am): Likewise.
113056         * modules/save-cwd (Makefile.am): Likewise.
113057         * modules/savedir (Makefile.am): Likewise.
113058         * modules/setenv (Makefile.am): Likewise.
113059         * modules/settime (Makefile.am): Likewise.
113060         * modules/sha1 (Makefile.am): Likewise.
113061         * modules/sig2str (Makefile.am): Likewise.
113062         * modules/snprintf (Makefile.am): Likewise.
113063         * modules/stdlib-safer (Makefile.am): Likewise.
113064         * modules/stpcpy (Makefile.am): Likewise.
113065         * modules/stpncpy (Makefile.am): Likewise.
113066         * modules/strcase (Makefile.am): Likewise.
113067         * modules/strcasestr (Makefile.am): Likewise.
113068         * modules/strchrnul (Makefile.am): Likewise.
113069         * modules/strcspn (Makefile.am): Likewise.
113070         * modules/strdup (Makefile.am): Likewise.
113071         * modules/strerror (Makefile.am): Likewise.
113072         * modules/strftime (Makefile.am): Likewise.
113073         * modules/strndup (Makefile.am): Likewise.
113074         * modules/strnlen (Makefile.am): Likewise.
113075         * modules/strpbrk (Makefile.am): Likewise.
113076         * modules/strsep (Makefile.am): Likewise.
113077         * modules/strstr (Makefile.am): Likewise.
113078         * modules/strtod (Makefile.am): Likewise.
113079         * modules/strtoimax (Makefile.am): Likewise.
113080         * modules/strtok_r (Makefile.am): Likewise.
113081         * modules/strtol (Makefile.am): Likewise.
113082         * modules/strtoll (Makefile.am): Likewise.
113083         * modules/strtoul (Makefile.am): Likewise.
113084         * modules/strtoull (Makefile.am): Likewise.
113085         * modules/strtoumax (Makefile.am): Likewise.
113086         * modules/strverscmp (Makefile.am): Likewise.
113087         * modules/time_r (Makefile.am): Likewise.
113088         * modules/timegm (Makefile.am): Likewise.
113089         * modules/tmpfile-safer (Makefile.am): Likewise.
113090         * modules/unistd-safer (Makefile.am): Likewise.
113091         * modules/unlinkdir (Makefile.am): Likewise.
113092         * modules/userspec (Makefile.am): Likewise.
113093         * modules/utime (Makefile.am): Likewise.
113094         * modules/utimecmp (Makefile.am): Likewise.
113095         * modules/utimens (Makefile.am): Likewise.
113096         * modules/vasnprintf (Makefile.am): Likewise.
113097         * modules/vasprintf (Makefile.am): Likewise.
113098         * modules/vsnprintf (Makefile.am): Likewise.
113099         * modules/xalloc (Makefile.am): Likewise.
113100         * modules/xgetcwd (Makefile.am): Likewise.
113101         * modules/xnanosleep (Makefile.am): Likewise.
113102         * modules/xreadlink (Makefile.am): Likewise.
113103         * modules/xstrtod (Makefile.am): Likewise.
113104         * modules/xstrtol (Makefile.am): Likewise.
113105         * modules/xstrtold (Makefile.am): Likewise.
113106         * modules/yesno (Makefile.am): Likewise.
113108 2006-10-12  Jim Meyering  <jim@meyering.net>
113110         * m4/getloadavg.m4: Revert the change below.
113112         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
113113         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
113114         fail with a symlink, which is what coreutils' ./bootstrap now
113115         creates by default.
113117 2006-10-12  Bruno Haible  <bruno@clisp.org>
113119         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
113120         mingw.
113121         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
113122         MSVC and mingw explicitly.
113124 2006-10-11  Simon Josefsson  <jas@extundo.com>
113125             Bruno Haible  <bruno@clisp.org>
113127         Add support for multiple gnulib-tool invocations in the scope of a
113128         single configure.ac file.
113129         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
113130         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
113131         with the same contents as the _LIBADD variable.
113132         (func_emit_initmacro_start, func_emit_initmacro_end,
113133         func_emit_initmacro_done): New functions.
113134         (func_import, func_create_testdir): Invoke them. Allow the identifiers
113135         gl_LIBOBJS and gl_LTLIBOBJS.
113137 2006-10-11  Bruno Haible  <bruno@clisp.org>
113139         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
113140         (func_create_testdir): Don't create po/Makefile.am, don't invoke
113141         autoreconf. Instead, invoke autopoint explicitly but move back the
113142         *.m4 files from gnulib.
113144 2006-10-11  Bruno Haible  <bruno@clisp.org>
113146         * gnulib-tool (func_usage): Make module names after --create-testdir
113147         optional.
113148         (func_create_testdir): If no module was specified, use nearly all
113149         modules.
113151 2006-10-12  Jim Meyering  <jim@meyering.net>
113153         Big performance improvement for fts-based tools that use FTS_NOSTAT.
113154         Avoid spurious inode-mismatch problems on non-POSIX file systems.
113155         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
113156         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
113157         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
113158         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
113159         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
113160         (fts_set_stat_required): New function.
113161         (fts_open): Defer the calls to fts_stat, if possible or requested.
113162         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
113163         into fts_stat itself.
113164         (fts_read): Perform any required (deferred) fts_stat call.
113165         (fts_build): Likewise, for the directory we're about to open and read.
113166         In the readdir loop, carefully decide whether each entry will require
113167         an eventual call to fts_stat, using dirent.d_type info if available.
113168         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
113169         a command line argument into this function.  Update all callers.
113170         Map a return value of FTS_DOT to FTS_D for a command line argument.
113171         * modules/fts (Depends-on): Add d-type.  Alphabetize.
113172         Thanks to Miklos Szeredi for his tenacity and for the initial
113173         bug report about "find" failing on a FUSE-based file system.
113175         * lib/fts.c (fts_open): Use consistent indentation.
113177 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
113179         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
113180         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
113181         reported by Jim Meyering.  All uses of cache variables renamed
113182         to match Autoconf's.
113183         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
113184         the other one.
113186         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
113187         Fix misspelling in diagnostic.
113189 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
113191         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
113192         defined.  Problem reported by Matthew Woehlke.
113194         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
113195         Add support for Tandem NonStop R series.
113196         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
113197         Use new macro.
113199         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
113200         (has_trailing_slash): Omit size arg; all callers changed.
113201         Omit 'inline', since it doesn't help performance and we'd
113202         need to configure it.
113203         Don't count //, ///, etc. as having a trailing slash.
113204         As a side effect, this removes a C99ism reported by Matthew Woehlke.
113205         (rpl_rename_dest_slash): On failure, use rename's errno rather
113206         than (in some cases) an incorrect or junk errno.
113207         Simplify code by removing need to compute length; this does
113208         cause it to make two passes instead of one over the file name,
113209         but it's worth it.
113211         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
113212         change, since Autoconf's version may no longer be appropriate now
113213         that we are using CVS Autoconf's version.  Add support for Tandem.
113215 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
113216             Bruno Haible  <bruno@clisp.org>
113218         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
113219         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
113220         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
113221         gl_AC_TYPE_LONG_LONG.
113223         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
113224         instead of HAVE_LONG_LONG.
113225         * lib/printf-args.c (printf_fetchargs): Likewise.
113226         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
113227         * lib/vasnprintf.c (VASNPRINTF): Likewise.
113228         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
113229         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
113230         gl_AC_TYPE_LONG_LONG.
113232 2006-10-11  Bruno Haible  <bruno@clisp.org>
113234         * m4/longlong.m4: Add comments.
113235         * m4/ulonglong.m4: Likewise.
113237 2006-10-10  Bruno Haible  <bruno@clisp.org>
113239         Make it possible to #define stpcpy, strdup to aliases.
113240         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
113241         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
113243 2006-10-10  Bruno Haible  <bruno@clisp.org>
113245         Make it possible to #define gcd to an alias.
113246         * lib/gcd.c: Include config.h.
113248 2006-10-10  Bruno Haible  <bruno@clisp.org>
113250         Make it possible to #define c_isascii to an alias.
113251         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
113252         defined. Undefine the macros before defining them, to avoid gcc
113253         warnings.
113254         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
113255         define NO_C_CTYPE_MACROS early.
113257 2006-10-10  Bruno Haible  <bruno@clisp.org>
113259         Make it possible to #define set_program_name to an alias.
113260         * lib/progname.c: Don't undefine set_program_name; instead, undefine
113261         ENABLE_RELOCATABLE early.
113263 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
113265         Port to Tandem NSK OSS, which has 64-bit signed int but at most
113266         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
113267         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
113268         More generally, don't assume that 64-bit signed int is available
113269         if unsigned int is, and vice versa.
113270         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
113271         unsigned symbols, not on their signed counterparts.
113272         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
113273         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
113274         (UINT64_C, UINTMAX_C):
113275         Likewise.
113276         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
113277         unsigned counterparts.
113278         (Have_long_long, Unsigned): New macros.
113279         (Int): Renamed from INT.
113280         (strtoimax): Use the new macros.
113281         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
113282         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
113283         * modules/inttypes (inttypes.h): Substitute
113284         HAVE_UNSIGNED_LONG_LONG_INT.
113285         * modules/stdint (stdint.h): Likewise.
113286         (Files): Add m4/ulonglong.m4.
113288 2006-10-10  Bruno Haible  <bruno@clisp.org>
113290         Fix a gcc -Wshadow warning.
113291         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
113292         to 'bucket'.
113293         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
113294         gl_linked_indexof_from_to): Likewise.
113295         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
113296         Likewise.
113297         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
113298         Likewise.
113299         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
113300         Reported by Eric Blake.
113302 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
113304         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
113305         for NetBSD.  Problem reported by Bruno Haible.
113307 2006-10-09  Jim Meyering  <jim@meyering.net>
113309         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
113310         Patch from Bruno Haible.
113312 2006-10-09  Jim Meyering  <jim@meyering.net>
113314         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
113315         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
113316         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
113318 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
113320         Don't include <config.h> twice; this doesn't work in some cases,
113321         e.g., when config.h has "#define intmax_t long long int" and
113322         we include <config.h>, <inttypes.h>, <config.h> in that order.
113323         Problem reported by Matthew Woehlke in:
113324         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
113325         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
113326         * lib/fts-cycle.c: Don't include config.h.
113327         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
113328         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
113329         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
113330         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
113331         inttypes.h.
113332         * lib/xstrtoumax.c: Likewise.
113333         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
113334         __strtol and the like, so that this module is more like its siblings.
113335         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
113336         Remove; no longer needed now that we assume gnulib inttypes.h.
113338 2006-10-08  Bruno Haible  <bruno@clisp.org>
113340         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
113341         option.
113343 2006-10-07  Jim Meyering  <jim@meyering.net>
113345         * modules/inttypes (inttypes.h): Revert what seems to have been
113346         an inadvertent part of today's change: use "|", not "/" in the
113347         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
113349 2006-10-07  Bruno Haible  <bruno@clisp.org>
113351         * modules/sublist: New file.
113353 2006-10-07  Bruno Haible  <bruno@clisp.org>
113355         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
113356         * modules/argz (argz.h): Likewise.
113357         * modules/arpa_inet (arpa/inet.h): Likewise.
113358         * modules/byteswap (byteswap.h): Likewise.
113359         * modules/configmake (configmake.h): Likewise.
113360         * modules/fcntl (fcntl.h): Likewise.
113361         * modules/fnmatch (fnmatch.h): Likewise.
113362         * modules/getopt (getopt.h): Likewise.
113363         * modules/glob (glob.h): Likewise.
113364         * modules/inttypes (inttypes.h): Likewise.
113365         * modules/netinet_in (netinet/in.h): Likewise.
113366         * modules/poll (poll.h): Likewise.
113367         * modules/stdbool (stdbool.h): Likewise.
113368         * modules/stdint (stdint.h): Likewise.
113369         * modules/sys_select (sys/select.h): Likewise.
113370         * modules/sys_socket (sys/socket.h): Likewise.
113371         * modules/sys_stat (sys/stat.h): Likewise.
113372         * modules/sysexits (sysexits.h): Likewise.
113373         * modules/unistd (unistd.h): Likewise.
113374         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113375         Add a "DO NOT EDIT" comment to the generated file.
113376         (func_import): Likewise for gnulib-comp.m4.
113378 2006-10-07  Bruno Haible  <bruno@clisp.org>
113380         * lib/gl_sublist.h: New file.
113381         * lib/gl_sublist.c: New file.
113383 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
113385         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
113386         name (relative to the original working directory) and the file
113387         name component (relative to the temporary working directory).  All
113388         callers changed.
113389         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
113390         * lib/mkdir-p.c (make_dir_parents): Likewise.
113391         * lib/mkdir-p.h (make_dir_parents): Likewise.
113393 2006-10-06  Eric Blake  <ebb9@byu.net>
113395         Define several macros for use by the clean-temp module.
113396         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
113397         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
113398         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
113400         * lib/clean-temp.h (close_stream_temp): New declaration.
113401         * lib/clean-temp.c (includes): Pull in headers according to what
113402         other modules are in use.
113403         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
113405 2006-10-06  Bruno Haible  <bruno@clisp.org>
113407         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
113408         instead of fopen, fwriteerror.
113410 2006-10-06  Bruno Haible  <bruno@clisp.org>
113412         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
113413         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
113414         int.
113415         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
113416         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
113417         Return an error indicator.
113418         Suggested by Eric Blake.
113420 2006-10-06  Bruno Haible  <bruno@clisp.org>
113422         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
113423         Reported by Eric Blake.
113425 2006-10-06  Bruno Haible  <bruno@clisp.org>
113427         * modules/closeout (Description): Mention stderr too.
113429 2006-10-06  Bruno Haible  <bruno@clisp.org>
113430         and Paul Eggert  <eggert@cs.ucla.edu>
113432         * lib/closeout.c (close_stdout): Also close stderr.
113433         * lib/closeout.h: Update comment.
113435 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
113437         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
113438         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
113439         * lib/dirchownmod.c: Include lchown.h.
113440         * lib/lchown.c: Don't include files that lchown.h now includes.
113441         Don't declare chown, since lchown.h now does that.
113442         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
113443         (lchown): Define to rpl_chown if lchown is declared but
113444         does not exist.  Declare using a prototype if lchown is not
113445         declared.  Add a copyright notice.
113446         * lib/mkstemp.h: Include <unistd.h>.
113447         * lib/openat.c: Include lchown.h.
113449         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
113450         we now test for that separately.
113451         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
113452         rather than O_NOFOLLOW, when testing whether it's possible to
113453         avoid a race condition reliably.
113454         * lib/savewd.c (savewd_chdir): Likewise.
113456         Remove macros that are no longer needed now that stdint.h is
113457         reliable.
113458         * lib/fsusage.c (UINTMAX_MAX): Remove.
113459         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
113460         * lib/utimecmp.c (SIZE_MAX): Remove.
113462         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
113464         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
113465         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
113466         O_NOATIME works.
113468 2006-10-05  Bruno Haible  <bruno@clisp.org>
113470         * lib/gl_list.h (gl_sortedlist_search_from_to,
113471         gl_sortedlist_indexof_from_to): New declarations.
113472         (gl_list_implementation): New fields sortedlist_search_from_to,
113473         sortedlist_indexof_from_to.
113474         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
113475         inline functions.
113476         * lib/gl_list.c (gl_sortedlist_search_from_to,
113477         gl_sortedlist_indexof_from_to): New functions.
113478         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
113479         function.
113480         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
113481         (gl_array_sortedlist_search_from_to): New function.
113482         (gl_array_list_implementation): Update.
113483         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
113484         function.
113485         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
113486         (gl_carray_sortedlist_search_from_to): New function.
113487         (gl_carray_list_implementation): Update.
113488         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
113489         gl_linked_sortedlist_indexof_from_to): New functions.
113490         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113491         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113492         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
113493         gl_tree_sortedlist_indexof_from_to): New functions.
113494         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113495         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113496         Update.
113497         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113498         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
113499         Update.
113501 2006-10-05  Bruno Haible  <bruno@clisp.org>
113503         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
113504         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
113505         (struct gl_list_implementation): Add fields search_from_to,
113506         indexof_from_to. Remove fields search, indexof.
113507         (gl_list_search): Use the search_from_to method.
113508         (gl_list_search_from, gl_list_search_from_to): New functions.
113509         (gl_list_indexof): Use the indexof_from_to method.
113510         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113511         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
113512         (gl_list_search_from, gl_list_search_from_to): New functions.
113513         (gl_list_indexof): Use the indexof_from_to method.
113514         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113515         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
113516         gl_array_indexof. Add start_index, end_index arguments.
113517         (gl_array_search_from_to): Renamed from gl_array_search. Add
113518         start_index, end_index arguments.
113519         (gl_array_remove, gl_array_list_implementation): Update.
113520         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
113521         gl_carray_indexof. Add start_index, end_index arguments.
113522         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
113523         start_index, end_index arguments.
113524         (gl_carray_remove, gl_carray_list_implementation): Update.
113525         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
113526         gl_linked_search. Add start_index, end_index arguments.
113527         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
113528         start_index, end_index arguments.
113529         (gl_linked_remove): Update.
113530         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113531         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113532         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
113533         field to 'size_t'.
113534         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
113535         gl_tree_search. Add start_index, end_index arguments.
113536         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113537         start_index, end_index arguments.
113538         (gl_tree_remove): Update.
113539         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113540         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113541         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
113542         function.
113543         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
113544         gl_tree_search. Add start_index, end_index arguments.
113545         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113546         start_index, end_index arguments.
113547         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113548         Update.
113549         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
113551 2006-10-05  Bruno Haible  <bruno@clisp.org>
113553         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
113555         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
113556         fwriteerror_temp): New declarations.
113557         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
113558         (descriptors): New variable.
113559         (cleanup): First, close the descriptors.
113560         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
113561         fclose_temp, fwriteerror_temp): New functions.
113563 2006-10-04  Jim Meyering  <jim@meyering.net>
113565         * lib/fts.c (fts_open): Tiny comment change.
113567 2006-10-04  Bruno Haible  <bruno@clisp.org>
113569         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
113570         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
113571         gl_LOCK_BODY.
113572         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
113573         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
113574         gl_LOCK_EARLY_BODY.
113575         (gl_LOCK): Require gl_LOCK_BODY.
113577 2006-10-04  Bruno Haible  <bruno@clisp.org>
113579         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
113580         (gl_oset_search_atleast): New declaration.
113581         (struct gl_oset_implementation): Add field 'search_atleast'.
113582         (gl_oset_search_atleast): New inline function.
113583         * lib/gl_oset.c (gl_oset_search_atleast): New function.
113584         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
113585         (gl_array_oset_implementation): Update.
113586         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
113587         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
113588         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
113590 2006-10-04  Bruno Haible  <bruno@clisp.org>
113592         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
113594 2006-10-03  Bruno Haible  <bruno@clisp.org>
113596         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
113597         from gl_avltreehash_list_implementation.
113599 2006-10-03  Bruno Haible  <bruno@clisp.org>
113601         * lib/gl_oset.c (gl_oset_add): Fix return type.
113603 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
113605         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
113607 2006-10-02  Eric Blake  <ebb9@byu.net>
113609         * modules/strnlen (Depends-on): Add extensions.
113611 2006-10-02  Eric Blake  <ebb9@byu.net>
113613         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
113614         definition in 2.60+.
113616 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
113618         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
113619         checks.
113621 2006-10-02  Bruno Haible  <bruno@clisp.org>
113623         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
113624         to the AUTOMAKE_OPTIONS.
113625         Reported by Jim Meyering.
113627 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
113629         Work around bug in Solaris 10 /proc file system:
113630         /proc/self/fd/NNN/.. isn't the parent directory of
113631         the directory whose file descriptor is NNN.  This needs to
113632         be worked around at run time, not compile time, since a
113633         program might be built on Solaris 8, where things work, and
113634         run on Solaris 10.
113635         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
113636         to use the following interface instead:
113637         (OPENAT_BUFFER_SIZE): New macro.
113638         (openat_proc_name): New function.
113639         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
113640         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
113641         Likewise.
113642         * lib/openat-proc.c: New file.
113643         * modules/openat (Files): Add lib/openat-proc.c.
113644         (Depends-on): Add same-inode, stdbool.
113645         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
113647 2006-09-29  Bruno Haible  <bruno@clisp.org>
113649         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
113650         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
113651         argument. Set stdout_closed before testing for ferror, not after.
113652         (fwriteerror, fwriteerror_no_ebadf): New functions.
113654 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113656         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
113658 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
113660         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
113661         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
113663 2006-09-28  Jim Meyering  <jim@meyering.net>
113665         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
113666         Include <unistd.h>.
113668 2006-09-28  Bruno Haible  <bruno@clisp.org>
113670         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
113671         * modules/linkedhash-list (Depends-on): Likewise.
113672         * modules/rbtreehash-list (Depends-on): Likewise.
113674 2006-09-28  Bruno Haible  <bruno@clisp.org>
113676         * lib/strndup.h: Simplify the redefinition of strndup.
113677         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
113678         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
113680 2006-09-28  Bruno Haible  <bruno@clisp.org>
113682         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
113683         * lib/gl_linkedhash_list.c: Likewise.
113684         * lib/gl_rbtreehash_list.c: Likewise.
113686 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
113688         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
113689         getaddrinfo.
113691         * lib/__fpending.h: Don't include <stdio_ext.h> unless
113692         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
113693         it causes <stdio_ext.h> to cause a compile-time error.
113694         Problem reported by Nelson H. F. Beebe.
113695         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
113696         of HAVE_DECL___PENDING.
113698         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
113699         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
113700         declaration.
113702 2006-09-27  Jim Meyering  <jim@meyering.net>
113704         This file could end up with a definition for a function
113705         named __strndup, rather than rpl_strndup on a system with
113706         incomplete weak_alias support.
113707         * lib/strndup.c (strndup): Rename from __strndup.
113708         Remove #defines that used to map __strndup to strndup.
113709         Don't use K&R prototypes.
113710         Remove LIBC-related code, since this file is not sync'd with glibc.
113711         * lib/strndup.h: Revamp, accordingly.
113712         * m4/strndup.m4: Modernize.
113714 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
113716         * modules/savewd (Depends-on): Add 'raise'.
113717         * lib/savewd.c: Include <signal.h>, for 'raise'.
113719 2006-09-26  Jim Meyering  <jim@meyering.net>
113721         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
113722         when we detect Darwin 8.7.0's acl_get_file bug.
113723         Rearrange to perform the new (below) run-test while $LIBS
113724         contains any acl-related library.  Set USE_ACL at the end.
113725         (gl_ACL_GET_FILE): New function.
113727 2006-09-26  Eric Blake  <ebb9@byu.net>
113729         * lib/verror.c: Include <config.h> unconditionally.
113731 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
113733         * modules/clock-time (Maintainer): Add self.
113734         * modules/getlogin_r (Depends-on): Add extensions.
113736 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113738         * modules/clock-time: New module.
113739         * modules/nanosleep (Depends-on): Add clock-time.
113740         * modules/gethrxtime (Depends-on): Likewise.
113741         * modules/gettime (Depends-on): Likewise.
113742         * modules/settime (Depends-on): Likewise.
113744         * modules/fts-lgpl: Depend on openat.
113745         * modules/mkancesdirs: Depend on savewd.
113746         * modules/mkdir-p: Likewise.
113748 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113750         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
113752         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
113753         `gl_have_arbitrary_file_name_length_limit' to
113754         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
113755         actually works between configure runs.
113757 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113758             Bruno Haible  <bruno@clisp.org>
113760         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
113762 2006-09-25  Jim Meyering  <jim@meyering.net>
113764         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
113765         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
113767 2006-09-25  Eric Blake  <ebb9@byu.net>
113769         * gnulib-tool (func_import, func_create_testdir): Fix typos in
113770         exec's in 2006-09-18 patch when shuffling fds.
113772 2006-09-25  Bruno Haible  <bruno@clisp.org>
113774         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
113775         Reported by Jim Meyering.
113777 2006-09-24  Jim Meyering  <jim@meyering.net>
113779         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
113780         compare a pointer against a literal "0".  That caused failures with
113781         at least HP-UX's hpcc.
113783 2006-09-22  Simon Josefsson  <jas@extundo.com>
113785         * modules/gc-sha1:
113786         * modules/gc-md4:
113787         * modules/gc-hmac-sha1:
113788         * modules/gc-hmac-md5:
113789         * modules/gc-des:
113790         * modules/gc-arcfour: Distribute more files.
113792 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113794         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
113795         (gl_linked_iterator_from_to): Initialize struct completely.
113796         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
113797         (gl_tree_iterator_from_to): Likewise
113798         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
113799         * lib/gl_array_list.c [lint] (gl_array_iterator)
113800         (gl_array_iterator_from_to): Likewise.
113801         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
113802         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
113803         (gl_carray_iterator_from_to): Likewise.
113805         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
113806         * lib/md4.c (md4_process_block): Remove unused variable.
113807         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
113808         parentheses for clarity.
113810 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113812         * modules/bison-i18n (Depends-on): Add gettext.
113814 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113816         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
113817         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
113818         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
113819         also add missing comma that caused broken test.
113820         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
113821         stdlib.h, for `abort'.
113822         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
113823         variables.
113824         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
113825         include unistd.h if present, for `rmdir'.
113826         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
113827         variables.
113828         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
113829         in the process include standard headers for prototypes.
113830         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
113831         gets declared on GNU/Linux.
113832         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
113833         unistd.h, for `rmdir'.
113834         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
113836         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
113837         always true.
113838         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
113840         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
113842 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113844         * gnulib-tool (func_version): Create output all at once.  This
113845         may help avoid triggering unnecessary SIGPIPEs, and at any
113846         rate it doesn't hurt.
113848 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113849             Bruno Haible  <bruno@clisp.org>
113851         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
113852         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
113853         * m4/signed.m4 (bh_C_SIGNED): Likewise.
113855         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
113856         (gl_FUNC_VASPRINTF): Invoke it.
113858 2006-09-22  Bruno Haible  <bruno@clisp.org>
113860         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
113861         getloadavg.c as first argument.
113863 2006-09-22  Bruno Haible  <bruno@clisp.org>
113865         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
113866         at the beginning of the gl_INIT macro.
113867         * modules/getloadavg (configure.ac): Pass $gl_source_base to
113868         gl_GETLOADAVG.
113870 2006-09-22  Bruno Haible  <bruno@clisp.org>
113872         * gnulib-tool (func_create_megatestdir): Don't include the config-h
113873         module.
113874         Suggested by Ralf Wildenhues.
113876 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
113878         Import this patch from libc:
113880         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
113882         * lib/regex_internal.c (re_string_reconstruct): Handle
113883         offset < pstr->valid_raw_len && pstr->offsets_needed case.
113884         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
113885         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
113886         re_string_context_at.
113888         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
113889         now requires it.
113890         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
113891         gl_REGEX now does it for us.
113892         (gl_REGEX): Add test taken from
113893         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
113895         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
113896         Check that large offsets work.  Modernize Autoconf usages.
113897         Prefer "yes" to mean a good thing rather than a bad.
113898         Don't put "#define mkstemp" in config.h, as this might interfere
113899         with standard system headers that "#define mkstemp mkstemp64".
113901         * modules/mkstemp (Depends-on): Add extensions, so that
113902         mkstemp is visible on some platforms.
113903         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
113904         (Include): Change to "mkstemp.h" from <stdlib.h>.
113905         (Files): Add mkstemp.h.
113907         * lib/mkstemp.h: New file, since some standard headers
113908         #define mkstemp.
113909         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
113910         Include "mkstemp.h".
113911         Make the _LIBC code resemble glibc original more,
113912         e.g., use K&R style.
113913         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
113914         (mkstemp): Remove, since mkstemp.h does this for us.
113915         * lib/stdlib--.h: Include mkstemp.h.
113917         Import this patch from libc:
113919         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113921         * lib/tempname.c (__gen_tempname): Change attempts_min
113922         into a macro.  Use preprocessor to decide how to initialize
113923         attempts [Coverity CID 67].
113925 2006-09-20  Bruno Haible  <bruno@clisp.org>
113927         * lib/mkdtemp.c: Import from libc.
113928         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113929                 * sysdeps/posix/tempname.c (__gen_tempname): Change
113930                 attempts_min into a macro.  Use preprocessor to decide how to
113931                 initialize attempts [Coverity CID 67].
113932         2001-11-27  Paul Eggert  <eggert@twinsun.com>
113933                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
113934                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
113936 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113938         * gnulib-tool (func_exit): New function, to allow to pass the
113939         exit status portably through the trap.  Use everywhere.
113940         (--help, --version): Signal a write error.
113941         (trap): catch SIGPIPE, for write errors.
113942         Exit at the end of the trap, with the correct exit status.
113944 2006-09-19  Karl Berry  <karl@gnu.org>
113946         * doc/gnulib.texi: note about the license texinfo files.
113948 2006-09-19  Eric Blake  <ebb9@byu.net>
113950         * gnulib-tool: Avoid space-tab.
113952 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113954         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
113955         that prevented coreutils 6.1 from building.  Problem reported
113956         by Petter Reinholdtsen.
113958 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113960         * gnulib-tool (avoidlist): Fix typo that broke options like
113961         --avoid=lock that are used by coreutils bootstrap.
113963 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
113965         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
113966         more systematically.
113968 2006-09-18  Jim Meyering  <jim@meyering.net>
113970         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
113972 2006-09-18  Bruno Haible  <bruno@clisp.org>
113974         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
113976 2006-09-18  Bruno Haible  <bruno@clisp.org>
113978         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
113979         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
113980         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
113981         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
113982         * m4/gettext.m4: Require autoconf >= 2.52.
113983         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
113984         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
113985         of gl_cv_header_inttypes_h.
113987 2006-09-18  Bruno Haible  <bruno@clisp.org>
113989         * lib/javaversion.c: Include configmake.h.
113991 2006-09-18  Bruno Haible  <bruno@clisp.org>
113993         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
113994         avoid that the while loops be executed in a subshell.
113996 2006-09-18  Bruno Haible  <bruno@clisp.org>
113998         * MODULES.html.sh (func_module): Break long lines.
113999         Suggested by Bruce Korb <bkorb@gnu.org>.
114001 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114003         Speed up by a factor of 1.12.
114004         * gnulib-tool (nl): New variable.
114005         (func_import): Rewrite include directive extraction to only read each
114006         directive once.
114008 2006-09-17  Bruno Haible  <bruno@clisp.org>
114010         * modules/javaversion (Makefile.am): Remove DEFS setting.
114011         (Depends-on): Add configmake, for PKGDATADIR definition.
114013 2006-09-17  Bruno Haible  <bruno@clisp.org>
114015         * gnulib-tool (func_create_testdir): Rewrite all files at once.
114017 2006-09-17  Bruno Haible  <bruno@clisp.org>
114019         * gnulib-tool (func_append): New function, stolen from libtool.m4.
114020         (func_modules_transitive_closure, func_modules_add_dummy,
114021         func_modules_to_filelist, func_import, func_create_testdir,
114022         func_create_megatestdir, ...): Use it wherever possible.
114023         Suggested by Ralf Wildenhues.
114025 2006-09-16  Karl Berry  <karl@gnu.org>
114027         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
114028         to avoid sectioning errors.
114029         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
114030         [ifinfo]: blank line after @center-ed titles.
114031         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
114032         Spell FSF address consistently with others.
114033         (These changes approved by rms.)
114035 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114037         Speed up by a factor of 1.61.
114038         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
114039         already checked module names again.
114041 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114043         Speed up by a factor of 1.13.
114044         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
114045         for new_files, and the input to func_add_or_update.
114047 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114049         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
114050         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
114052 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114054         * modules/mkancesdirs (Depends-on): Add fcntl.
114055         * modules/savewd: New file.
114056         * MODULES.html.sh (File system functions): Add savewd.
114058         * modules/configmake (Makefile.am): Add support for the
114059         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
114061 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114063         * m4/savewd.m4: New file.
114065 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114067         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
114068         (dirchownmod): New arg FD.  All callers changed.
114069         Use FD rather than opening the directory ourself, as opening is
114070         now the caller's responsibility.
114071         * lib/dirchownmod.h: Likewise.
114072         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
114073         hosts that require <sys/types.h> before <sys/stat.h>.  Include
114074         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
114075         (test_dir): Remove.
114076         (mkancesdirs): Return length of prefix of FILE that has already
114077         been made, or -2 if there is a child doing the work.  Redo
114078         algorithm so that it is O(N) rather than O(N**2).  Optimize away
114079         ".", and treat ".." specially since it might stray back into
114080         already-created areas.  Use a subprocess if necessary.  New arg
114081         WD; all users changed.  MAKE_DIR function should now return 1
114082         if it creates a directory that is not readable.  Return -2 if
114083         a child process is spun off.
114084         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
114085         Adjust signature to match code.
114086         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
114087         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
114088         all users changed.
114089         * lib/savewd.c, lib/savewd.h: New files.
114091 2006-09-15  Jim Meyering  <jim@meyering.net>
114093         * modules/rename-dest-slash: New module.
114094         * MODULES.html.sh (posix_compat): Add it here.
114096         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
114098 2006-09-15  Jim Meyering  <jim@meyering.net>
114100         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
114101         file.
114103         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
114105 2006-09-15  Jim Meyering  <jim@meyering.net>
114107         * lib/rename-dest-slash.c (has_trailing_slash): Use
114108         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
114109         (rpl_rename_dest_slash): Perform the cheaper trailing slash
114110         test before testing whether SRC is a directory.
114111         Suggestions from Bruno Haible.
114113         Avoid a warning about an unused variable.
114114         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
114115         into the #ifdef block where it's used.
114117         * lib/rename-dest-slash.c: New file.
114119 2006-09-14  Bruno Haible  <bruno@clisp.org>
114121         * lib/allocsa.c: Include <config.h> unconditionally.
114122         * lib/asnprintf.c: Likewise.
114123         * lib/asprintf.c: Likewise.
114124         * lib/c-strcasecmp.c: Likewise.
114125         * lib/c-strcasestr.c: Likewise.
114126         * lib/c-strncasecmp.c: Likewise.
114127         * lib/c-strstr.c: Likewise.
114128         * lib/classpath.c: Likewise.
114129         * lib/clean-temp.c: Likewise.
114130         * lib/concatpath.c: Likewise.
114131         * lib/copy-file.c: Likewise.
114132         * lib/csharpcomp.c: Likewise.
114133         * lib/csharpexec.c: Likewise.
114134         * lib/execute.c: Likewise.
114135         * lib/fatal-signal.c: Likewise.
114136         * lib/findprog.c: Likewise.
114137         * lib/fwriteerror.c: Likewise.
114138         * lib/gl_array_list.c: Likewise.
114139         * lib/gl_array_oset.c: Likewise.
114140         * lib/gl_avltree_list.c: Likewise.
114141         * lib/gl_avltree_oset.c: Likewise.
114142         * lib/gl_avltreehash_list.c: Likewise.
114143         * lib/gl_carray_list.c: Likewise.
114144         * lib/gl_linked_list.c: Likewise.
114145         * lib/gl_linkedhash_list.c: Likewise.
114146         * lib/gl_list.c: Likewise.
114147         * lib/gl_oset.c: Likewise.
114148         * lib/gl_rbtree_list.c: Likewise.
114149         * lib/gl_rbtree_oset.c: Likewise.
114150         * lib/gl_rbtreehash_list.c: Likewise.
114151         * lib/imaxabs.c: Likewise.
114152         * lib/imaxdiv.c: Likewise.
114153         * lib/javacomp.c: Likewise.
114154         * lib/javaexec.c: Likewise.
114155         * lib/javaversion.c: Likewise.
114156         * lib/linebreak.c: Likewise.
114157         * lib/localcharset.c: Likewise.
114158         * lib/lock.c: Likewise.
114159         * lib/mbchar.c: Likewise.
114160         * lib/mbswidth.c: Likewise.
114161         * lib/mkdtemp.c: Likewise.
114162         * lib/pipe.c: Likewise.
114163         * lib/printf-args.c: Likewise.
114164         * lib/printf-parse.c: Likewise.
114165         * lib/progname.c: Likewise.
114166         * lib/progreloc.c: Likewise.
114167         * lib/readlink.c: Likewise.
114168         * lib/sh-quote.c: Likewise.
114169         * lib/stpcpy.c: Likewise.
114170         * lib/stpncpy.c: Likewise.
114171         * lib/strcasecmp.c: Likewise.
114172         * lib/strcasestr.c: Likewise.
114173         * lib/strcspn.c: Likewise.
114174         * lib/striconv.c: Likewise.
114175         * lib/strncasecmp.c: Likewise.
114176         * lib/strnlen1.c: Likewise.
114177         * lib/strstr.c: Likewise.
114178         * lib/strtok_r.c: Likewise.
114179         * lib/tls.c: Likewise.
114180         * lib/tmpdir.c: Likewise.
114181         * lib/unicodeio.c: Likewise.
114182         * lib/unsetenv.c: Likewise.
114183         * lib/vasnprintf.c: Likewise.
114184         * lib/vasprintf.c: Likewise.
114185         * lib/wait-process.c: Likewise.
114186         * lib/xallocsa.c: Likewise.
114187         * lib/xsetenv.c: Likewise.
114188         * lib/xstriconv.c: Likewise.
114190 2006-09-13  Simon Josefsson  <jas@extundo.com>
114192         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
114193         that internally, suggested by Ralf Wildenhues
114194         <Ralf.Wildenhues@gmx.de>.
114196 2006-09-13  Simon Josefsson  <jas@extundo.com>
114198         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
114199         @LIBOBJS@.
114200         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
114202 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
114204         * lib/_fpending.c: Include <config.h> unconditionally, since we no
114205         longer worry about uses that don't define HAVE_CONFIG_H.
114206         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
114207         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
114208         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
114209         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
114210         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
114211         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
114212         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
114213         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
114214         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
114215         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
114216         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
114217         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
114218         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
114219         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
114220         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
114221         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
114222         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
114223         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
114224         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
114225         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
114226         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
114227         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
114228         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
114229         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
114230         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
114231         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
114232         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
114233         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
114234         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
114235         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
114236         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
114237         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
114238         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
114239         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
114240         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
114241         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
114242         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
114243         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
114244         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
114245         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
114246         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
114247         Likewise.
114249 2006-09-13  Eric Blake  <ebb9@byu.net>
114251         * lib/getopt.c: Fix typo in last commit.
114253 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
114255         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
114256         dgettext.
114258 2006-09-12  Jim Meyering  <jim@meyering.net>
114260         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
114261         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
114262         Reported by Nelson H. F. Beebe.
114264 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
114266         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
114267         program_invocation_name and program_invocation_short_name are
114268         initialized.
114269         * lib/argp-namefrob.h: Move declarations of program_invocation_name
114270         and program_invocation_short_name to argp.h, so they are visible
114271         to user programs.
114272         * lib/argp.h: Likewise
114274 2006-09-10  Bruno Haible  <bruno@clisp.org>
114276         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114277         m4/inttypes_h.m4, m4/uintmax_t.m4.
114279 2006-09-10  Bruno Haible  <bruno@clisp.org>
114281         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
114282         gl_AC_TYPE_UINTMAX_T.
114284 2006-09-10  Bruno Haible  <bruno@clisp.org>
114286         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
114288 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
114290         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
114291         convention.  Text proposed by Bruno Haible.
114292         (struct argp_option): Document the use of N_() wrappers.
114294         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
114295         '\v', and translate the two parts separately, instead of feeding
114296         the whole string to gettext.  This allows to exclude
114297         '\v' from the strings visible to the translator by writing doc
114298         strings as N_("..") "\v" N_("..").
114300 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
114302         * config/srclist.txt: Undo latest change; the bug was fixed.
114304 2006-09-09  Bruno Haible  <bruno@clisp.org>
114306         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
114307         assignments if building a library without libtool.
114308         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
114309         in func_emit_lib_Makefile_am.
114310         (func_import): When building a static library libfoo.a, arrange to
114311         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
114312         (func_create_testdir): Likewise.
114313         * modules/gc (configure.ac, Makefile.am): If building statically,
114314         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
114315         * modules/iconvme (configure.ac, Makefile.am): Likewise.
114316         * modules/striconv (configure.ac, Makefile.am): Likewise.
114317         Based on a suggestion by Ralf Wildenhues.
114319 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114321         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
114322         Check for unistd.h too, since Autoconf doesn't assume POSIX.
114323         Also:
114325         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114326         Add year_2050_test to catch glibc bug 2821
114327         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
114329         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114330         Prefer #ifdef to #if.
114332         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
114333         Return from 'main' instead of calling 'exit'.
114335 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114337         * lib/mktime.c (guess_time_tm): Fix bug where mktime
114338         returned the maximum time_t value rather than (time_t) -1.
114339         Problem originally reported by William Bardwell
114340         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
114342         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
114343         Moved to here ...
114344         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
114345         ... from here.
114347 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114349         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
114350         2821 is fixed.
114352 2006-09-08  Jim Meyering  <jim@meyering.net>
114354         Don't make generated files read-only.  That would bother too many
114355         people.  However, do retain the ability to work when targets are
114356         read-only: remove the destination and temporary files before writing
114357         them (when generated via sed or echo), or by using the -f option for
114358         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
114359         * modules/alloca-opt, modules/argz, modules/arpa_inet:
114360         * modules/byteswap, modules/configmake, modules/fcntl:
114361         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
114362         * modules/localcharset, modules/netinet_in, modules/poll:
114363         * modules/stdbool, modules/stdint, modules/sys_select:
114364         * modules/sys_socket, modules/sys_stat, modules/sysexits:
114366 2006-09-08  Jim Meyering  <jim@meyering.net>
114368         Avoid new build failure on FreeBSD 6.0.
114369         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
114370         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
114371         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
114373 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114375         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
114377 2006-09-07  Jim Meyering  <jim@meyering.net>
114379         Fix global typo in last change: use chmod u-w, not chmod u-x.
114380         Spotted by Paul Eggert and Bruce Korb.
114381         * modules/alloca-opt, modules/argz, modules/arpa_inet:
114382         * modules/byteswap, modules/configmake, modules/fcntl:
114383         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
114384         * modules/localcharset, modules/netinet_in, modules/poll:
114385         * modules/stdbool, modules/stdint, modules/sys_select:
114386         * modules/sys_socket, modules/sys_stat, modules/sysexits:
114388 2006-09-06  Jim Meyering  <jim@meyering.net>
114390         Make generated files be read-only.
114391         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
114392         Ensure that each generated file is now read-only.
114393         * modules/argz: Likewise.
114394         * modules/arpa_inet: Likewise.
114395         * modules/byteswap: Likewise.
114396         * modules/configmake: Likewise.
114397         * modules/fcntl: Likewise.
114398         * modules/fnmatch: Likewise.
114399         * modules/getopt: Likewise.
114400         * modules/glob: Likewise.
114401         * modules/inttypes: Likewise.
114402         * modules/netinet_in: Likewise.
114403         * modules/poll: Likewise.
114404         * modules/stdbool: Likewise.
114405         * modules/stdint: Likewise.
114406         * modules/sys_select: Likewise.
114407         * modules/sys_socket: Likewise.
114408         * modules/sys_stat: Likewise.
114409         * modules/sysexits: Likewise.
114410         * modules/localcharset: Same as above, but continue using temporary
114411         file named "t-$@" (why different?) rather than the "$@-t" used
114412         everywhere else.
114414         * modules/sysexits (Makefile.am): Replace literal occurrences
114415         of "sysexit.h" more readable, and more consistent, "$@".
114417 2006-09-06  Bruno Haible  <bruno@clisp.org>
114419         * modules/striconv: New file.
114420         * modules/xstriconv: New file.
114421         * MODULES.html.sh (Internationalization functions): Add striconv,
114422         xstriconv.
114424 2006-09-06  Bruno Haible  <bruno@clisp.org>
114426         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
114427         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
114428         not using libtool correctly.
114430 2006-09-06  Bruno Haible  <bruno@clisp.org>
114432         * lib/striconv.h: New file.
114433         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
114434         iconvstring.c.
114435         * lib/xstriconv.h: New file.
114436         * lib/xstriconv.c: New file.
114438 2006-09-06  Bruno Haible  <bruno@clisp.org>
114440         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
114441         lib_..._LDFLAGS.
114443 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114445         * lib/argz_.h: Sync from Libtool.
114447         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
114448                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114450         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
114452 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114454         * modules/trim: New file.
114456 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114458         * lib/trim.h: New file.
114459         * lib/trim.c: New file.
114461 2006-09-05  Bruno Haible  <bruno@clisp.org>
114463         * MODULES.html.sh (String handling): Add trim.
114465 2006-09-04  Karl Berry  <karl@gnu.org>
114467         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
114468         until next release.
114470 2006-09-03  Bruno Haible  <bruno@clisp.org>
114472         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
114473         correctly.
114475 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114477         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
114478         not gl_GETLOADAVG.  Omit unneeded semicolons.
114479         Problems reported by Ralf Wildenhues in
114480         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114481         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
114482         at the end, which is the usual gnulib style.
114484         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
114485         of doing all the work ourselves.
114486         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
114487         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
114489 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114491         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
114492         Problem reported by Ralf Wildenhues in
114493         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114495         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
114496         HAVE_STRUCT_STATFS_F_FSTYPENAME.
114498 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114500         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
114501         yesterday's patch by changing test -n to test -z.
114503 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114505         * modules/getloadavg (Files): Add m4/getloadavg.m4.
114506         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
114507         the former is now obsolescent.
114509         * modules/chdir-long (Depends-on): Add fcntl.
114511 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114513         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
114514         obsolescent, and programs should use gnulib instead.
114515         * m4/getloadavg.m4: New file, with contents taken from Autoconf
114516         but with prefixes changed.
114518 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114520         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
114521         or stdbool.h, because they might not exist while configuring.
114523         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
114524         Don't include unistd.h or limits.h; not needed, since chdir-long.h
114525         does that for us.
114526         (O_DIRECTORY): Remove.
114528 2006-08-31  Eric Blake  <ebb9@byu.net>
114530         * gnulib-tool: Don't let emacs change spaces to TAB.
114532 2006-08-31  Bruno Haible  <bruno@clisp.org>
114534         * gnulib-tool: When calling func_import more than once, do it in a
114535         subshell.
114536         Reported by Eric Blake <ebb9@byu.net>.
114538 2006-08-31  Bruno Haible  <bruno@clisp.org>
114540         * gnulib-tool (nl): Remove variable.
114541         (sed_transform_lib_file): Use more robust test for config-h module.
114542         (func_import): Fix typo in 2006-08-25 patch.
114544 2006-08-31  Bruno Haible  <bruno@clisp.org>
114546         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
114547         specified, augment Makefile.am variables instead of assigning them.
114549 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114551         Work around a bug in both the Linux and SunOS 64-bit kernels:
114552         nanosleep mishandles sleeps for longer than 2**31 seconds.
114553         Problem reported by Frank v Waveren in
114554         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114555         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
114556         Check for nanosleep bug.
114557         (LIB_NANOSLEEP): Append clock_gettime library if needed.
114559 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114561         Work around a bug in both the Linux and SunOS 64-bit kernels:
114562         nanosleep mishandles sleeps for longer than 2**31 seconds.
114563         Problem reported by Frank v Waveren in
114564         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114565         * lib/nanosleep.c (BILLION): New constant.
114566         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
114567         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
114568         implementation.
114570 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114572         * modules/nanosleep (Depends-on): Add gettime.
114574 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114575         and Simon Josefsson  <jas@extundo.com>
114576         and Oskar Liljeblad  <oskar@osk.mine.nu>
114578         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
114579         * gnulib-tool (func_import): New license type 'unmodifiable license
114580         text'.
114581         * modules/fdl: Use it.  Longer description.
114582         * module/gpl, module/lgpl: New files.
114584 2006-08-30  Jim Meyering  <jim@meyering.net>
114586         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
114587         shadowing the parameter.
114589 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114591         Sync from Libtool:
114593         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114595         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
114596         sharing with gnulib.  Report by Eric Blake.
114598 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114600         * modules/isapipe: New file.
114601         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
114603 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114605         * modules/configmake (Makefile.am): Add a comment, and omit
114606         the CONFIGMAKE_ prefix from generated macro names.  Suggested
114607         by Bruno Haible.
114609 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114611         * m4/isapipe.m4: New file.
114613 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114615         * lib/isapipe.c, lib/isapipe.h: New files.
114617 2006-08-29  Jim Meyering  <jim@meyering.net>
114619         * modules/configmake (Makefile.am): Make configmake.h depend on
114620         Makefile.  Otherwise, a stale configmake.h could hang around.
114622 2006-08-29  Eric Blake  <ebb9@byu.net>
114624         * lib/error.c (error_at_line, print_errno_message): Match libc, after
114625         resolution of upstream bug 3044.
114627 2006-08-29  Bruno Haible  <bruno@clisp.org>
114629         * modules/localcharset (Depends-on): Add configmake.
114630         (Makefile.am): Remove setting of LIBDIR through DEFS.
114632 2006-08-29  Bruno Haible  <bruno@clisp.org>
114634         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
114635         defined.
114637 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114639         * modules/fcntl: New file.
114640         * modules/chdir-safer (Depends-on): Add fcntl.
114641         * modules/fts: Likewise.
114642         * modules/mkdir-p: Likewise.
114644         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
114645         This undoes the most recent change, since we're now addressing the
114646         problem in a different way.
114648         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
114649         into output, since the output might be called Makefile.am even
114650         if $makefile_name is something different.
114651         (func_import): Use $makefile_am rather than
114652         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
114653         empty.
114655         * modules/inttypes (Files): Add m4/inttypes-h.m4.
114657 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114659         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
114660         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
114661         recent change to stdint.m4, since we're now addressing the problem in a
114662         different way.
114664 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114666         * m4/fcntl_h.m4: New file.
114668 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114670         * lib/fcntl_.h: New file.
114671         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
114672         the fcntl module.
114673         * lib/dirchownmod.c: Likewise.
114674         * lib/fts.c: Likewise.
114676         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
114677         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
114678         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
114679         just before including <inttypes.h>, to avoid circular inclusion.
114681 2006-08-28  Jim Meyering  <jim@meyering.net>
114683         * doc/visibility.texi: Actually read and correct the grammar of the
114684         sentence affected by yesterday's change.
114686 2006-08-28  Eric Blake  <ebb9@byu.net>
114688         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
114689         needs wrapper.
114691 2006-08-28  Eric Blake  <ebb9@byu.net>
114693         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
114695 2006-08-28  Eric Blake  <ebb9@byu.net>
114697         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
114699 2006-08-28  Bruno Haible  <bruno@clisp.org>
114701         * modules/c-strstr: New file, from GNU gettext.
114702         * MODULES.html.sh (String handling): Add c-strstr.
114704 2006-08-28  Bruno Haible  <bruno@clisp.org>
114706         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
114707         macros.
114708         Reported by Eric Blake.
114710 2006-08-28  Bruno Haible  <bruno@clisp.org>
114712         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
114713         (VASNPRINTF): Return a string of length > INT_MAX without failing.
114714         * lib/vasprintf.c: Include errno.h, limits.h.
114715         (EOVERFLOW): New fallback definition.
114716         (vasprintf): Test here whether the string length is > INT_MAX.
114717         * lib/vsnprintf.c: Include errno.h, limits.h.
114718         (EOVERFLOW): New fallback definition.
114719         (vsnprintf): Fix bug when generated string was too long for the buffer.
114720         Test here whether the string length is > INT_MAX.
114722 2006-08-28  Bruno Haible  <bruno@clisp.org>
114724         * lib/inttypes_.h (SCNX*): Remove definitions.
114725         Reported by Eric Blake.
114727 2006-08-28  Bruno Haible  <bruno@clisp.org>
114729         * lib/c-strstr.h: New file, from GNU gettext.
114730         * lib/c-strstr.c: New file, from GNU gettext.
114732 2006-08-28  Bruno Haible  <bruno@clisp.org>
114734         * gnulib-tool: Reorder some statements.
114736 2006-08-28  Bruno Haible  <bruno@clisp.org>
114738         * gnulib-tool: New option --makefile-name.
114739         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
114740         $makefile_name.
114741         (func_import): Write $makefile_name to the cache file, and read it from
114742         there unless explicitly specified. Use $makefile_name as file name
114743         instead of Makefile.am. Adjust the recommendations accordingly.
114745 2006-08-28  Bruno Haible  <bruno@clisp.org>
114747         * gnulib-tool (func_verify_module): Check against misapplying patch.
114749 2006-08-28  Bruno Haible  <bruno@clisp.org>
114751         * gnulib-tool (func_relativize, func_relconcat): New functions.
114752         Give an error if --local-dir is given with --update.
114753         Remove trailing slashes from $local_gnulib_dir.
114754         (func_import): Store the relativized $local_gnulib_dir in
114755         gnulib-cache.m4, and read it from there if not specified explicitly.
114757 2006-08-28  Bruno Haible  <bruno@clisp.org>
114759         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
114760         is the current directory. Respect also $local_gnulib_dir.
114762 2006-08-28  Bruno Haible  <bruno@clisp.org>
114763             Simon Josefsson  <jas@extundo.com>
114765         BeOS portability.
114766         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
114768 2006-08-27  Jim Meyering  <jim@meyering.net>
114770         * doc/visibility.texi: Remove duplicate word: "pointer".
114772 2006-08-26  Bruno Haible  <bruno@clisp.org>
114774         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
114775         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
114776         (Makefile.am): Create inttypes.h from inttypes_.h.
114777         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
114779         * modules/imaxabs: New file.
114781         * modules/imaxdiv: New file.
114783 2006-08-26  Bruno Haible  <bruno@clisp.org>
114785         * m4/inttypes.m4: New file.
114786         * m4/_inttypes_h.m4: Remove file.
114787         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
114788         PRI_MACROS_BROKEN.
114789         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
114791         * m4/imaxabs.m4: New file.
114793         * m4/imaxdiv.m4: New file.
114795 2006-08-26  Bruno Haible  <bruno@clisp.org>
114797         * lib/inttypes_.h: New file.
114798         * lib/inttypes.h: Remove file.
114799         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
114801         * lib/imaxabs.c: New file.
114803         * lib/imaxdiv.c: New file.
114805 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114807         New config-h module, so that "make" output needn't be cluttered
114808         by -DHAVE_CONFIG_H.
114809         * MODULES.html.sh (Support for building libraries and executables):
114810         Add config-h.
114811         * modules/config-h: New file.
114812         * gnulib-tool (nl, sed_transform_lib_file): New vars.
114813         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
114814         the config-h module is used.
114816         New configmake module, so that "make" output needn't be cluttered
114817         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
114818         * MODULES.html.sh (Support for building libraries and executables):
114819         Add configmake.
114820         * modules/configmake: New file.
114822 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114824         * m4/config-h.m4: New file.
114826 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114828         * config/srclist.txt: Add elisp-comp.
114830 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114832         * MODULES.html.sh (Support for building libraries and executables):
114833         Add elisp-comp.
114834         * build-aux/elisp-comp: New file.
114835         * modules/elisp-comp: New file.
114837 2006-08-24  Bruno Haible  <bruno@clisp.org>
114839         * gnulib-tool (func_create_testdir): Use non-default values of
114840         sourcebase and m4base.
114842 2006-08-24  Bruno Haible  <bruno@clisp.org>
114844         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
114845         HTML structure.
114847 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114849         * modules/openat (Depends-on): Add lchown.
114851 2006-08-23  Bruno Haible  <bruno@clisp.org>
114853         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
114854         of gl_LOCK_EARLY instead of gl_LOCK.
114856 2006-08-23  Bruno Haible  <bruno@clisp.org>
114858         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
114859         on OSF/1 to no.
114860         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
114862 2006-08-23  Bruno Haible  <bruno@clisp.org>
114864         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
114865         as unusable.
114867         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
114868         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
114869         (gl_LOCK): New macro.
114871 2006-08-22  Simon Josefsson  <jas@extundo.com>
114873         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
114874         to md5 module.
114876 2006-08-22  Simon Josefsson  <jas@extundo.com>
114878         * MODULES.html.sh: Add "Support for maintaining and release
114879         projects".
114881         * build-aux/gnupload: New file, from coreutils.
114883 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114885         Avoid the need for AC_LIBSOURCES in m4 macros.
114886         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
114887         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
114888         * modules/check-version (EXTRA_DIST): Add check-version.h.
114889         * modules/crc (EXTRA_DIST): Add crc.h.
114890         * modules/des (EXTRA_DIST): Add des.h.
114891         * modules/gc (EXTRA_DIST): Add gc.h.
114892         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
114893         * modules/getline (EXTRA_DIST): Add getline.h.
114894         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
114895         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
114896         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
114897         * modules/md2 (EXTRA_DIST): Add md2.h.
114898         * modules/md4 (EXTRA_DIST): Add md4.h.
114899         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
114900         * modules/read-file (EXTRA_DIST): Add read-file.h.
114901         * modules/readline (EXTRA_DIST): Add readline.h.
114902         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
114903         rijndael-api-fst.h.
114905 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114907         * m4/rijndael.m4 (gl_ARCFOUR):
114908         * m4/arctwo.m4 (gl_ARCTWO):
114909         * m4/check-version.m4 (gl_CHECK_VERSION):
114910         * m4/crc.m4 (gl_CRC):
114911         * m4/des.m4 (gl_DES):
114912         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
114913         * m4/gc.m4 (gl_GC):
114914         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
114915         * m4/getline.m4 (gl_FUNC_GETLINE):
114916         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
114917         * m4/hmac-md5.m4 (gl_HMAC_MD5):
114918         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
114919         * m4/md2.m4 (gl_MD2):
114920         * m4/md4.m4 (gl_MD4):
114921         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
114922         * m4/read-file.m4 (gl_FUNC_READ_FILE):
114923         * m4/readline.m4 (gl_FUNC_READLINE):
114924         * m4/rijndael.m4 (gl_RIJNDAEL):
114925         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114926         to get the necessary .h files and whatnot.
114928 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114930         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
114931         gnulib rather than the other way around.
114932         * config/srclistvars.sh (COREUTILS): Remove.
114934 2006-08-22  Jim Meyering  <jim@meyering.net>
114936         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
114938         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
114940 2006-08-22  Eric Blake  <ebb9@byu.net>
114942         * modules/regexprops-generic: New file.
114943         * MODULES.html.sh (Support for building documentation): List it.
114945 2006-08-22  Eric Blake  <ebb9@byu.net>
114947         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
114948         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
114949         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
114950         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
114952 2006-08-22  Bruno Haible  <bruno@clisp.org>
114954         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
114955         and lib_LTLIBRARIES like the other lib_* variables.
114957 2006-08-22  Bruno Haible  <bruno@clisp.org>
114959         * build-aux/x-to-1.in: New file, from GNU gettext.
114961 2006-08-22  Bruno Haible  <bruno@clisp.org>
114963         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
114964         <utmpx.h> exists.
114966 2006-08-22  Bruno Haible  <bruno@clisp.org>
114968         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
114969         <utmpx.h> exists.
114971 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114973         BeOS portability.
114974         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
114975         exist.
114976         Problem reported by Bruno Haible.
114978 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114980         Avoid the need for AC_LIBSOURCES in m4 macros.
114981         * modules/acl (EXTRA_DIST): Add acl.h.
114982         * modules/argmatch (Files): Add m4/argmatch.m4.
114983         (configure.ac): Add gl_ARGMATCH.
114984         (EXTRA_DIST): Renamed from lib_SOURCES, for
114985         consistency with the other modules.  Remove argmatch.c.
114986         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
114987         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
114988         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
114989         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
114990         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
114991         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
114992         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
114993         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
114994         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
114995         * modules/closeout (EXTRA_DIST): Add closeout.h.
114996         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
114997         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
114998         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
114999         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
115000         dirname.h; remove basename.c and stripslash.c.
115001         * modules/exclude (EXTRA_DIST): Add exclude.h.
115002         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
115003         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
115004         * modules/file-type (EXTRA_DIST): Add file-type.h.
115005         * modules/filemode (EXTRA_DIST): Add filemode.h.
115006         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
115007         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
115008         * modules/fpending (EXTRA_DIST): Add __fpending.h.
115009         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
115010         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
115011         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
115012         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
115013         * modules/getdate (EXTRA_DIST): Add getdate.c.
115014         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
115015         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
115016         * modules/getpass (EXTRA_DIST): Add getpass.h.
115017         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
115018         * modules/group-member (EXTRA_DIST): Add group-member.h.
115019         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
115020         * modules/hash (EXTRA_DIST): Add hash.h.
115021         * modules/human (EXTRA_DIST): Add human.h.
115022         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
115023         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
115024         * modules/lchown (EXTRA_DIST): Add lchown.h.
115025         * modules/long-options (EXTRA_DIST): Add long-options.h.
115026         * modules/lstat (EXTRA_DIST): Add lstat.h.
115027         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
115028         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
115029         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
115030         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
115031         * modules/memxor (EXTRA_DIST): Add memxor.h.
115032         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
115033         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
115034         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
115035         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
115036         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
115037         * modules/physmem (EXTRA_DIST): Add physmem.h.
115038         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
115039         * modules/posixver (EXTRA_DIST): Add posixver.h.
115040         * modules/quote (EXTRA_DIST): Add quote.h.
115041         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
115042         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
115043         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
115044         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
115045         regex_internal.h regexec.c.
115046         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
115047         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
115048         * modules/same (EXTRA_DIST): Add same.h.
115049         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
115050         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
115051         * modules/savedir (EXTRA_DIST): Add savedir.h.
115052         * modules/sha1 (EXTRA_DIST): Add sha1.h.
115053         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
115054         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
115055         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
115056         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
115057         * modules/strdup (EXTRA_DIST): Add strdup.h.
115058         * modules/strftime (EXTRA_DIST): Add strftime.h.
115059         * modules/strndup (EXTRA_DIST): Add strndup.h.
115060         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
115061         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
115062         * modules/time_r (EXTRA_DIST): Add time_r.h.
115063         * modules/timespec (EXTRA_DIST): Add timespec.h.
115064         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
115065         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
115066         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
115067         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
115068         * modules/userspec (EXTRA_DIST): Add userspec.h.
115069         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
115070         * modules/utimens (EXTRA_DIST): Add utimens.h.
115071         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
115072         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
115073         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
115074         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
115075         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
115076         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
115077         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
115078         * modules/yesno (EXTRA_DIST): Add yesno.h.
115080 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
115082         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
115084         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
115085         * m4/dev-ino.m4, same-inode.m4: Remove.
115087         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
115088         * m4/acl.m4 (AC_FUNC_ACL):
115089         * m4/backupfile.m4 (gl_BACKUPFILE):
115090         * m4/c-strtod.m4 (gl_C99_STRTOLD):
115091         * m4/canon-host.m4 (gl_CANON_HOST):
115092         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
115093         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
115094         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
115095         * m4/cloexec.m4 (gl_CLOEXEC):
115096         * m4/close-stream.m4 (gl_CLOSE_STREAM):
115097         * m4/closeout.m4 (gl_CLOSEOUT):
115098         * m4/dirfd.m4 (gl_FUNC_DIRFD):
115099         * m4/dirname.m4 (gl_DIRNAME):
115100         * m4/exclude.m4 (gl_EXCLUDE):
115101         * m4/exitfail.m4 (gl_EXITFAIL):
115102         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
115103         * m4/file-type.m4 (gl_FILE_TYPE):
115104         * m4/filemode.m4 (gl_FILEMODE):
115105         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
115106         * m4/fpending.m4 (gl_FUNC_FPENDING):
115107         * m4/fprintftime.m4 (gl_FPRINTFTIME):
115108         * m4/fts.m4 (gl_FUNC_FTS):
115109         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
115110         * m4/getdate.m4 (gl_GETDATE):
115111         * m4/gethrxtime.m4 (gl_GETHRXTIME):
115112         * m4/getpagesize.m4 (gl_GETPAGESIZE):
115113         * m4/getpass.m4 (gl_FUNC_GETPASS):
115114         * m4/gettime.m4 (gl_GETTIME):
115115         * m4/getugroups.m4 (gl_GETUGROUPS):
115116         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
115117         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
115118         * m4/hard-locale.m4 (gl_HARD_LOCALE):
115119         * m4/hash.m4 (gl_HASH):
115120         * m4/idcache.m4 (gl_IDCACHE):
115121         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
115122         * m4/lchown.m4 (gl_FUNC_LCHOWN):
115123         * m4/long-options.m4 (gl_LONG_OPTIONS):
115124         * m4/lstat.m4 (gl_FUNC_LSTAT):
115125         * m4/md5.m4 (gl_MD5):
115126         * m4/memcasecmp.m4 (gl_MEMCASECMP):
115127         * m4/memcoll.m4 (gl_MEMCOLL):
115128         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
115129         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
115130         * m4/memxor.m4 (gl_MEMXOR):
115131         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
115132         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
115133         * m4/modechange.m4 (gl_MODECHANGE):
115134         * m4/mountlist.m4 (gl_MOUNTLIST):
115135         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
115136         * m4/openat.m4 (gl_FUNC_OPENAT):
115137         * m4/pathmax.m4 (gl_PATHMAX):
115138         * m4/physmem.m4 (gl_PHYSMEM):
115139         * m4/posixtm.m4 (gl_POSIXTM):
115140         * m4/posixver.m4 (gl_POSIXVER):
115141         * m4/quote.m4 (gl_QUOTE):
115142         * m4/quotearg.m4 (gl_QUOTEARG):
115143         * m4/readtokens.m4 (gl_READTOKENS):
115144         * m4/readutmp.m4 (gl_READUTMP):
115145         * m4/regex.m4 (gl_REGEX):
115146         * m4/safe-read.m4 (gl_SAFE_READ):
115147         * m4/safe-write.m4 (gl_SAFE_WRITE):
115148         * m4/same.m4 (gl_SAME):
115149         * m4/save-cwd.m4 (gl_SAVE_CWD):
115150         * m4/savedir.m4 (gl_SAVEDIR):
115151         * m4/settime.m4 (gl_SETTIME):
115152         * m4/sha1.m4 (gl_SHA1):
115153         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
115154         * m4/stat-macros.m4 (gl_STAT_MACROS):
115155         * m4/stat-time.m4 (gl_STAT_TIME):
115156         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
115157         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
115158         * m4/strdup.m4 (gl_FUNC_STRDUP):
115159         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
115160         * m4/strndup.m4 (gl_FUNC_STRNDUP):
115161         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
115162         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
115163         * m4/time_r.m4 (gl_TIME_R):
115164         * m4/timespec.m4 (gl_TIMESPEC):
115165         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
115166         * m4/unlinkdir.m4 (gl_UNLINKDIR):
115167         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
115168         * m4/userspec.m4 (gl_USERSPEC):
115169         * m4/utimecmp.m4 (gl_UTIMECMP):
115170         * m4/utimens.m4 (gl_UTIMENS):
115171         * m4/xalloc.m4 (gl_XALLOC):
115172         * m4/xgetcwd.m4 (gl_XGETCWD):
115173         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
115174         * m4/xreadlink.m4 (gl_XREADLINK):
115175         * m4/xstrtod.m4 (gl_XSTRTOD):
115176         * m4/yesno.m4 (gl_YESNO):
115177         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
115178         to get the necessary .h files and whatnot.
115180 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
115181             Bruno Haible  <bruno@clisp.org>
115183         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
115184         /bin/sh understanding of '!' conditional negation.
115186 2006-08-21  Jim Meyering  <jim@meyering.net>
115188         * modules/openat (Depends-on): Really alphabetize.
115190         * modules/acl (Depends-on): Add error and quote.
115192         * check-module (find_included_lib_files): Add at-func.c to the
115193         ok-to-include-more-than-once white list.
115195         * modules/openat (Depends-on): Add lstat.  Alphabetize.
115197 2006-08-21  Bruno Haible  <bruno@clisp.org>
115199         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115200         Emit a pkgdata_DATA variable only if some snippets add contents to it.
115201         Reported by Martin Lambers <marlam@marlam.de>.
115203 2006-08-21  Bruno Haible  <bruno@clisp.org>
115205         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
115206         specify an installation location, don't emit a noinst_LIBRARIES or
115207         noinst_LTLIBRARIES assignment.
115209 2006-08-21  Bruno Haible  <bruno@clisp.org>
115211         BeOS portability.
115212         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
115213         BeOS has mbrtowc() but no <wctype.h>.
115215 2006-08-21  Bruno Haible  <bruno@clisp.org>
115217         BeOS portability.
115218         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
115219         exist.
115221 2006-08-21  Bruno Haible  <bruno@clisp.org>
115223         BeOS portability.
115224         * lib/mbchar.h: Include <wctype.h> only if it exists.
115226 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115228         Remove files that are no longer needed by their respective modules.
115229         * m4/obstack.m4: Remove.
115230         * m4/strerror_r.m4: Remove.
115231         * m4/uint32_t.m4: Remove.
115232         * m4/uintptr_t.m4: Remove.
115233         * m4/ullong_max.m4: Remove.
115234         * m4/xstrtoimax.m4: Remove.
115235         * m4/xstrtoumax.m4: Remove.
115237         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
115238         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
115239         dependencies now capture this.
115241         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
115242         Do not use AC_LIBSOURCES, since gnulib modules now do this.
115243         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
115244         * m4/human.m4 (gl_HUMAN): Likewise.
115245         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
115246         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
115248         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
115250         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
115251         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
115252         stdint.
115253         * m4/human.m4 (gl_HUMAN): Likewise.
115254         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
115255         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
115256         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
115257         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
115258         * m4/xstrtol (gl_XSTRTOL): Likewise.
115260         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
115261         AC_TYPE_LONG_LONG_INT.
115262         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
115263         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
115264         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
115265         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
115267         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
115268         on stdbool.
115270         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
115271         (gl_PREREQ_XSTRTOUL): Remove.
115273         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
115275         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
115276         mode.
115278 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115280         Add and change modules to make it easier for coreutils to use
115281         gnulib-tool.
115282         * modules/backupfile (Files): Remove m4/d-ino.m4.
115283         (Depends-on): Add d-ino.
115284         * modules/cycle-check (Depends-on): Add stdint.
115285         (lib_SOURCES): Add cycle-check.h.
115286         * modules/d-ino: New module.
115287         * modules/d-type: New module.
115288         * modules/error (Files): Remove m4/strerror_r.m4.
115289         * modules/filemode (Files): Add m4/st_dm_mode.m4.
115290         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
115291         m4/inttypes_h.m4, m4/uintmax_t.m4.
115292         (Depends-on): Add stdint.
115293         (lib_SOURCES): Add fsusage.h.
115294         * modules/getcwd (Files): Remove d-ino.m4.
115295         (Depends-on): Add d-ino.
115296         * modules/getndelim2 (Depends-on): Add stdint.
115297         * modules/glob (Files): Remove m4/d-type.m4.
115298         (Depends-on): Add d-type.
115299         * modules/host-os: New module.
115300         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
115301         m4/inttypes_h.m4, m4/uintmax_t.m4.
115302         * Depends-on: Add stdint.
115303         (lib_SOURCES): Add human.h.
115304         * modules/inttostr (Files): Remove m4/intmax_t.m4,
115305         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
115306         m4/uintmax_t.m4, m4/ulonglong.m4.
115307         (Depends-on): Add stdint.
115308         (EXTRA_DIST): Add inttostr.h.
115309         * modules/lchmod: New module.
115310         * modules/link-follow: New module.
115311         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
115312         (Depends-on): Add lchmod.
115313         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
115314         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
115315         (Depends-on): Add stdint.
115316         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
115317         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
115318         (Depends-on): Add stdint.
115319         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
115320         * modules/perl: New module.
115321         * modules/regex (Depends-on): Add stdint.
115322         * modules/rmdir-errno: New module.
115323         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
115324         m4/intmax_t.m4.
115325         (Depends-on): Add stdint.
115326         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
115327         m4/uintmax_t.m4.
115328         (Depends-on): Add stdint.
115329         * modules/unlink-busy: New module.
115330         * modules/utimecmp (Depends-on): Add stdint.
115331         * modules/uptime: New module.
115332         * modules/winsz-ioctl: New module.
115333         * modules/winsz-termios: New module.
115334         * modules/xnanosleep (Depends-on): Add nanosleep.
115335         * modules/ullong_max: Remove.
115336         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
115337         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
115338         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
115339         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
115340         (Depends-on): Add inttypes.
115341         (lib_SOURCES): Add xstrtol.h.
115342         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
115343         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
115344         * MODULES.html.sh: Move 'assert' into the assert section.
115345         Move 'dummy' into the linking section.
115346         Remove ullong_max.
115347         Add section for compatibility checks for POSIX:2001 functions,
115348         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
115349         winsz-ioctl, and winsz-termios into it.
115350         Add lchmod.
115351         Add top-level Misc section and put host-os, perl, and uptime
115352         into it.
115354 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115356         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
115357         now assume the stdint module.  Do not include inttypes.h.
115358         * lib/fsusage.h: Likewise.
115359         * lib/getndelim2.c: Likewise.
115360         * lib/human.h: Likewise.
115361         * lib/inttostr.h: Likewise.
115362         * lib/obstack.c: Likewise.
115363         * lib/regex_internal.h: Likewise.
115364         * lib/tempname.c: Likewise.
115365         * lib/utimecmp.c: Likewise.
115366         * lib/xstrtol.h: Likewise.
115368         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
115370         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
115371         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
115372         * lib/xtime.h: Likewise.
115374 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115376         * modules/openat (Files): Add lib/fchmodat.c.
115377         Fixes problem reported by Jay Youngman.
115379 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115381         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
115382         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
115384 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
115385             Bruno Haible  <bruno@clisp.org>
115387         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
115388         and is a script that invokes bison. Tighten the code. Add comments.
115390 2006-08-18  Jim Meyering  <jim@meyering.net>
115392         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
115393         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
115394         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
115395         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
115397 2006-08-18  Bruno Haible  <bruno@clisp.org>
115399         * modules/bison-i18n: New file.
115400         * MODULES.html.sh (Internationalization functions): Add it.
115402 2006-08-18  Bruno Haible  <bruno@clisp.org>
115404         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
115405         sys/statvfs.h. When getmntinfo was found, check its declaration and
115406         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
115408 2006-08-18  Bruno Haible  <bruno@clisp.org>
115410         * m4/bison-i18n.m4: New file, from bison.
115412 2006-08-18  Bruno Haible  <bruno@clisp.org>
115414         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
115415         (ME_DUMMY): Treat "kernfs" as a dummy.
115416         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
115418 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115420         Update from coreutils.
115422         2006-08-15  Jim Meyering  <jim@meyering.net>
115424         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
115426         2006-01-17  Jim Meyering  <jim@meyering.net>
115428         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
115430         2006-01-11  Jim Meyering  <jim@meyering.net>
115432         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
115433         Check for the lchmod function.
115435 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115437         Update from coreutils.
115439         * lib/__fpending.h: Add copyright notice.
115440         * lib/fprintftime.h: Likewise.
115441         * lib/savedir.c: Use (C) in copyright notice.
115442         * lib/savedir.h: Likewise.
115444         2006-08-15  Jim Meyering  <jim@meyering.net>
115446         * lib/at-func.c: New file, with the logic of all emulated at-functions.
115447         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
115448         in support of the EXPECTED_ERRNO macro.
115449         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
115450         definitions.  Instead, define the appropriate symbols and include
115451         "at-func.c".
115452         * lib/mkdirat.c (mkdirat): Likewise.
115453         * lib/fchmodat.c (fchmodat): Likewise.
115454         (ENOSYS): Remove definition.
115455         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
115456         it.  Don't include "unistd--.h" -- it wasn't ever used.
115458         2006-01-17  Jim Meyering  <jim@meyering.net>
115460         Rewrite fts.c not to change the current working directory,
115461         by using openat, fstatat, fdopendir, etc..
115463         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
115464         (HAVE_OPENAT_SUPPORT): Define.
115465         [_LIBC] (fchdir): Don't undef or define; no longer used.
115466         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
115467         Now, this `function' always succeeds, and consumes its file descriptor
115468         parameter -- so callers must not close such FDs.  Update callers.
115469         (diropen_fd, opendirat, cwd_advance_fd): New functions.
115470         (diropen): Add parameter, SP.  Adjust all callers.
115471         Implement using diropen_fd, rather than open.
115472         (fts_open): Initialize new member, fts_cwd_fd.
115473         Remove fts_rft-setting code.
115474         (fts_close): Close fts_cwd_fd, if necessary.
115475         (__opendir2): Define in terms of opendir or opendirat,
115476         depending on whether the FST_NOCHDIR flag is set.
115477         (fts_build): Since fts_safe_changedir consumes its FD, and since
115478         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
115479         and close the dup'd file descriptor upon failure.
115480         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
115481         (fts_safe_changedir): Tweak semantics to reflect that this function
115482         now calls cwd_advance_fd and hence consumes its FD argument.
115483         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
115484         [struct FTS] (fts_rft): Remove now-unused member.
115485         [struct FTS] (fts_cycle.state): Improve comment.
115487         * lib/openat.c (openat_needs_fchdir): New function.
115488         * lib/openat.h (openat_needs_fchdir): Declare it.
115490 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
115492         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
115493         Problem and fix reported by Pádraig Brady in
115494         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
115496 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115498         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
115500 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115502         * lib/memcoll.c (memcoll): Optimize for the common case where the
115503         arguments are bytewise equal.
115505 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115507         * doc/regexprops-generic.texi: Add a copyright notice.
115509 2006-08-15  Bruno Haible  <bruno@clisp.org>
115511         * modules/tmpdir (License): Change to LGPL.
115513 2006-08-15  Bruno Haible  <bruno@clisp.org>
115515         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
115516         module.
115518 2006-08-14  Simon Josefsson  <jas@extundo.com>
115520         * config/srclist.txt: Add gnupload.
115522 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115524         Change copyright notice from LGPL 2 to GPL 2, since that's the
115525         standard form used in the gnulib repository.
115526         * tests/test-lock.c: Likewise.
115527         * tests/test-stdint.c: Likewise.
115528         * tests/test-tls.c: Likewise.
115530         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
115531         prelude-manager.  User shorter URLs for GNU projects, without '?'.
115532         Add copyright notice.
115534         * check-module: Add copyright notice.  Output a copyright
115535         notice if "--version" is specified.
115536         * modules/COPYING: New file.
115537         * tests/test-getaddrinfo.c: Add copyright notice.
115538         * tests/test-verify.c: Likewise.
115540 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115542         Change copyright notice from LGPL 2 to GPL 2, since that's the
115543         standard form used in the gnulib repository.
115544         * lib/lock.c: LGPL -> GPL.
115545         * lib/lock.h: Likewise.
115546         * lib/strnlen1.c: Likewise.
115547         * lib/strnlen1.h: Likewise.
115548         * lib/tls.c: Likewise.
115549         * lib/tls.h: Likewise.
115550         * lib/tmpdir.c: Likewise.
115552         * lib/TODO: Remove; this belongs only in coreutils.
115554 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115556         Add copyright notices to long-enough files that lack them, since
115557         otherwise the files aren't clearly free.  Use the same notice that
115558         getdate.texi already uses.
115559         * doc/alloca-opt.texi: Add copyright notice.
115560         * doc/alloca.texi: Likewise.
115561         * doc/ctime.texi: Likewise.
115562         * doc/functions.texi: Likewise.
115563         * doc/gcd.texi: Likewise.
115564         * doc/gnulib-tool.texi: Likewise.
115565         * doc/inet_ntoa.texi: Likewise.
115566         * doc/visibility.texi: Likewise.
115568         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
115569         * doc/quote.texi: Add copyright notice.
115571         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
115572         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
115573         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
115574         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
115575         is now obsolete, and give a pointer to the Sun list.
115576         Add copyright notice.
115578 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115580         * config/srclistvars.sh: Add copyright notice.
115582 2006-08-14  Eric Blake  <ebb9@byu.net>
115584         Import the following change from libc:
115586         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
115588         Upstream bug 2997.
115589         * lib/misc/error.c: Add space between program name and message if file
115590         name is missing.
115592 2006-08-12  Karl Berry  <karl@gnu.org>
115594         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
115595         remove, these originate in gnulib now.
115597 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115599         * doc/Makefile (standards.info standards.html standards.dvi):
115600         Also depend on make-stds.texi.
115602 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115604         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
115605         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
115607         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
115608         in wchar_t.  Problem reported by Eric Blake.
115610         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
115611         LEN is smaller than SIZE.  Suggested by Bruno Haible.
115612         Also, help the compiler to keep LEN in a register.
115614 2006-08-11  Eric Blake  <ebb9@byu.net>
115616         * users.txt: Sort.  Add tar.
115618 2006-08-11  Bruno Haible  <bruno@clisp.org>
115620         * users.txt: New file.
115622 2006-08-11  Bruno Haible  <bruno@clisp.org>
115624         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
115625         before <wchar.h>. Needed for OSF/1 and BSD/OS.
115627 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115629         * modules/snprintf (Depends-on): Remove minmax.
115630         (Maintainer): Add self and Bruno.
115632 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115634         * lib/.cppi-disable: Add snprintf.h, socket_.h.
115635         * lib/snprintf.c: Include <errno.h> and <limits.h>.
115636         (EOVERFLOW): Define if the system does not.
115637         Do not include "minmax.h"; it wasn't used.
115638         (snprintf): Don't assume size_t promotes to an unsigned type.
115639         Fix bug when generated string was too long for the buffer: the
115640         buffer's contents are supposed to be the initial prefix of the
115641         output.  Don't assume vasnprintf returns EOVERFLOW if the size
115642         exceeds INT_MAX; do the check ourselves.
115644         Import the following changes from libc:
115646         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
115648         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
115649         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
115650         set wc to the byte which couldn't be converted.
115651         (re_string_reconstruct): Don't clear valid_raw_len before calling
115652         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
115653         tip_context using re_string_context_at.
115655         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
115657         * lib/posix/regex.h: g++ still cannot handled [restrict].
115659         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
115661         * lib/posix/regex.h: Remove special handling for VMS.
115663 2006-08-10  Jim Meyering  <jim@meyering.net>
115665         * modules/same-inode: New module.
115666         * modules/dev-ino: New module.
115667         * modules/cycle-check: Depend on these modules, rather than simply
115668         including their .h files.
115669         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
115670         required via m4/cycle-check.m4.
115671         * modules/same: Depend on new same-inode module, rather than
115672         including same-inode.h.
115673         * modules/chdir-safer: New file.
115675         * modules/chown (Depends-on): Add stat-macros.
115677 2006-08-10  Jim Meyering  <jim@meyering.net>
115679         * m4/cycle-check.m4: New file.
115680         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
115681         * m4/dev-ino.m4, m4/same-inode.m4: New files.
115683 2006-08-10  Eric Blake  <ebb9@byu.net>
115685         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
115686         in from original proposal.
115688 2006-08-10  Eric Blake  <ebb9@byu.net>
115689         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
115691         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
115692         namespace.
115694 2006-08-10  Bruno Haible  <bruno@clisp.org>
115696         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
115697         as well.
115699 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115701         Sync from coreutils.
115703         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
115705         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
115706         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
115708 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115710         * modules/restrict: Remove; no longer needed now that we assume
115711         Autoconf 2.59 or later.
115712         * MODULES.html.sh: Remove 'restrict'.
115713         * modules/argp (Depends-on): Remove 'restrict'.
115714         * modules/base64 (Depends-on): Likewise.
115715         * modules/gc (Depends-on): Likewise.
115716         * modules/getaddrinfo (Depends-on): Likewise.
115717         * modules/glob (Depends-on): Likewise.
115718         * modules/inet_ntop (Depends-on): Likewise.
115719         * modules/inet_pton (Depends-on): Likewise.
115720         * modules/memxor (Depends-on): Likewise.
115721         * modules/regex (Depends-on): Likewise.
115722         * modules/strtok_r (Depends-on): Likewise.
115723         * modules/time_r (Depends-on): Likewise.
115725 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115727         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
115728         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
115729         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115730         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
115731         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
115732         * m4/memxor.m4 (gl_MEMXOR): Likewise.
115733         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
115734         gl_C_RESTRICT replaced by AC_C_RESTRICT.
115736         Merge from coreutils.
115737         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
115738         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
115739         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
115740         * m4/time_r.m4 (gl_TIME_R): Likewise.
115742 2006-08-09  Karl Berry  <karl@gnu.org>
115744         * config/srclist.txt: no more gettext-tools, per Bruno.
115746 2006-08-08  Eric Blake  <ebb9@byu.net>
115748         * modules/verror: New module.
115749         * MODULES.html.sh: Document it.
115751 2006-08-08  Eric Blake  <ebb9@byu.net>
115753         * lib/verror.h, lib/verror.c: New files.
115755 2006-08-08  Eric Blake  <ebb9@byu.net>
115757         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
115758         verror_at_line output complies with GNU Coding Standards even when
115759         file is NULL.
115761 2006-08-07  Bruno Haible  <bruno@clisp.org>
115763         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
115764         versions of AIX.
115765         Reported by Ralf Wildenhues.
115767 2006-08-07  Bruno Haible  <bruno@clisp.org>
115769         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
115770         in an AC_DEFUN. Needed so that the autoconf snippets can use
115771         AC_REQUIRE.
115773 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115775         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115776         Initialize pkgdata_DATA.
115777         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
115778         overriding it.
115780 2006-08-06  Eric Blake  <ebb9@byu.net>
115782         * lib/error.h: Fold in some upstream changes from glibc.
115783         * lib/error.c: Likewise.
115785 2006-08-04  Bruno Haible  <bruno@clisp.org>
115787         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115788         Make the mostlyclean-local rule depend on mostlyclean-generic.
115789         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
115791 2006-07-31  Bruno Haible  <bruno@clisp.org>
115793         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
115794         <stdlib.h>, <string.h>.
115796 2006-07-30  Bruno Haible  <bruno@clisp.org>
115798         * modules/readlink (License): Change to LGPL.
115800 2006-07-30  Bruno Haible  <bruno@clisp.org>
115802         * modules/javaversion (Makefile.am): Distribute javaversion.java and
115803         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
115804         set PKGDATADIR to point to it.
115806 2006-07-30  Bruno Haible  <bruno@clisp.org>
115808         * modules/csharpexec (configure.ac): Comment out macro invocation.
115809         * modules/javaexec (configure.ac): Likewise.
115810         * modules/javacomp-script (configure.ac): Likewise.
115812         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
115814 2006-07-30  Bruno Haible  <bruno@clisp.org>
115816         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
115817         linked-list.
115819 2006-07-30  Bruno Haible  <bruno@clisp.org>
115821         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
115823 2006-07-30  Bruno Haible  <bruno@clisp.org>
115825         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115826         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
115827         get removed.
115829 2006-07-29  Bruno Haible  <bruno@clisp.org>
115831         Make it possible for gnulib-tool to work with locally modified or
115832         augmented gnulib repositories.
115833         * gnulib-tool (func_usage): Document --local-dir option.
115834         (local_gnulib_dir): New variable.
115835         Handle --local-dir option.
115836         (func_lookup_file): New function.
115837         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
115838         (func_get_description, func_get_filelist, func_get_description,
115839         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
115840         func_get_automake_snippet, func_get_include_directive,
115841         func_get_license, func_get_maintainer): Use func_lookup_file.
115842         (func_import, func_create_testdir): Use func_lookup_file.
115844 2006-07-29  Bruno Haible  <bruno@clisp.org>
115846         * modules/setenv (Depends-on): Add unistd.
115848 2006-07-29  Bruno Haible  <bruno@clisp.org>
115850         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
115852 2006-07-29  Bruno Haible  <bruno@clisp.org>
115854         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
115856 2006-07-29  Bruno Haible  <bruno@clisp.org>
115858         * gnulib-tool (import, update): If there is no Makefile.am, look at
115859         aclocal.m4, instead of bailing out.
115861 2006-07-29  Bruno Haible  <bruno@clisp.org>
115863         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
115864         Categorize the options by when they are useful.
115866 2006-07-29  Bruno Haible  <bruno@clisp.org>
115868         * gnulib-tool (func_usage): Document option --no-libtool.
115869         Handle option --no-libtool.
115870         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
115871         for changed semantics of $libtool variable.
115872         (func_import): Likewise. If libtool is not used, show this through
115873         an option --no-libtool.
115874         (func_create_testdir): Update.
115876 2006-07-29  Bruno Haible  <bruno@clisp.org>
115878         * gnulib-tool (func_import): Extend error message about missing
115879         --doc-base.
115881 2006-07-29  Bruno Haible  <bruno@clisp.org>
115883         * gnulib-tool (func_import): Don't create the $docbase directory if
115884         there is no file to store there.
115886 2006-07-29  Bruno Haible  <bruno@clisp.org>
115888         * gnulib-tool (autoconf_minversion): If a --dir option is given and
115889         relevant, look for configure.ac there, not in the current directory.
115890         Also use a simple search for AC_PREREQ, not "autoconf --trace".
115892 2006-07-29  Bruno Haible  <bruno@clisp.org>
115894         * gnulib-tool (SORT): New variable.
115895         (func_usage): Undocument --assume-autoconf option.
115896         Remove --assume-autoconf option handling.
115897         (autoconf_minversion): Determine from the contents of configure.ac.
115898         (func_import): Remove autoconf_minversion handling.
115899         Suggested by Eric Blake.
115901 2006-07-29  Bruno Haible  <bruno@clisp.org>
115903         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
115905 2006-07-29  Bruno Haible  <bruno@clisp.org>
115907         * config/srclist.txt (*setenv.[ch]): Remove rules.
115909 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115911         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
115913 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115915         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
115916         arpa/inet.h.
115918 2006-07-28  Simon Josefsson  <jas@extundo.com>
115920         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
115921         * modules/inet_pton (Depends-on): Likewise.
115923 2006-07-28  Simon Josefsson  <jas@extundo.com>
115925         * m4/netinet_in_h.m4: New file.
115927 2006-07-28  Simon Josefsson  <jas@extundo.com>
115929         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
115930         #include's.
115932 2006-07-28  Simon Josefsson  <jas@extundo.com>
115934         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
115935         #include's.
115937 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
115939         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
115940         setgid on directories only if they set these bits.
115941         * lib/modechange.h: Remove obsolete comment about masks.
115943 2006-07-28  Eric Blake  <ebb9@byu.net>
115945         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
115946         macro expansion.
115948 2006-07-28  Bruno Haible  <bruno@clisp.org>
115950         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
115952 2006-07-28  Bruno Haible  <bruno@clisp.org>
115954         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
115956 2006-07-28  Bruno Haible  <bruno@clisp.org>
115958         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
115959         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
115960         Define fallbacks.
115961         Avoids link error on FreeBSD 4.x.
115962         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
115964         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
115965         encoding.
115966         * lib/mbswidth.c (iswcntrl): Likewise.
115968 2006-07-27  Bruno Haible  <bruno@clisp.org>
115970         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
115971         test.
115973 2006-07-27  Bruno Haible  <bruno@clisp.org>
115975         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
115976         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
115977         defined.
115979 2006-07-26  Eric Blake  <ebb9@byu.net>
115981         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
115983 2006-07-26  Eric Blake  <ebb9@byu.net>
115985         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
115986         like mingw that lack mkstemp.
115987         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
115988         avoid compilation warning on mingw.
115990 2006-07-26  Bruno Haible  <bruno@clisp.org>
115992         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
115993         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
115994         INT_FAST*_MIN, INTPTR_MIN.
115996 2006-07-25  Bruno Haible  <bruno@clisp.org>
115998         * modules/version-etc (Depends-on): Add stdarg.
116000 2006-07-25  Bruno Haible  <bruno@clisp.org>
116002         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
116003         complex commands.
116005 2006-07-25  Bruno Haible  <bruno@clisp.org>
116007         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
116008         defined in <stdarg.h> or config.h.
116010 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
116012         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
116013         (gl_STDIO_SAFER): Remove.
116015 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
116017         * MODULES.html.sh (File stream based Input/Output):
116018         Add fopen-safer, tmpfile-safer; remove stdio-safer.
116019         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
116020         * modules/fopen-safer, modules/tmpfile-safer: New files.
116021         * modules/stdio-safer: Remove.
116023 2006-07-24  Bruno Haible  <bruno@clisp.org>
116025         * modules/tmpdir: New file.
116026         * MODULES.html.sh (File system functions): Add it.
116028 2006-07-24  Bruno Haible  <bruno@clisp.org>
116030         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
116031         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
116033 2006-07-24  Bruno Haible  <bruno@clisp.org>
116035         * modules/clean-temp: New file.
116037 2006-07-24  Bruno Haible  <bruno@clisp.org>
116039         * m4/tmpdir.m4: New file, from GNU gettext.
116041 2006-07-24  Bruno Haible  <bruno@clisp.org>
116043         * lib/tmpdir.h: New file, from GNU gettext.
116044         * lib/tmpdir.c: New file, from GNU gettext.
116046 2006-07-24  Bruno Haible  <bruno@clisp.org>
116048         * lib/clean-temp.h: New file, from GNU gettext.
116049         * lib/clean-temp.c: New file, from GNU gettext.
116051 2006-07-23  Eric Blake  <ebb9@byu.net>
116053         * modules/stdio-safer (Files): Add tmpfile-safer.c.
116054         (Depends-on): Add binary-io.
116056 2006-07-23  Eric Blake  <ebb9@byu.net>
116058         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
116060 2006-07-23  Eric Blake  <ebb9@byu.net>
116062         * lib/tmpfile-safer.c: New file.
116063         * lib/stdio-safer.h (fopen_safer): Add prototype.
116064         * lib/stdio--.h (tmpfile): Make safer.
116066 2006-07-23  Bruno Haible  <bruno@clisp.org>
116068         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
116069         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
116070         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
116071         gl_linked_remove_at): Use it.
116073 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116074         and Simon Josefsson <jas@extundo.com>
116076         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
116078         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
116080 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116082         * modules/close-stream: New file.
116083         * modules/closeout (Description): Make it clear that it exits
116084         with a diagnostic on error.
116085         (Depends-on): Add close-stream.  Remove fpending, stdbool.
116086         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
116088 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116090         * m4/close-stream.m4: New file.
116092 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116094         * lib/close-stream.c, lib/close-stream.h: New files.
116096 2006-07-22  Bruno Haible  <bruno@clisp.org>
116098         Merge from GNU gettext 0.15.
116100         2006-05-01  Bruno Haible  <bruno@clisp.org>
116102                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
116104         2006-07-22  Bruno Haible  <bruno@clisp.org>
116106                 * modules/javaversion: New file.
116107                 * MODULES.html.sh (Java): Add javaversion.
116109         2006-03-12  Bruno Haible  <bruno@clisp.org>
116111                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
116113         2005-12-04  Bruno Haible  <bruno@clisp.org>
116115                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
116116                 (untested).
116118         2006-06-21  Bruno Haible  <bruno@clisp.org>
116120                 Avoid warnings from recent versions of mcs.
116121                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
116122                 -o, -L, -r any more. Use options documented since mcs-1.0
116123                 instead. Similarly for -g.
116125         2005-12-04  Bruno Haible  <bruno@clisp.org>
116127                 * build-aux/csharpcomp.sh.in: Suffix for resources is
116128                 .resources, not .resource.
116130         2005-07-09  Bruno Haible  <bruno@clisp.org>
116132                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
116133                 add a .dll suffix.
116134                 Reported by Mark Junker <mjscod@gmx.de>.
116136         2006-07-22  Bruno Haible  <bruno@clisp.org>
116138                 * modules/gettext: Upgrade to gettext-0.15.
116139                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
116140                 m4/visibility.m4.
116141                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
116143 2006-07-22  Bruno Haible  <bruno@clisp.org>
116145         Merge from GNU gettext 0.15.
116147         2006-03-25  Bruno Haible  <bruno@clisp.org>
116149                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
116151         2006-07-21  Bruno Haible  <bruno@clisp.org>
116153                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
116154                 "1.1".
116156         2006-05-09  Bruno Haible  <bruno@clisp.org>
116158                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
116159                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
116160                 for the conftestver execution.
116162         2006-05-01  Bruno Haible  <bruno@clisp.org>
116164                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
116165                 optional target-version argument. Verify that the compiler
116166                 groks source of the specified source-version, or add -source
116167                 option as necessary. Verify that the compiler produces
116168                 bytecode in the specified target-version, or add -target and
116169                 -source options as necessary. Make the result of the test
116170                 available as variable CONF_JAVAC. Also log error output in
116171                 config.log.
116173         2006-03-11  Bruno Haible  <bruno@clisp.org>
116175                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
116177         2006-05-09  Bruno Haible  <bruno@clisp.org>
116179                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
116180                 CLASSPATH_SEPARATOR to a semicolon.
116182         2006-03-12  Bruno Haible  <bruno@clisp.org>
116184                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
116185                 available as variable CONF_JAVA, for subsequent autoconf
116186                 tests. Also log error output in config.log.
116188         2006-07-19  Bruno Haible  <bruno@clisp.org>
116190                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
116191                 that getline works on glibc2 systems. Needed to avoid trouble
116192                 in relocatable.c.
116193                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
116195         2005-12-04  Bruno Haible  <bruno@clisp.org>
116197                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
116198                 launcher (untested).
116200         2005-12-04  Bruno Haible  <bruno@clisp.org>
116202                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
116204         2006-07-22  Bruno Haible  <bruno@clisp.org>
116206                 * gettext.m4: Update from GNU gettext-0.15.
116207                 * nls.m4: Likewise.
116208                 * po.m4: Likewise.
116209                 * inttypes-pri.m4: Likewise.
116210                 * inttypes-h.m4: Renamed from inttypes.m4.
116211                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
116213 2006-07-22  Bruno Haible  <bruno@clisp.org>
116215         Merge from GNU gettext 0.15.
116217         2005-07-05  Bruno Haible  <bruno@clisp.org>
116219                 * printf-args.c (printf_fetchargs): Work around broken
116220                 definition of wint_t on mingw.
116222         2005-02-12  Bruno Haible  <bruno@clisp.org>
116224                 * xallocsa.h: Add extern "C" for C++.
116226         2006-05-17  Bruno Haible  <bruno@clisp.org>
116228                 Cygwin portability.
116229                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
116231         2006-04-30  Bruno Haible  <bruno@clisp.org>
116233                 * progreloc.c: Include <mach-o/dyld.h> if available.
116234                 (find_executable): Use _NSGetExecutablePath when possible.
116236         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
116238                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
116239                 function.
116241         2005-12-29  Bruno Haible  <bruno@clisp.org>
116243                 * progreloc.c (set_program_name_and_installdir): Fix
116244                 compilation error.
116246         2005-12-04  Bruno Haible  <bruno@clisp.org>
116248                 Cygwin portability.
116249                 * progreloc.c: Include <windows.h> also on Cygwin.
116250                 (find_executable): Add support for Cygwin.
116251                 (set_program_name_and_installdir): Handle also platforms with
116252                 nonempty EXEEXT.
116254         2006-07-11  Bruno Haible  <bruno@clisp.org>
116256                 * javacomp.c: Fix a comment.
116257                 Reported by Jim Meyering.
116259         2006-04-30  Bruno Haible  <bruno@clisp.org>
116261                 * javacomp.h (compile_java_class): Add source_version,
116262                 target_version arguments.
116263                 * javacomp.c: Rewritten to choose only a compiler that
116264                 respects the specified source_version and target_version.
116266         2006-06-27  Bruno Haible  <bruno@clisp.org>
116268                 Assume correct S_ISDIR macro.
116269                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
116271         2006-07-22  Bruno Haible  <bruno@clisp.org>
116273                 * javaversion.h: New file, from GNU gettext.
116274                 * javaversion.c: New file, from GNU gettext.
116275                 * javaversion.java: New file, from GNU gettext.
116276                 * javaversion.class: New file, from GNU gettext.
116278         2006-05-17  Bruno Haible  <bruno@clisp.org>
116280                 Cygwin portability.
116281                 * javaexec.c (execute_java_class): Test for jview program
116282                 also on Cygwin.
116284         2006-04-09  Bruno Haible  <bruno@clisp.org>
116286                 * fatal-signal.c: Don't include string.h.
116287                 (at_fatal_signal): Use a copying loop instead of memcpy.
116289         2005-12-04  Bruno Haible  <bruno@clisp.org>
116291                 * csharpexec.c: Add support for 'clix' launcher (untested).
116292                 (execute_csharp_using_sscli): New function.
116293                 (execute_csharp_program): Call it.
116295         2006-06-21  Bruno Haible  <bruno@clisp.org>
116297                 Avoid warnings from recent versions of mcs.
116298                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
116299                 -o, -L, -r any more. Use options documented since mcs-1.0
116300                 instead. Similarly for -g.
116302         2005-07-09  Bruno Haible  <bruno@clisp.org>
116304                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
116305                 add a .dll suffix.
116306                 Reported by Mark Junker <mjscod@gmx.de>.
116308         2006-06-17  Bruno Haible  <bruno@clisp.org>
116310                 * config.charset: Update for NetBSD 3.0.
116312         2006-05-17  Bruno Haible  <bruno@clisp.org>
116314                 Cygwin portability.
116315                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
116317         2006-05-16  Bruno Haible  <bruno@clisp.org>
116319                 * localcharset.c [CYGWIN]: Include <windows.h>.
116320                 (get_charset_aliases): For Cygwin, return the same CPxxx
116321                 aliases list as under WIN32.
116322                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
116323                 the environment variables. Fall back to GetACP().
116325         2006-04-05  Bruno Haible  <bruno@clisp.org>
116327                 * config.charset: Update Juan Manuel Guerrero's address.
116329         2005-02-12  Bruno Haible  <bruno@clisp.org>
116331                 * allocsa.h: Add extern "C" for C++.
116333         2005-02-10  Bruno Haible  <bruno@clisp.org>
116335                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
116336                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
116338         2006-07-22  Bruno Haible  <bruno@clisp.org>
116340                 * gettext.h: Update to GNU gettext-0.15.
116342 2006-07-22  Bruno Haible  <bruno@clisp.org>
116344         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
116345         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
116346         lib-prefix.m4, longdouble.m4, ssize_t.m4.
116348 2006-07-21  Eric Blake  <ebb9@byu.net>
116350         * modules/stdlib-safer: New file.
116351         * MODULES.html.sh (File stream based Input/Output): Add
116352         stdlib-safer.
116354 2006-07-21  Eric Blake  <ebb9@byu.net>
116356         * lib/stdlib-safer.h: New file from coreutils, required by
116357         stdlib--.h.
116359 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
116361         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
116363 2006-07-20  Bruno Haible  <bruno@clisp.org>
116365         * gnulib-tool: Recognize new option --assume-autoconf.
116366         (autoconf_minversion): New variable.
116367         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
116369 2006-07-20  Bruno Haible  <bruno@clisp.org>
116371         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
116373 2006-07-19  Derek R. Price  <derek@ximbiot.com>
116375         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
116376         Reindent and repaginate.
116378 2006-07-19  Derek Price  <derek@ximbiot.com>
116380         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
116381         Correct grammar.
116383 2006-07-17  Bruno Haible  <bruno@clisp.org>
116385         * modules/list: New file.
116386         * modules/array-list: New file.
116387         * modules/carray-list, modules/carray-list-tests: New files.
116388         * modules/linked-list, modules/linked-list-tests: New files.
116389         * modules/avltree-list, modules/avltree-list-tests: New files.
116390         * modules/rbtree-list, modules/rbtree-list-tests: New files.
116391         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
116392         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
116393         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
116394         * modules/oset: New file.
116395         * modules/array-oset: New file.
116396         * modules/avltree-oset, modules/avltree-oset-tests: New files.
116397         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
116398         * tests/test-carray_list.c: New file.
116399         * tests/test-linked_list.c: New file.
116400         * tests/test-avltree_list.c: New file.
116401         * tests/test-rbtree_list.c: New file.
116402         * tests/test-linkedhash_list.c: New file.
116403         * tests/test-avltreehash_list.c: New file.
116404         * tests/test-rbtreehash_list.c: New file.
116405         * tests/test-avltree_oset.c: New file.
116406         * tests/test-rbtree_oset.c: New file.
116407         * MODULES.html.sh (Container data structures): New section.
116409 2006-07-17  Bruno Haible  <bruno@clisp.org>
116411         * m4/gl_list.m4: New file.
116413 2006-07-17  Bruno Haible  <bruno@clisp.org>
116415         * lib/gl_list.h: New file.
116416         * lib/gl_list.c: New file.
116417         * lib/gl_array_list.h: New file.
116418         * lib/gl_array_list.c: New file.
116419         * lib/gl_carray_list.h: New file.
116420         * lib/gl_carray_list.c: New file.
116421         * lib/gl_linked_list.h: New file.
116422         * lib/gl_linked_list.c: New file.
116423         * lib/gl_anylinked_list1.h: New file.
116424         * lib/gl_anylinked_list2.h: New file.
116425         * lib/gl_avltree_list.h: New file.
116426         * lib/gl_avltree_list.c: New file.
116427         * lib/gl_anyavltree_list1.h: New file.
116428         * lib/gl_anyavltree_list2.h: New file.
116429         * lib/gl_rbtree_list.h: New file.
116430         * lib/gl_rbtree_list.c: New file.
116431         * lib/gl_anyrbtree_list1.h: New file.
116432         * lib/gl_anyrbtree_list2.h: New file.
116433         * lib/gl_anytree_list1.h: New file.
116434         * lib/gl_anytree_list2.h: New file.
116435         * lib/gl_linkedhash_list.h: New file.
116436         * lib/gl_linkedhash_list.c: New file.
116437         * lib/gl_anyhash_list1.h: New file.
116438         * lib/gl_anyhash_list2.h: New file.
116439         * lib/gl_avltreehash_list.h: New file.
116440         * lib/gl_avltreehash_list.c: New file.
116441         * lib/gl_rbtreehash_list.h: New file.
116442         * lib/gl_rbtreehash_list.c: New file.
116443         * lib/gl_anytreehash_list1.h: New file.
116444         * lib/gl_anytreehash_list2.h: New file.
116446         * lib/gl_oset.h: New file.
116447         * lib/gl_oset.c: New file.
116448         * lib/gl_array_oset.h: New file.
116449         * lib/gl_array_oset.c: New file.
116450         * lib/gl_avltree_oset.h: New file.
116451         * lib/gl_avltree_oset.c: New file.
116452         * lib/gl_rbtree_oset.h: New file.
116453         * lib/gl_rbtree_oset.c: New file.
116454         * lib/gl_anytree_oset.h: New file.
116456 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116458         * m4/mkancesdirs.m4: New file.
116459         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
116460         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
116461         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
116462         it.
116464 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116466         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
116467         * lib/mkancesdirs.h: New files.
116468         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
116469         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
116470         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
116471         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
116472         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
116473         callers changed.  Revamp internals significantly, by not
116474         attempting to create directories that are temporarily more
116475         permissive than the final results.  Do not attempt to use
116476         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
116477         This removes some race conditions, fixes some bugs, and simplifies
116478         things.  Use new dirchownmod function to do owner and mode changes.
116479         * lib/mkdir-p.h: Likewise.
116480         * lib/modechange.c (octal_to_mode): New function.
116481         (struct mode_change): New member mentioned.
116482         (make_node_op_equals): New arg mentioned.  All callers changed.
116483         (mode_compile): Keep track of which mode bits the user has explicitly
116484         mentioned.
116485         (mode_adjust): New arg DIR, so that we implement the X op correctly.
116486         New arg PMODE_BITS, to keep track of which mode bits the user
116487         mentioned; it treats S_ISUID and S_ISGID speciall.
116488         All callers changed.
116489         * lib/modechange.h: Likewise.
116491 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116493         * MODULES.html.sh: Add mkancestors.
116494         * modules/mkancesdirs: New module.
116495         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
116496         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
116497         The chdir-safer and afs files are now orphans; I'll remove them
116498         unless someone speaks up.
116499         Add lib/dirchownmod.c, lib/dirchownmod.h.
116500         (Depends-on): Remove alloca, chown, save-cwd, dirname.
116501         Add lchown, mkancesdirs.
116502         (Maintainer): Add self.
116504 2006-07-15  Karl Berry  <karl@gnu.org>
116506         * gnulib-tool: help message wording/arrangement.
116508 2006-07-14  Simon Josefsson  <jas@extundo.com>
116510         * doc/gnulib.texi (Libtool and Windows): New section.
116512 2006-07-12  Simon Josefsson  <jas@extundo.com>
116514         * modules/gendocs (License): Fix license, approved by Karl.
116516 2006-07-12  Eric Blake  <ebb9@byu.net>
116518         * MODULES.html.sh: Add gendocs.
116520 2006-07-11  Eric Blake  <ebb9@byu.net>
116522         * modules/fdl: New module, to install doc/fdl.texi.
116523         * MODULES.html.sh: Add new section for documentation modules.
116524         * gnulib-tool: Avoid space-tab.
116525         (--doc-base): New option, to manage files from doc.
116527 2006-07-11  Eric Blake  <ebb9@byu.net>
116529         * m4/absolute-header.m4: Fix comments to match recent change.
116531 2006-07-11  Eric Blake  <ebb9@byu.net>
116533         * gnulib-tool: List --doc-base before --tests-base.
116535 2006-07-11  Derek R. Price  <derek@ximbiot.com>
116537         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
116539 2006-07-11  Bruno Haible  <bruno@clisp.org>
116541         * README: Mention where to put documentation.
116543 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116545         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
116547 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116549         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
116550         to stdint.m4.
116552 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116554         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
116555         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
116556         "no/such/file/stdint.h" when there is no such file, so that
116557         the resulting C code can be parsed by dodgy compilers.
116558         Problems reported by Bob Proulx.
116560 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116562         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
116563         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116564         macros into the GNU _D_EXACT_NAMLEN.
116565         * lib/savedir.c:  Likewise.
116566         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
116568 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116569         and Paul Eggert  <eggert@cs.ucla.edu>
116571         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
116572         * m4/savedir.m4:
116573         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116574         macros into the GNU _D_EXACT_NAMLEN.
116576 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116578         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
116579         around the absolute name, to work around a problem with the HP-UX
116580         11.23 native C compiler, reported by Bob Proulx.
116582 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116584         * doc/maintain.texi, make-stds.texi: Sync from
116585         <http://savannah.gnu.org/projects/gnustandards>.
116587 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116589         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
116591 2006-07-09  Jim Meyering  <jim@meyering.net>
116593         * m4/glob.m4: Remove a doubled word in a comment.
116595 2006-07-09  Jim Meyering  <jim@meyering.net>
116597         * lib/argp-pv.c: Remove a doubled word in a comment.
116598         * lib/check-version.c (check_version): Likewise.
116599         * lib/javacomp.c (compile_java_class): Likewise.
116601 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
116603         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
116604         for the benefit of people using Autoconf 2.60.  If you want to
116605         support older Autoconf versions you can copy m4/onceonly_2_57.m4
116606         (or m4/onceonly.m4, if pre-2.57) manually.
116608 2006-07-08  Jim Meyering  <jim@meyering.net>
116610         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
116611         comment.
116612         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
116613         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
116614         comment.
116616 2006-07-08  Jim Meyering  <jim@meyering.net>
116618         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
116620 2006-07-07  Simon Josefsson  <jas@extundo.com>
116622         * tests/test-crc.c: Change expected crc value, the test vector
116623         were probably computed using the old broken crc.c?
116625 2006-07-06  Simon Josefsson  <jas@extundo.com>
116627         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
116628         now the canonical place for the M4 file).
116630         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
116631         from the sys_socket dependency now.
116633         * modules/inet_pton (Files): Ditto.
116635         * modules/inet_ntop (Files): Ditto.
116637 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
116639         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
116640         not gl_PREREQ_GETUSERSHELL.
116642 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116644         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
116645         with only one argument, for Autoconf 2.60.
116646         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
116647         expand to nothing, so add a shell command to avoid syntax error.
116648         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116650 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116652         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
116654 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116656         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
116657         no longer needed.  Check for isblank decl.
116658         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
116659         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
116660         of existence.
116662 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116664         * lib/getloadavg.c: Use __VMS, not VMS.
116665         * lib/getopt.c: Likewise.
116666         * lib/getpagesize.h: Likewise.
116667         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
116668         and probably does not work.
116670 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116672         * lib/.cppi-disable: Add wcwidth.
116673         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
116674         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
116675         (ISGRAPH): Remove.  All uses changed to isgraph.
116676         (FOLD) [!defined _LIBC]: Remove special case.
116677         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
116678         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
116679         HAVE_ISBLANK.
116680         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
116681         case.
116683 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116685         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
116686         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
116687         brackets.  Other minor changes to suppress some compiler
116688         warnings.
116690 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116691         and Paul Eggert  <eggert@cs.ucla.edu>
116693         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
116694         of invoking obsolescent AC_HEADER_DIRENT macro.
116695         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
116696         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
116697         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
116698         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
116699         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
116700         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
116701         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
116702         * m4/readdir.m4: Remove; no longer needed.
116704 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116705         and Paul Eggert  <eggert@cs.ucla.edu>
116707         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
116708         Don't worry about this obsolete case any more.
116709         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
116710         directories.
116711         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
116712         worry about this obsolete case any more.
116713         * lib/fts.c: Likewise.
116714         * lib/getcwd.c: Likewise.
116715         * lib/glob.h: Likewise.
116716         * lib/savedir.c: Likewise.
116718 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116720         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
116721         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
116722         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
116723         needed.
116724         All uses removed.
116725         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116726         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116727         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
116728         needed.
116729         * m4/getdate.m4 (gl_GETDATE): Likewise.
116730         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116731         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116732         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116733         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116734         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116735         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116736         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
116737         needed.
116739 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116741         * lib/memcasecmp.c: Include <limits.h>.
116742         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
116743         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
116744         Don't assume isdigit succeeds only on '0' through '9'.
116746 2006-07-05  Eric Blake  <ebb9@byu.net>
116748         * modules/getaddrinfo (Depends-on): Add snprintf.
116750 2006-07-05  Eric Blake  <ebb9@byu.net>
116752         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
116753         to avoid 'header present but could not be compiled' on cygwin.
116755 2006-07-05  Eric Blake  <ebb9@byu.net>
116757         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
116758         missing from netdb.h.
116759         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
116761 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116763         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
116764         no longer needed.
116765         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
116766         * m4/getdate.m4 (gl_GETDATE): Likewise.
116767         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116768         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116769         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116770         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116771         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116773 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116775         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
116776         All uses of is_space replaced by isspace.
116777         * lib/exit.h: Don't talk about STDC_HEADERS.
116778         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
116779         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
116780         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
116781         replaced by isprint etc.
116782         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
116783         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116784         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
116785         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
116786         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
116787         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116789 2006-07-05  Bruno Haible  <bruno@clisp.org>
116791         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
116792         the function exists, before testing against AIX.
116793         Reported by Martin Lambers <marlam@marlam.de>.
116795 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116797         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
116798         From Mark D. Baushke.
116800 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116802         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
116803         to the absolute name, not just one, to bypass Sun C 5.8's
116804         "warning: #include of /usr/include/... may be non-portable".
116806 2006-07-04  Eric Blake  <ebb9@byu.net>
116808         * modules/dirname-tests: New test module.
116809         * tests/test-dirname.c: New file, replacing dirname.c
116810         TEST_DIRNAME section that was recently deleted.
116812 2006-07-04  Bruno Haible  <bruno@clisp.org>
116814         Assume ANSI C header files and <ctype.h> functions.
116815         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
116816         (mbsnwidth): Use isprint, iscntrl instead.
116818 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116820         Merge from coreutils.
116821         * MODULES.html.sh: Add xstrtold.
116822         * modules/xstrtold: New file.
116823         * modules/cycle-check (Files): Add lib/same-inode.h.
116824         * modules/dirname (Files): Add m4/double-slash-root.m4.
116825         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
116826         * modules/mkdir-p (Files): Add lib/same-inode.h.
116827         * modules/same (Files): Add lib/same-inode.h.
116829 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116831         * m4/absolute-header.m4: Renamed from full-header-path.m4.
116832         This is to keep the terminology clean; POSIX talks about
116833         "absolute pathnames", not "full pathnames", but the GNU
116834         Coding Standards say to use "path" for something else;
116835         so use "absolute" to keep both sides happy.
116836         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
116837         Set gl_absolute_header, not gl_full_header_path.
116838         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
116839         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
116840         All uses changed.
116842         Merge from coreutils.
116844         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116846         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
116847         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
116848         want to require the building of c-strtod.o.
116849         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
116850         needs -lm directly.
116851         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
116853         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116855         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
116856         --as-needed option if available.  Problem reported by Albert Chin in
116857         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
116858         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
116859         cc merely issues a bunch of annoying warnings for --as-needed
116860         (this problem was reported by Bob Proulx).  Also, try linking with
116861         -lm to detect a bug in binutils 2.16 (this problem was reported
116862         by Ralf Wildenhues).
116864         2006-06-18  Jim Meyering  <jim@meyering.net>
116866         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
116867         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
116868         macro.
116869         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
116870         also check for glibc-2.4's abort-inducing bug.
116872         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
116873         Low-probability clean-up should be to use rmdir to get rid of
116874         the just-created directory, not unlink.
116876         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
116877         configure fail, and request a bug report to inform us about it.
116878         Add a comment that, barring reports to the contrary, in 2007 we'll
116879         assume ftruncate is universally available.
116881         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116883         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
116885         2006-03-12  Jim Meyering  <jim@meyering.net>
116887         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
116888         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
116889         * m4/same.m4 (gl_SAME): Likewise.
116890         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
116892         2006-03-11  Eric Blake  <ebb9@byu.net>
116894         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
116895         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
116896         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
116897         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
116899 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116901         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
116902         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
116903         reported by Mark D. Baushke, one in
116904         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
116906         Merge from coreutils.
116908         * lib/.cppi-disable: Add stdint_.h.
116909         * lib/.cvsignore: Add stdint.h.
116911         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116913         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
116914         both double and long double versions.
116915         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
116916         * lib/xstrtold.c: New file.
116917         * lib/xstrtod.h (xstrtold): New decl.
116919         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
116921         * lib/filemode.c (setst): Remove.
116922         (strmode): Rewrite to avoid setst.  This makes the code shorter,
116923         (arguably) clearer, and the generated code is a bit smaller on my
116924         Debian GNU/Linux stable x86 host.
116926         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116928         * lib/filemode.c: Include "filemode.h" first, to test the interface.
116929         Assume that filemode.h includes sys/types.h and sys/stat.h.
116930         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
116931         (ftypelet): Reorder to put common cases first, for efficiency.
116932         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
116933         to do 'M'.
116934         (strmode): Renamed from mode_string, and now stores 12 bytes instead
116935         of 10, for compatibility with FreeBSD.  All callers changed.
116936         (filemodestring): Now stores 12 bytes instead of 10, and sets file
116937         types that can't be deduced solely from st_mode.  First arg is now a
116938         const pointer.
116939         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
116940         (strmode): Renamed from mode_string.
116941         (filemodestring): New decl.
116942         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
116943         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
116944         needed.
116945         (S_ISPORT, S_ISWHT): New macros, if not already defined.
116947         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
116949         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
116950         fsusage.h now does that.  Include fsusage.h first, to test interface.
116951         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
116952         at most one method (the old code could have generated decls that
116953         didn't conform to C89, not that this was ever exercised).
116954         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
116956         2006-03-19  Jim Meyering  <jim@meyering.net>
116958         Work even in a chroot where d_ino values for entries in "/"
116959         don't match the stat.st_ino values for the same names.
116960         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
116961         number, iterate through all entries again, using lstat instead.
116962         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
116963         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
116965         * lib/getcwd.c (__getcwd): Clarify a comment.
116966         Use memcpy in place of a call to strcpy.
116968         2006-03-12  Jim Meyering  <jim@meyering.net>
116970         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
116971         matches that of the current directory (which we're about to chdir ".."
116972         out of), then save the dev-ino of the parent, instead.
116974         * lib/same-inode.h (SAME_INODE): New file/macro.
116975         * lib/chdir-safer.c (SAME_INODE): Remove definition.
116976         Include "same-inode.h", instead.
116977         * lib/same.c: Likewise.
116978         * lib/cycle-check.h: Include "same-inode.h".
116979         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
116980         * lib/cycle-check.c (SAME_INODE): Remove definition.
116981         * lib/root-dev-ino.h: Include "same-inode.h".
116983         2006-03-11  Eric Blake  <ebb9@byu.net>
116985         * lib/same.c (same_name): s/base_name/last_component/
116986         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
116987         * lib/filenamecat.c (file_name_concat): Likewise.
116989         2006-03-11  Eric Blake  <ebb9@byu.net>,
116990                     Paul Eggert  <eggert@cs.ucla.edu>
116992         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
116993         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
116994         drive prefix.
116995         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
116996         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
116997         (last_component): New method.
116998         * lib/dirname.c (dir_len): Determine when drive letters need a
116999         subsequent slash.  Preserve // when it is special.
117000         (dir_name): Don't append dot when drive letter is absolute.
117001         [TEST_DIRNAME]: Move into a full-blown gnulib test.
117002         * lib/basename.c (base_name): New semantics - malloc the result.
117003         Preserve // when it is special.  Preserve relative files that look
117004         like drive letters.
117005         (base_len): Preserve // when it is special.
117006         (last_component): New method, similar to old base_name semantics.
117007         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
117008         base_name.  Strip redundant slashes from ///.
117010 2006-07-03  Jim Meyering  <jim@meyering.net>
117012         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
117013         macro is used before the first cycle_check call.
117015 2006-07-03  Eric Blake  <ebb9@byu.net>
117017         * modules/dirname (Depends-on): Add xstrndup.
117019 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
117021         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
117022         test cases, so that config.log is a bit easier to follow.
117024 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
117026         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
117027         both are 64 bits, since this seems to be the tradition, and this
117028         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
117029         we ever run into a host that prefers long long to long in this
117030         case, we'll need another configure-time test.  Problem reported by
117031         Jim Meyering.
117033 2006-07-02  Eric Blake  <ebb9@byu.net>
117035         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
117037 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117039         * modules/inttypes (Depends-on): No longer depends on stdint.
117040         * modules/stdint (Description): Say more about assumptions.
117041         Say that the fast types might differ.  Say macros are used.
117042         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
117043         (Makefile.am): Revise list of substituted symbols to match
117044         new stdint.m4.
117045         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
117046         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
117047         * tests/test-stdint.c (verify_same_types)
117048         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
117049         the code conforms to C99/C89.
117050         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
117051         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
117053 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117055         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
117056         but fix a bug, by requiring at least 64 bits.
117057         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
117058         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
117059         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
117060         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
117062         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
117063         changes.  Make 2.59 a prerequisite.  Check and substitute for
117064         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
117065         inttypes.h.  Do not use special include files; just use the
117066         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
117067         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
117068         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
117069         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
117070         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
117071         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
117072         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
117073         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
117074         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
117075         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
117076         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
117077         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
117078         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
117079         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
117080         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
117081         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
117082         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
117083         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
117084         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
117085         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
117086         WINT_MAX.  Check for C99 conformance more strictly, by detecting
117087         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
117088         not check for things that C99 does not require, e.g., int8_t.  If
117089         a test isn't needed unless <stdint.h> isn't working, and is
117090         unlikely to be needed for any other reason, then don't do it
117091         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
117092         size_t, since we assume C89 freestanding at least.  Do not check
117093         for sig_atomic_t, wchar_t, or wint_t, since the code now does
117094         the right thing even if the types are not defined.  Instead use:
117095         (gl_STDINT_TYPE_PROPERTIES): New macro.
117096         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
117097         testing whether <sys/types.h> clashes, as Autoconf does this for
117098         us now.  All uses removed.
117099         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
117100         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
117101         (gl_CHECK_TYPE_SAME):
117102         Remove; no longer needed.
117103         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
117104         exists, since we'll return 0 anyway in that case.
117105         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
117107 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117109         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
117110         possible collision with system files.
117111         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
117112         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
117113         WCHAR_MIN and WCHAR_MAX in this case.
117114         (<stddef.h>): Do not include; no longer needed.
117115         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
117116         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
117117         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
117118         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
117119         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
117120         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
117121         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
117122         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
117123         !defined(__c99))]: Include in this case too, since it's harmless
117124         now.
117125         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
117126         dangerous to do so.
117127         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
117128         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
117129         (_STDINT_MIN, _STDINT_MAX): New macros.
117130         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
117131         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
117132         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
117133         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
117134         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
117135         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
117136         macros, not typedefs; this simplifies things quite a bit.
117137         Use long int for all types narrower than int64_t.
117138         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
117139         Define in terms of long long int or int64_t or long int,
117140         not int64_t or int32_t.  This saves some compile-time testing.
117141         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
117142         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
117143         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
117144         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
117145         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
117146         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
117147         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
117148         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
117149         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
117150         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
117151         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
117152         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
117153         undef any previous version and define our own version, for
117154         simplicity and consistency with the new macros for types.
117155         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
117156         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
117157         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
117158         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
117159         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
117160         @WINT_T_SUFFIX@ to keep things simple here.
117161         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
117162         Simplify by assuming typical 8/16/32/64 host, since we're
117163         already doing that elsewhere anyway.
117164         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
117165         and assume long long int is 64 bits if available.  This
117166         speeds up 'configure'.
117168 2006-07-01  Eric Blake  <ebb9@byu.net>
117170         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
117171         Reported by Andreas Buening.
117173 2006-07-01  Eric Blake  <ebb9@byu.net>
117175         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
117177 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
117179         * lib/getaddrinfo.c: fixed typo
117181 2006-06-29  Jim Meyering  <jim@meyering.net>
117183         * modules/strftime (Maintainer): Add my name, since with the
117184         FPRINTFTIME changes strftime.c has forked from glibc.
117186 2006-06-29  Eric Blake  <ebb9@byu.net>
117188         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
117190 2006-06-29  Eric Blake  <ebb9@byu.net>
117192         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
117194 2006-06-29  Eric Blake  <ebb9@byu.net>
117196         * lib/stat_.h: New file.
117198 2006-06-29  Eric Blake  <ebb9@byu.net>
117200         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
117201         unused static function.
117203 2006-06-29  Eric Blake  <ebb9@byu.net>
117205         * doc/functions.texi (Function Portability): Document missing lstat
117206         on mingw.
117208 2006-06-29  Eric Blake  <ebb9@byu.net>
117210         * MODULES.html.sh: Add sys_stat.
117211         * modules/sys_stat: New module.
117212         * modules/mkstemp (Depends-on): Add sys_stat.
117214 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117216         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
117218 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117220         * m4/c-bs-a.m4: Removed.
117222 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117224         * lib/strftime.c: Assume strftime() exists.
117226 2006-06-29  Derek Price  <derek@ximbiot.com>
117228         * modules/c-bs-a: Removed - \a is C89.
117229         * MODULES.html.sh: Remove c-bs-a.
117231 2006-06-29  Bruno Haible  <bruno@clisp.org>
117233         * modules/wcwidth (License): Change to LGPL.
117235 2006-06-28  Simon Josefsson  <jas@extundo.com>
117237         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
117238         on _WIN32.
117240         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
117241         getnameinfo.
117243 2006-06-28  Simon Josefsson  <jas@extundo.com>
117245         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
117247 2006-06-28  Simon Josefsson  <jas@extundo.com>
117249         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
117250         functions there.  It will succeed on Windows XP, but on Windows
117251         2000 and (presumably) earlier, it will fail, and use the internal
117252         re-implementation.
117253         (use_win32_p): New function.
117254         (getaddrinfo): Use strtoul on servname, to support numeric ports.
117255         Support AI_NUMERICSERV to disable getservbyname.
117256         (getnameinfo): New function, only supports
117257         NI_NUMERICHOST|NI_NUMERICSERV for now.
117259         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
117260         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
117261         getnameinfo.
117263 2006-06-28  Eric Blake  <ebb9@byu.net>
117265         * modules/wcwidth: New file.
117266         * modules/mbchar (Depends-on): Add wcwidth.
117267         * modules/mbswidth (Depends-on): Add wcwidth.
117268         * MODULES.html.sh: Add wcwidth.
117270 2006-06-28  Eric Blake  <ebb9@byu.net>
117272         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
117273         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
117275 2006-06-28  Eric Blake  <ebb9@byu.net>
117277         * lib/xvasprintf.h: Fix comments.
117279 2006-06-28  Eric Blake  <ebb9@byu.net>
117281         * lib/mbchar.h (wcwidth): Include wcwidth.h.
117282         * lib/mbswidth.c (wcwidth): Move from here...
117283         * lib/wcwidth.h: ...to this new file.
117285 2006-06-28  Derek R. Price  <derek@ximbiot.com>
117287         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
117289         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
117290         it's obsolete.
117291         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
117293 2006-06-28  Derek R. Price  <derek@ximbiot.com>
117295         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
117296         Autoconf 2.60 says this stuff was obsolete.
117298 2006-06-28  Bruno Haible  <bruno@clisp.org>
117300         * modules/wcwidth (Files): Add m4/wchar_t.m4.
117302 2006-06-28  Bruno Haible  <bruno@clisp.org>
117304         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
117305         gt_TYPE_WCHAR_T.
117307 2006-06-28  Bruno Haible  <bruno@clisp.org>
117309         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
117310         declaration for wcwidth.
117311         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
117313 2006-06-28  Bruno Haible  <bruno@clisp.org>
117315         * lib/mkdtemp.c [MINGW]: Include <io.h>.
117316         (mkdir): Define using _mkdir.
117318 2006-06-28  Bruno Haible  <bruno@clisp.org>
117320         * lib/getaddrinfo.h: Fix POSIX URL.
117321         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
117322         _WIN32.
117323         (use_win32_p): Make static.
117324         (getaddrinfo): Reject service name if it is empty or does not consist
117325         solely of decimal digits, or if its value is > 65535.
117326         (getnameinfo): Remove useless casts.
117328 2006-06-27  Simon Josefsson  <jas@extundo.com>
117330         * modules/sys_select: New file, suggested by Bruno Haible, Paul
117331         Eggert and Martin Lambers.
117333 2006-06-27  Simon Josefsson  <jas@extundo.com>
117335         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
117336         Eggert and Martin Lambers.
117338 2006-06-27  Bruno Haible  <bruno@clisp.org>
117340         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
117341         result to 0, not to empty.
117342         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
117344 2006-06-27  Bruno Haible  <bruno@clisp.org>
117346         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
117348 2006-06-26  Simon Josefsson  <jas@extundo.com>
117350         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
117351         present.
117353 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
117355         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
117356         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
117357         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
117359 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
117361         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
117363 2006-06-26  Bruno Haible  <bruno@clisp.org>
117365         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
117367 2006-06-26  Bruno Haible  <bruno@clisp.org>
117369         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
117371 2006-06-26  Bruno Haible  <bruno@clisp.org>
117373         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
117374         SGI C compiler in pre-C99 mode.
117375         Suggested by Mark D. Baushke and Larry Jones.
117377 2006-06-26  Bruno Haible  <bruno@clisp.org>
117379         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
117380         WCHAR_MAX.
117381         Reported by Mark D. Baushke and Larry Jones.
117383 2006-06-26  Bruno Haible  <bruno@clisp.org>
117385         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
117386         in pre-C99 mode.
117387         Suggested by Mark D. Baushke and Larry Jones.
117389 2006-06-23  Simon Josefsson  <jas@extundo.com>
117390             Bruno Haible  <bruno@clisp.org>
117392         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
117393         Emit mostlyclean-local rule.
117394         (func_emit_tests_Makefile_am): Likewise.
117395         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
117397 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
117399         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
117401 2006-06-23  Bruno Haible  <bruno@clisp.org>
117403         * tests/test-stdint.c: Update to match ISO C 99 Technical
117404         Corrigendum 1.
117406 2006-06-23  Bruno Haible  <bruno@clisp.org>
117408         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
117410 2006-06-23  Bruno Haible  <bruno@clisp.org>
117412         * lib/stdint_.h: Treat IRIX like OpenBSD.
117414 2006-06-23  Bruno Haible  <bruno@clisp.org>
117416         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
117417         ISO C 99 Technical Corrigendum 1.
117419 2006-06-22  Simon Josefsson  <jas@extundo.com>
117421         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
117422         MinGW.
117424 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
117426         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
117427         needed.  Some compiler complained about some of them.  Problem reported
117428         by Larry Jones in
117429         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
117431 2006-06-21  Simon Josefsson  <jas@extundo.com>
117433         * tests/test-getaddrinfo.c: New file.
117435         * modules/getaddrinfo-tests: New file.
117437         * MODULES.html.sh: Add inet_pton.
117439         * modules/inet_pton: New file.
117441 2006-06-21  Simon Josefsson  <jas@extundo.com>
117443         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
117444         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
117445         of using the (limited) gnulib implementation on Windows XP.
117447         * m4/inet_pton.m4: New file.
117449 2006-06-21  Simon Josefsson  <jas@extundo.com>
117451         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
117452         variable.
117454         * lib/socket_.h: Don't define WINVER.
117456         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
117457         slightly modified to work in gnulib.
117459 2006-06-21  Simon Josefsson  <jas@extundo.com>
117461         * doc/gnulib.texi (Windows sockets): Add.
117463 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
117465         * lib/read-file.c (fread_file): Start with buffer allocation of
117466         0 bytes rather than 1 byte; this simplifies the code.
117467         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
117468         code to free buffer and save/restore errno.
117469         (internal_read_file): Remove unused local.
117471 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
117473         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
117474         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
117475         Problem reported by Denis Excoffier in
117476         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
117478 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
117480         * modules/sys_socket, modules/socklen: Include sys/types since
117481         FreeBSD 4.x's sys/socket.h needs it.
117483 2006-06-19  Simon Josefsson  <jas@extundo.com>
117485         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
117487 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
117489         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
117491 2006-06-19  Bruno Haible  <bruno@clisp.org>
117493         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
117494         and FULL_PATH_INTTYPES_H in angle brackets.
117495         Reported by Mark D. Baushke <mdb@gnu.org>.
117497 2006-06-17  Eric Blake  <ebb9@byu.net>
117499         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
117500         errno.
117502 2006-06-17  Bruno Haible  <bruno@clisp.org>
117504         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
117505         <sys/inttypes.h>.
117507 2006-06-17  Bruno Haible  <bruno@clisp.org>
117509         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
117510         whether errno is declared. Assume <errno.h> declares errno.
117512 2006-06-17  Bruno Haible  <bruno@clisp.org>
117514         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
117516 2006-06-17  Bruno Haible  <bruno@clisp.org>
117518         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
117519         problem on Solaris 2.5.1.
117521 2006-06-16  Eric Blake  <ebb9@byu.net>
117523         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
117524         * lib/unicodeio.c [!defined errno]: Likewise.
117525         * lib/strtol.c [!defined errno]: Likewise.
117526         * lib/strtod.c [!defined errno]: Likewise.
117528 2006-06-15  Eric Blake  <ebb9@byu.net>
117530         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
117532 2006-06-15  Eric Blake  <ebb9@byu.net>
117534         * config/srclist.txt (ssize_t.m4): Lose sync.
117536 2006-06-15  Bruno Haible  <bruno@clisp.org>
117538         * modules/stdint (Files): Include m4/full-header-path.m4,
117539         m4/size_max.m4, m4/wchar_t.m4.
117540         (Makefile.am): Many more substitutions.
117541         * modules/stdint-tests: New file.
117542         * tests/test-stdint.c: New file.
117544 2006-06-15  Bruno Haible  <bruno@clisp.org>
117546         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
117547         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
117548         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
117549         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
117550         gl_CHECK_TYPE_SAME): New macros.
117552 2006-06-15  Bruno Haible  <bruno@clisp.org>
117554         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
117556 2006-06-15  Bruno Haible  <bruno@clisp.org>
117558         * lib/stdint_.h: Rewritten to be fully auto-configured.
117559         Fixes bug on HP-UX/IA64.
117561 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
117563         * lib/getdate.y (__attribute__): Don't define if already defined.
117564         Problem reported by Larry Jones.
117565         * lib/utimens.c (__attribute__): Likewise.
117567 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
117569         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
117570         reported by Andreas Schwab.
117572 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117573             Bruno Haible  <bruno@clisp.org>
117575         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
117576         check for the declaration of strnlen and a run test that exposes the
117577         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
117578         rpl_strndup.
117580 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117581             Bruno Haible  <bruno@clisp.org>
117583         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
117585 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117587         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
117588         compile test, for Tru64 4.0D.
117590 2006-05-28  Karl Berry  <karl@gnu.org>
117592         * config/srclist.txt (printf-args.c): lose sync.
117594 2006-05-26  Martin Lambers  <marlam@marlam.de>
117596         * lib/getpass.c: Updates the test for the native W32 API, and adds
117597         missing includes, thus fixing compilation warnings.
117599 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117601         * lib/exclude.c (exclude_fnmatch): New function.
117602         (excluded_file_name): Call exclude_fnmatch.
117603         * lib/exclude.h (excluded_file_name): New prototype
117605 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
117607         * lib/tempname.c (small_open, large_open): New macros.
117608         (__open, __open64) [!_LIBC]: Remove.
117609         (__gen_tempname): Use small_open and large_open instead of __open
117610         and __open64.  This fixes a portability bug on HP-UX 11.11i
117611         reported by Simon Wing-Tang in
117612         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
117614 2006-05-24  Bruno Haible  <bruno@clisp.org>
117616         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
117617         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
117618         Reported by Thorsten Maerz <torte@netztorte.de> via
117619         Aaron Stone <aaron@serendipity.cx>.
117621 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117623         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
117624         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
117625         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
117626         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
117627         not really conditional on the cache.
117628         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
117630 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117632         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
117633         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
117634         (my_usleep): Don't mishandle maximum value.
117636 2006-05-19  Jim Meyering  <jim@meyering.net>
117638         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
117640 2006-05-17  Bruno Haible  <bruno@clisp.org>
117642         Cygwin portability.
117643         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
117645 2006-05-17  Bruno Haible  <bruno@clisp.org>
117647         * lib/stdint_.h: Fix recognition of Cygwin.
117649 2006-05-15  Bruno Haible  <bruno@clisp.org>
117651         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
117652         on libtool patch by Ralf Wildenhues.
117654 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
117656         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
117657         test for C99 conformance; (bool) 0.5 is an integer constant
117658         expression, but (bool) -0.5 is not.  Problem reported by Fedor
117659         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
117661 2006-05-11  Simon Josefsson  <jas@extundo.com>
117663         * m4/xvasprintf.m4: Fix obvious typo.
117665 2006-05-11  Jim Meyering  <jim@meyering.net>
117667         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
117668         James Lemley.
117670 2006-05-10  Simon Josefsson  <jas@extundo.com>
117672         * lib/md4.c: Typo fix, update copyright years.
117673         (K1, K2): Don't use L because it turn computations into 64-bit on
117674         64-bit platforms.
117676 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
117678         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
117679         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
117680         unwanted sign propagation, e.g., on hosts with 64-bit int.
117681         There still are some problems with reeelly weird theoretical hosts
117682         (e.g., 33-bit int) but it's not worth worrying about now.
117683         * lib/sha1.c (rol): Likewise.
117684         (K1, K2, K3, K4): Remove unnecessary L suffix.
117686 2006-05-10  Bruno Haible  <bruno@clisp.org>
117688         * lib/des.c: Cast to avoid warnings.
117690 2006-05-09  Bruno Haible  <bruno@clisp.org>
117692         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
117693         (Depends-on): Depend also on xsize, stdarg.
117694         (configure.ac): Add gl_XVASPRINTF.
117696 2006-05-09  Bruno Haible  <bruno@clisp.org>
117698         * m4/xvasprintf.m4: New file.
117700 2006-05-09  Bruno Haible  <bruno@clisp.org>
117702         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
117703         (EOVERFLOW): Define fallback value.
117704         (xstrcat): New function.
117705         (xvasprintf): Recognize the special case of a string concatenation.
117707 2006-05-08  Eric Blake  <ebb9@byu.net>
117709         * gnulib-tool (func_version): Base copyright year on CVS date.
117710         (func_emit_copyright_notice): New function.
117711         (func_emit_lib_Makefile_am): Use it.
117712         (func_emit_tests_Makefile_am): Likewise.
117713         (func_import): Likewise.
117715 2006-05-08  Bruno Haible  <bruno@clisp.org>
117717         * modules/stdarg: New file.
117718         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
117720 2006-05-08  Bruno Haible  <bruno@clisp.org>
117722         * m4/stdarg.m4: New file, from GNU gettext.
117724 2006-05-08  Bruno Haible  <bruno@clisp.org>
117726         * config/srclist.txt (build-aux/config.rpath): different from latest
117727         release.
117729 2006-05-08  Bruno Haible  <bruno@clisp.org>
117731         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
117733 2006-05-05  Jim Meyering  <jim@meyering.net>
117735         * m4/warning.m4: New file, derived from bison's file by the same name.
117737 2006-05-03  Bruno Haible  <bruno@clisp.org>
117739         * lib/stdint_.h: Shorter URL.
117740         * lib/inttypes.h: Likewise.
117742 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117744         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
117746 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117748         * lib/verify.h: Document the internals better.  Most of this change
117749         was written by Bruno Haible.
117751 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117753         * doc/verify.texi: New file, partly based on a proposal by
117754         Bruno Haible.
117756 2006-05-02  Bruno Haible  <bruno@clisp.org>
117758         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
117759         test from here...
117760         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
117762 2006-04-29  Bruno Haible  <bruno@clisp.org>
117764         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
117765         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
117767 2006-04-29  Bruno Haible  <bruno@clisp.org>
117769         * gnulib-tool: Make --update option actually work.
117771 2006-04-29  Bruno Haible  <bruno@clisp.org>
117773         * doc/gcd.texi: New file.
117774         * doc/gnulib.texi: Include it.
117776 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
117778         * lib/getdate.y (get_date): When adding relative date, start with the
117779         initial time, not with the result of the first mktime call.
117781 2006-04-25  Bruno Haible  <bruno@clisp.org>
117783         * gnulib-tool (func_import): Output the include directives in three
117784         blocks, sorted separately.
117785         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117787 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117789         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
117790         to define main with arguments, for C++.  Reported by Eric Blake.
117791         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
117792         Prefer 'int main ()' to 'int main (void)', for C++.
117793         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
117794         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
117795         for 'main', for C99 and C++.
117797 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117799         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
117800         Don't assume that exit status -1 is valid.
117801         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117802         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
117803         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
117804         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
117805         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
117806         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
117807         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
117808         functions can be used without declaring them, or that you can
117809         exit with status -1.
117810         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
117812 2006-04-24  Karl Berry  <karl@gnu.org>
117814         * config/srclist.txt (longdouble.m4): sync lost.
117816 2006-04-24  Eric Blake  <ebb9@byu.net>
117818         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
117820 2006-04-24  Bruno Haible  <bruno@clisp.org>
117822         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
117823         poll() implementation in AIX.
117824         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117826 2006-04-24  Bruno Haible  <bruno@clisp.org>
117828         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
117829         assigned exactly once.
117831 2006-04-23  Claudio Fontana  <claudio@gnu.org>
117832             Bruno Haible  <bruno@clisp.org>
117834         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
117835         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
117836         for AM_CPPFLAGS.
117838 2006-04-23  Bruno Haible  <bruno@clisp.org>
117840         * modules/copy-file: Depend on unistd.
117841         * modules/execute: Likewise.
117842         * modules/fatal-signal: Likewise.
117843         * modules/findprog: Likewise.
117844         * modules/mkdtemp : Likewise.
117845         * modules/pipe: Likewise.
117846         * modules/wait-process: Likewise.
117848 2006-04-23  Bruno Haible  <bruno@clisp.org>
117850         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
117851         condition was already detected.
117852         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117854 2006-04-23  Bruno Haible  <bruno@clisp.org>
117856         * lib/copy-file.c: Include <unistd.h> unconditionally.
117857         * lib/execute.c: Likewise.
117858         * lib/fatal-signal.c: Likewise.
117859         * lib/findprog.c: Likewise.
117860         * lib/mkdtemp.c: Likewise.
117861         * lib/pipe.h: Likewise.
117862         * lib/pipe.c: Likewise.
117863         * lib/wait-process.h: Likewise.
117865 2006-04-23  Bruno Haible  <bruno@clisp.org>
117867         * gnulib-tool (func_usage): Fix --import description. Document
117868         --update.
117869         (func_import): Create temporary file in a temporary directory, if
117870         --dry-run is specified. Silence errors from 'grep' when there are no
117871         m4 files in $m4dir.
117872         (func_create_testdir): Silence errors from 'grep' when there are no
117873         m4 files in $m4dir.
117874         Reported by Karl Berry <karl@freefriends.org>.
117876 2006-04-20  Bruno Haible  <bruno@clisp.org>
117878         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
117879         one argument, so that the code will be portable to Autoconf 2.60.
117880         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
117881         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
117882         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
117884 2006-04-19  Derek Price  <derek@ximbiot.com>
117885             Eric Blake  <ebb9@byu.net>
117887         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
117888         rather than "/full/path.h".  Update comment to match.  Shorten &
117889         generalize m4_translit call via AS_TR_CPP.
117891 2006-04-19  Derek Price  <derek@ximbiot.com>
117892             Eric Blake  <ebb9@byu.net>
117894         * lib/inttypes.h: Correct grammar in comment.
117896 2006-04-18  Derek Price  <derek@ximbiot.com>
117897             Paul Eggert  <eggert@cs.ucla.edu>
117899         * modules/inttypes: New file.
117900         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
117902 2006-04-18  Derek Price  <derek@ximbiot.com>
117903             Paul Eggert  <eggert@cs.ucla.edu>
117905         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
117906         New files.
117908 2006-04-18  Derek Price  <derek@ximbiot.com>
117909             Paul Eggert  <eggert@cs.ucla.edu>
117911         * lib/inttypes.h: New file.
117912         * lib/strtoimax.c: Assume <inttypes.h>.
117914 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
117916         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
117917         isn't mounted.  Problem reported by Kir Kolyshkin.
117919 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
117921         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
117922         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
117923         Derek R. Price.
117924         * lib/regex.h (RE_DUP_MAX): Update comment to match current
117925         implementation.
117927 2006-04-12  Eric Blake  <ebb9@byu.net>
117929         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
117930         is now done automatically by the corresponding Autoconf macro.
117932 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
117934         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
117935         time_r.h.
117937 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117939         Merge regex changes from libc, removing some of our
117940         POSIX-conformance changes that were rejected and redoing them in a
117941         less-intrusive way.
117943         * lib/regcomp.c (re_compile_internal, init_dfa):
117944         Length arg is now size_t, not Idx.  All uses changed.
117945         (peek_token): Forward decl now says internal_function.
117946         (__re_error_msgid, __re_error_msgid_idx):
117947         Now static rather than extern with attribute_hidden.
117948         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
117949         For some reason libc prefers K&R style defns for external functions.
117950         (regerror) [!defined _LIBC]: Likewise.
117951         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
117952         (seek_collating_symbol_entry, lookup_collation_sequence_value):
117953         (build_range_exp, build_collating_symbol):
117954         Use K&R-style defn.
117955         (re_compile_fastmap): Use '\0' to memset, not 0.
117956         (utf8_sb_map): Make the calculations more obvious.
117957         (init_dfa, parse_bracket_exp, build_charclass_op):
117958         Call calloc and cast result, as glibc does.
117959         (init_word_char, fetch_token, peek_token, peek_token_bracket):
117960         (build_range_exp, build_collating_symbol):
117961         Now internal functions.
117963         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
117965         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
117966         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
117967         Don't depend on VMS; depend on __VMS instead, for POSIX
117968         namespace cleanness.
117969         (regoff_t): Define to ssize_t, not long int.
117971         Remove the REG_ macros named below.  Instead, make the old names
117972         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
117973         __USE_GNU_REGEX.
117974         (REG_BACKSLASH_ESCAPE_IN_LISTS):
117975         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
117976         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
117977         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
117978         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
117979         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
117980         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
117981         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
117982         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
117983         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
117984         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
117985         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
117986         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
117987         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
117988         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
117989         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
117990         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
117991         (REG_NREGS):
117992         Remove.  All uses replaced by the old RE_* names.
117993         (RE_BACKSLASH_ESCAPE_IN_LISTS):
117994         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
117995         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
117996         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
117997         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
117998         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
117999         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
118000         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
118001         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
118002         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
118003         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
118004         Don't bother having these macros be independent of each others'
118005         values, since they no longer exist in the POSIX name space.
118007         Rename the following member names back to their old names,
118008         unless !__USE_GNU_REGEX.  All uses changed back.
118009         (buffer): Renamed from re_buffer.
118010         (allocated): Renamed from re_allocated.
118011         (used): Renamed from re_used.
118012         (syntax): Renamed from re_syntax.
118013         (fastmap): Renamed from re_fastmap.
118014         (translate): Renamed from re_translate.
118015         (can_be_null): Renamed from re_can_be_null.
118016         (regs_allocated): Renamed from re_regs_allocated.
118017         (fastmap_accurate): Renamed from re_fastmap_accurate.
118018         (no_sub): Renamed from re_no_sub.
118019         (not_bol): Renamed from re_not_bol.
118020         (not_eol): Renamed from re_not_eol.
118021         (newline_anchor): Renamed from re_newline_anchor.
118022         (num_regs): Renamed from rm_num_regs.
118023         (start): Renamed from rm_start.
118024         (end): Renamed from rm_end.
118026         (free_state): Move up a bit.
118028         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
118029         #define to be empty.
118030         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
118031         when that is what is intended.
118032         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
118033         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
118034         (MAX): New macro.
118035         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
118036         All uses changed back to re_malloc, etc.  It's now the caller's
118037         responsibility to check for overflow; all callers changed.
118038         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
118039         (re_x2nrealloc): Remove.
118040         (free_state): Remove decl.
118042         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
118043         (re_set_registers, re_exec):
118044         Use K&R-style defn.
118046         2006-01-31  Roland McGrath  <roland@redhat.com>
118048         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
118049         Reported by Mike Frysinger <vapier@gentoo.org>.
118051         2006-01-15  Andreas Jaeger  <aj@suse.de>
118053         [BZ #1950]
118054         * lib/regex_internal.c (re_string_reconstruct): Adjust for
118055         build_wcs_upper_buffer change.
118056         (build_wcs_upper_buffer): Change return type.
118058         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
118060         * lib/regex_internal.h: Include <stdint.h> if available.
118062         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
118064         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
118066         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
118068         * lib/regcomp.c: Adjust for changed secondary hash function.
118070         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
118072         * lib/regex.h: Pretty printing.
118073         Clean up namespace a bit.
118075         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
118077         * lib/regexec.c (update_cur_sifted_state, check_arrival,
118078         check_arrival_add_next_nodes): Avoid using uninitialized variable.
118080         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
118081                     Ulrich Drepper  <drepper@redhat.com>
118083         [BZ #1302]
118084         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
118085         changed.
118086         (bitset_word_t): Renamed from bitset_word.  All uses changed.
118088         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
118090         [BZ #281]
118091         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
118092         * lib/regcomp.c: Remove unnecessary uses of
118093         unsigned RE_TRANSLATE_TYPE.
118094         * lib/regex_internal.h: Likewise.
118095         * lib/regex_internal.c: Likewise.
118096         * lib/regexec.c: Likewise.
118097         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
118099         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
118101         * lib/regexec.c (find_recover_state): Remove unnecessary
118102         initialization.
118103         (transit_state_bkref): Make DFA a const pointer.
118104         (get_subexp): Likewise.
118105         (check_arrival): Likewise.
118106         (update_cur_sifted_state): Likewise.
118107         (re_search_internal): Likewise.
118108         (prune_impossible_nodes): Likewise.
118109         (acquire_init_state_context): Likewise.
118110         (proceed_next_node): Likewise.
118111         (set_regs): Likewise.
118112         (free_fail_stack_return): Likewise.
118113         (check_arrival_expand_ecl): Mark DFA parameter as const.
118114         (check_arrival_expand_ecl_sub): Likewise.
118115         (check_subexp_limits): Likewise.
118116         (sub_epsilon_src_nodes):  Likewise.
118117         (add_epsilon_src_nodes):  Likewise.
118118         (merge_state_array): Likewise.
118119         (update_regs): Likewise.
118120         (build_trtable): Likewise.
118121         (sift_states_backward): Mark MCTX parameter as const.
118122         (build_sifted_states): Likewise.
118123         (update_cur_sifted_state): Likewise.
118124         (sift_states_mkref): Likewise.
118125         (check_arrival_expand_ecl): Mark eclosure as const.
118126         (check_dst_limits_calc_pos_1): Likewise.
118127         * lib/regex_internal.h (re_match_context_t): Make dfa a const
118128         pointer.
118130         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
118132         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
118133         (transit_state_sb): Likewise.
118134         (transit_state_mb): Likewise.
118135         (sift_states_iter_mb): Likewise.
118136         (check_arrival_add_next_nodes): Likewise.
118137         (check_node_accept_bytes): Change first parameter to pointer-to-const.
118138         [_LIBC] (re_search_2_stub): Use mempcpy.
118140         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
118141         mbrtowc for very simple UTF-8 case.
118143         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
118144         a pointer-to-const.
118145         (re_acquire_state_context): Likewise.
118146         * lib/regex_internal.h: Adjust prototypes.
118148         * lib/regex.c: Prevent using C++ compilers.
118150         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
118151         (re_acquire_state_context): Likewise.
118153 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118155         * modules/regex (Depends-on): Add ssize_t.
118157 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118159         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
118160         translation table.
118162 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118164         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
118166 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
118167             Bruno Haible  <bruno@clisp.org>
118169         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
118170         <sys/types.h> and <inttypes.h>.
118172 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118174         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
118175         `__error_t_defined', so argp.h will not typedef the former.
118177 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
118179         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
118180         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
118181         glibc names.  Even if glibc is changed to conform to POSIX, the
118182         traditional names will be available anyway, since regex depends on
118183         the extensions module.  Also, fix a longstanding typo in the
118184         implementation of Spencer ERE test #75 from grep 2.3.  Problems
118185         reported by Emanuele Giaquinta.  Also, change sense of cached
118186         variable, so that the message makes sense.
118188 2006-03-24  Simon Josefsson  <jas@extundo.com>
118190         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
118191         including some doc fixes.
118192         (base64_encode_alloc): Fix +1 bug on allocation failures.
118194 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118196         * lib/base64.c (base64_encode): Do not read past end of array with
118197         unsanitized input on systems with CHAR_BIT > 8.
118199 2006-03-24  Eric Blake  <ebb9@byu.net>
118201         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
118203 2006-03-22  Karl Berry  <karl@gnu.org>
118205         * config/srclist.txt (*setenv.[ch]): get from coreutils.
118206         * config/srclistvars.sh (COREUTILS): new var.
118208 2006-03-17  Jim Meyering  <jim@meyering.net>
118210         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
118211         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
118213 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
118215         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
118216         no longer needs it.  Instead, check that regoff_t is as least
118217         as wide as ptrdiff_t.
118219         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
118220         so that our regex.h stays compatible with the installed regex.
118221         This is helpful for installers who configure --without-included-regex.
118222         Problem reported by Emanuele Giaquinta.
118224 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
118226         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
118227         Typedef to long int, not to off_, as POSIX will likely change
118228         in that direction.
118230 2006-03-15  Eric Blake  <ebb9@byu.net>
118232         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
118234 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118236         * lib/argp-help.c (validate_uparams): Fix typo
118237         * lib/argp-parse.c (argp_default_options): Consistently begin help
118238         messages with a lowercase letter.
118240 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
118242         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
118243         overrun buffers and shouldn't be used (much as gets shouldn't be
118244         used).
118245         * lib/time_r.c (asctime_r, ctime_r): Likewise.
118247 2006-03-08  Simon Josefsson  <jas@extundo.com>
118249         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
118250         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118252 2006-03-08  Simon Josefsson  <jas@extundo.com>
118254         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
118255         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118257 2006-03-08  Simon Josefsson  <jas@extundo.com>
118259         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
118260         signal that configure disabled the device.
118262 2006-03-08  Simon Josefsson  <jas@extundo.com>
118264         * build-aux/maint.mk: Fix refresh-po, to handle no translated
118265         languages.
118267 2006-03-07  Simon Josefsson  <jas@extundo.com>
118269         * modules/getopt (Depends-on): Add unistd.
118271         * modules/unistd: New file.
118273 2006-03-07  Simon Josefsson  <jas@extundo.com>
118275         * modules/gc-random: New file.
118277 2006-03-07  Simon Josefsson  <jas@extundo.com>
118279         * m4/unistd_h.m4: New file.
118281 2006-03-07  Simon Josefsson  <jas@extundo.com>
118283         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
118284         test to be side-effect free by storing the result in the cache
118285         variable gl_cv_lib_readline, and moving the assignment of
118286         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
118287         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118289 2006-03-07  Simon Josefsson  <jas@extundo.com>
118291         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
118292         error on missing devices (the functions will return an error).
118294         * m4/gc.m4: Move random stuff to gc-random.m4
118296 2006-03-07  Simon Josefsson  <jas@extundo.com>
118298         * lib/unistd_.h: New file.
118300 2006-03-07  Simon Josefsson  <jas@extundo.com>
118302         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
118304 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118306         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
118307         Problem reported by Juan Manuel Guerrero.
118309 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118311         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
118312         the unistd module.
118313         * lib/getlogin_r.c: Likewise.
118314         * lib/getlogin_r.h: Likewise.
118315         * lib/glob.c: Likewise.
118316         * lib/pagealign_alloc.c: Likewise.
118317         * lib/unistd_.h: Remove; no longer needed.
118319 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118321         * MODULES.html.sh (Support for systems lacking POSIX:2001):
118322         Add unistd.
118323         * modules/c-stack (Depends-on): Add unistd.
118324         * modules/getlogin_r: Likewise.
118325         * modules/glob: Likewise.
118326         * modules/pagealign_alloc: Likewise.
118327         * modules/unistd (Files): Remove lib/unistd_.h.
118328         (EXTRA_DIST): Remove.
118329         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
118330         need unistd_.h.
118331         (MOSTLYCLEANFILES): Remove unistd.h-t.
118333 2006-03-03  Simon Josefsson  <jas@extundo.com>
118335         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
118337 2006-03-03  Simon Josefsson  <jas@extundo.com>
118339         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
118340         libidn and bison.
118342 2006-03-03  Simon Josefsson  <jas@extundo.com>
118344         * build-aux/maint.mk: Add indent target.
118346 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
118348         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
118349         our replacement poll.h in any case, to avoid a differing
118350         declaration from a system header.  Seen on AIX.
118352 2006-03-01  Simon Josefsson  <jas@extundo.com>
118354         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
118355         <kasal@ucw.cz>.
118357 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
118359         * modules/gettime (Depends-on): Add extensions module.
118360         * modules/nanosleep (Depends-on): Likewise.
118361         * modules/settime (Depends-on): Likewise.
118363 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
118365         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
118366         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
118367         pedantically.
118368         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
118369         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
118371         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
118372         not "==".  Reported by Ralf Wildenhues.
118374 2006-03-01  Karl Berry  <karl@gnu.org>
118376         * doc/Copyright/request-*: new files, synced from gnuorg.
118378 2006-03-01  Karl Berry  <karl@gnu.org>
118380         * config/srclist.txt (Copyright/*): new entries.
118382 2006-02-28  Simon Josefsson  <jas@extundo.com>
118384         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
118386 2006-02-27  Simon Josefsson  <jas@extundo.com>
118388         * lib/base64.h: Indent #define's.  From Jim Meyering
118389         <jim@meyering.net>.
118391 2006-02-27  Jim Meyering  <jim@meyering.net>
118393         Revert the change of 2006-02-24, so these files can continue
118394         to be sync'd from gettext.
118395         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
118396         of `config.h'.
118398 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
118400         * modules/intprops: New file.
118401         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
118402         Add intprops.
118403         * modules/getloadavg (Files): Remove lib/intprops.h.
118404         (Depends-on): Add intprops.
118405         * modules/human: Likewise.
118406         * modules/inttostr: Likewise.
118407         * modules/openat: Likewise.
118408         * modules/sig2str: Likewise.
118409         * modules/userspec: Likewise.
118410         * modules/utimecmp: Likewise.
118411         * modules/xnanosleep: Likewise.
118412         * modules/xstrtol: Likewise.
118414 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
118416         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
118417         * modules/lock-tests (TESTS): Use $(EXEEXT).
118418         * modules/tls-tests: Likewise.
118419         * modules/argp-tests: Likewise.
118420         (check_PROGRAMS): New var, replacing...
118421         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
118423 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118425         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
118426         `config.h'.
118428 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
118430         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
118432 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118434         Sync from coreutils.
118435         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
118436         gl_CHDIR_SAFER.
118438 2006-02-22  Jim Meyering  <jim@meyering.net>
118440         Sync from coreutils.
118441         * m4/chdir-safer.m4: New file.
118443 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
118445         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
118446         AT_FDCWD exceeds INT_MAX.
118447         * lib/openat.h (AT_FDCWD): Likewise.
118449 2006-02-17  Eric Blake  <address@hidden>
118451         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
118453 2006-02-16  Simon Josefsson  <jas@extundo.com>
118455         * modules/getaddrinfo (Depends-on): Add sys_socket.
118457 2006-02-15  Simon Josefsson  <jas@extundo.com>
118459         * build-aux/maint.mk: Add dsyntax-check rule.
118461 2006-02-15  Eric Blake  <ebb9@byu.net>
118463         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
118464         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
118465         'present but cannot compile' warnings on cygwin.
118466         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
118467         use ws2tcpip.h if sys/socket.h works.
118468         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
118469         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
118471 2006-02-14  Simon Josefsson  <jas@extundo.com>
118473         * modules/maintainer-makefile (Files): Rename.
118475         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
118476         and (the local) Makefile.cfg to maint-cfg.mk.
118478         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
118479         to the latter.
118481         * modules/maintainer-makefile: New module.
118483         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
118484         severaly stripped to make it possible to build it up from scratch
118485         with reliable tests.
118487         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
118488         fixes to permit overriding the default actions when configure and
118489         makefile are not available.
118491 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
118493         Sync from coreutils.
118494         * modules/lstat (Depends-on): Don't depend on xalloc.
118495         (License): Change from GPL to LGPL, since this is now simply a
118496         replacement for a libc function.
118498 2006-02-14  Jim Meyering  <jim@meyering.net>
118500         Sync from coreutils.
118502         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
118503         failure on deficient systems, and simplify gnulib lgpl dependencies.
118504         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
118505         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
118507         * lib/xalloc-die.c: Remove unused definition of N_.
118509 2006-02-14  Jim Meyering  <jim@meyering.net>
118511         Sync from coreutils.
118512         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
118513         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
118514         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
118515         double-quote uses of that variable, to accommodate the rare case in
118516         which getmntent is available in none of the libraries checked.  This
118517         happens at least on FreeBSD 5.0.
118519 2006-02-13  Simon Josefsson  <jas@extundo.com>
118521         * gnulib-tool (Usage): Fix --import, from
118522         karl@freefriends.org (Karl Berry).
118524 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118526         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
118528 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
118530         * lib/argp-namefrob.h: Restore changes accidentally lost during the
118531         "autoupdate" on 2005-12-12.
118533 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118535         * modules/closeout (Depends-on): Remove atexit.
118537 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118539         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
118540         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
118542 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
118544         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
118545         __EXTENSIONS__ if this causes compilation to fail.  Problem
118546         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
118547         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
118549 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
118551         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
118552         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
118553         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
118554         All uses changed.
118556 2006-01-26  Simon Josefsson  <jas@extundo.com>
118558         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
118559         prototype is visible on mingw32.
118561         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
118562         for mingw32.
118564         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
118565         mingw32).
118567 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
118569         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
118570         attempt to open for write; this always fails, at least on POSIX
118571         hosts.  This reinstates the 2006-01-09 change, which was
118572         inadvertently removed.
118574 2006-01-26  Bruno Haible  <bruno@clisp.org>
118576         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
118577         Reported by Paul Eggert.
118579 2006-01-26  Bruno Haible  <bruno@clisp.org>
118580             Paul Eggert  <eggert@cs.ucla.edu>
118582         * lib/stdbool_.h (_Bool)
118583         [(! (defined __cplusplus || defined __BEOS__)
118584           && !defined __GNUC__
118585           && !(defined __HP_cc || defined __xlc__
118586                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
118587                || defined __sgi))]:
118588         #define to signed char in these cases too; this simplifies
118589         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
118590         etc., separately) and makes it more conservative.
118592 2006-01-25  Simon Josefsson  <jas@extundo.com>
118594         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
118595         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
118596         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
118598 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
118600         * lib/argp-namefrob.h: Bugfix. Remove stray #
118602 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
118604         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
118605         so that we test the test.
118606         Check for yet another HP-UX cc bug involving *bool |= bool.
118608 2006-01-25  Karl Berry  <karl@gnu.org>
118610         * config/srclist.txt (vasnprintf.c): sync lost.
118612 2006-01-25  Jim Meyering  <jim@meyering.net>
118614         Sync from the stable (b5) branch of coreutils:
118616         * lib/fts.c (fts_children): Don't let close() clobber errno from
118617         failed fchdir().
118619         * lib/fts.c (fts_stat): When following a symlink-to-directory,
118620         don't necessarily interpret stat-fails+lstat-succeeds as indicating
118621         a dangling symlink.  That can also happen at least for ELOOP.
118622         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
118623         FYI, this bug predates the inclusion of fts.c in coreutils.
118625         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
118626         in their own block, so pre-c99 compilers don't object.
118628         Avoid the double-free (first in fts_read, second in fts_close) that
118629         would occur when an `active' directory is made inaccessible (e.g.,
118630         via chmod a-x) during a traversal.
118631         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118632         before returning.  Reproduce this failure by
118633         mkdir -p a/b; cd a; chmod a-x . b
118634         Reported by Stavros Passas.
118636 2006-01-25  Jim Meyering  <jim@meyering.net>
118638         * lib/fileblocks.c: Remove more useless parentheses.
118639         * lib/readutmp.h: Likewise.
118641 2006-01-25  Bruno Haible  <bruno@clisp.org>
118643         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
118644         warnings.
118645         Reported by Paul Eggert.
118647 2006-01-25  Bruno Haible  <bruno@clisp.org>
118649         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
118650         rid of a trap command. For Solaris sh.
118651         Reported by Mark D. Baushke <mdb@gnu.org>.
118653 2006-01-24  Simon Josefsson  <jas@extundo.com>
118655         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
118656         Bruno.
118658 2006-01-24  Karl Berry  <karl@gnu.org>
118660         * config/srclist.txt (argp-namefrob.h): sync lost.
118662 2006-01-24  Jim Meyering  <jim@meyering.net>
118664         * modules/openat (Files): Add lib/intprops.h.
118665         From Mark D. Baushke.
118667 2006-01-24  Jim Meyering  <jim@meyering.net>
118669         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
118670         Reported by Mark D. Baushke.
118672 2006-01-24  Jim Meyering  <jim@meyering.net>
118674         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
118676 2006-01-24  Bruno Haible  <bruno@clisp.org>
118678         * modules/strnlen (Maintainer): Change from glibc to all.
118680 2006-01-24  Bruno Haible  <bruno@clisp.org>
118682         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
118683         Patch by Paul Eggert.
118685 2006-01-24  Bruno Haible  <bruno@clisp.org>
118687         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
118688         already has it.
118689         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
118690         2005-11-26.
118692         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
118693         'signed char' to avoid problems with the built-in _Bool type.
118694         Reported by Paul Eggert on 2005-11-26.
118696 2006-01-24  Bruno Haible  <bruno@clisp.org>
118698         * gnulib-tool (func_import): Avoid constructing complicated sed
118699         expressions inside backquote.
118700         Report and solution by Mark D. Baushke <mdb@gnu.org>.
118702 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
118704         These changes imported from libc.
118705         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
118706         test and two separate function calls.
118707         * lib/strndup.c (__strndup): Add libc_hidden_def.
118709 2006-01-23  Simon Josefsson  <jas@extundo.com>
118711         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
118712         Remove the test_*_SOURCES variable: automake infers it by default.
118713         * modules/tls-tests: Likewise.
118715 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118717         Work around porting bugs reported by Dieter in
118718         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
118719         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
118720         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
118721         Include "getopt.h" first, to check interface.
118722         (getenv): Declare only if defined HAVE_DECL_GETENV &&
118723         !HAVE_DECL_GETENV.
118724         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
118725         (__strndup): Revert to K&R-style function dfns, the glibc style.
118726         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
118727         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
118728         Include strnlen.h first, to get prototype properly.
118729         (strnlen): Renamed from __strnlen.
118730         Remove weak alias.
118732 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118734         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
118736 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118738         * config/srclist.txt: Adjust to reflect glibc reorganization.
118739         This affects only comments.
118741 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
118743          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
118744          Reported by Bruce Korb <bkorb@gnu.org>.
118746 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
118748         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
118749         to pacify gcc -Wswitch-default.
118751 2006-01-22  Bruno Haible  <bruno@clisp.org>
118753         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
118754         temporary buffer for sprintf, take into account the precision also
118755         for 'd', 'i', 'u', 'o', 'x', 'X'.
118757 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118759         * modules/argp-tests: New module
118760         * tests/test-argp.c: New file
118761         * tests/test-argp-2.sh: New file
118763 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118765         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
118766         (__argp_base_name): Removed
118767         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
118768         typo.
118769         (__argp_base_name): Provide macro definition or extern declaration
118770         depending on the configuration
118772 2006-01-20  Simon Josefsson  <jas@extundo.com>
118774         * modules/inet_ntop (Depends-on): Depend on sys_socket.
118776 2006-01-20  Simon Josefsson  <jas@extundo.com>
118778         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
118780 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
118782         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
118783         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
118784         Suggested by Bruno Haible.
118786 2006-01-20  Karl Berry  <karl@gnu.org>
118788         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
118789         until changes propagate, I guess.
118791 2006-01-19  Simon Josefsson  <jas@extundo.com>
118793         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
118795 2006-01-19  Simon Josefsson  <jas@extundo.com>
118797         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
118799 2006-01-19  Simon Josefsson  <jas@extundo.com>
118801         * gnulib-tool: Set check_PROGRAMS.
118803         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118804         modules/des-tests, modules/gc-arcfour-tests,
118805         modules/gc-arctwo-tests, modules/gc-des-tests,
118806         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118807         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118808         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118809         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118810         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118811         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
118812         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
118813         test_*_SOURCES.
118815 2006-01-18  Simon Josefsson  <jas@extundo.com>
118817         * modules/socklen (Depends-on): Depend on sys_socket.
118819 2006-01-18  Simon Josefsson  <jas@extundo.com>
118821         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118822         modules/des-tests, modules/gc-arcfour-tests,
118823         modules/gc-arctwo-tests, modules/gc-des-tests,
118824         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118825         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118826         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118827         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118828         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118829         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
118830         $(EXEEXT) to automake TESTS variable, for mingw32.
118832 2006-01-17  Simon Josefsson  <jas@extundo.com>
118834         * modules/socklen (Include): Need sys/socket.h.
118836 2006-01-17  Bruno Haible  <bruno@clisp.org>
118838         * modules/ssize_t (Include): Add <sys/types.h>.
118840 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
118842         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
118843         it's not portable and it doesn't work with cross-compiles.
118844         Problem reported by Bruno Haible.  Fix missing-$ typo in
118845         'test "gl_cv_ignore_unused_libraries" ...' that prevented
118846         -zignore from being used with Sun's C compiler.
118848 2006-01-12  Simon Josefsson  <jas@extundo.com>
118850         * lib/base64.c: Fix warning, reported by Bruno Haible
118851         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
118853 2006-01-12  Bruno Haible  <bruno@clisp.org>
118855         * modules/ldd: New file.
118856         * build-aux/ldd.sh.in: New file.
118857         * MODULES.html.sh (Support for building libraries and executables): Add
118858         ldd.
118860 2006-01-12  Bruno Haible  <bruno@clisp.org>
118862         * m4/ldd.m4: New file.
118864 2006-01-12  Bruno Haible  <bruno@clisp.org>
118866         * gnulib-tool (func_import, func_create_testdir): Don't go into an
118867         endless loop while replacing $auxdir with build-aux.
118869 2006-01-11  Simon Josefsson  <jas@extundo.com>
118871         * lib/stdint_.h (SIZE_MAX): Add missing (.
118873 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
118875         Sync from coreutils.
118876         * lib/md5.c: Fix commentary typos.
118877         (alignof, UNALIGNED_P): No need for a GCC-specific version.
118878         * lib/md5.h (__attribute__): Remove; unused.
118879         * lib/sha1.c: Fix commentary to match md5 better.
118880         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
118881         so that we don't need to worry about alignment.  All uses changed.
118882         This merges the 2005-10-28 md5 change into sha1.
118884 2006-01-11  Jim Meyering  <jim@meyering.net>
118886         Sync from coreutils.
118887         * lib/md5.c (OP): Fix spacing.
118889 2006-01-11  Bruno Haible  <bruno@clisp.org>
118891         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118892         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
118893         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
118895 2006-01-11  Bruno Haible  <bruno@clisp.org>
118897         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118898         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
118899         the "early" section as well.
118901 2006-01-11  Bruno Haible  <bruno@clisp.org>
118903         Avoid "ar: no archive members specified" error on MacOS X.
118904         * gnulib-tool (func_modules_add_dummy): New function.
118905         (func_import, func_create_testdir): Invoke it.
118907 2006-01-11  Bruno Haible  <bruno@clisp.org>
118909         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
118910         with $auxdir in AC_CONFIG_FILES statements.
118912 2006-01-11  Bruno Haible  <bruno@clisp.org>
118914         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
118915         Initialize also noinst_HEADERS to empty.
118917 2006-01-11  Bruno Haible  <bruno@clisp.org>
118919         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
118920         variables.
118921         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
118922         autoreconf.
118924 2006-01-11  Bruno Haible  <bruno@clisp.org>
118926         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
118927         overridable by the user.
118928         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118930 2006-01-10  Simon Josefsson  <jas@extundo.com>
118932         * modules/sys_socket: New file.
118934 2006-01-10  Simon Josefsson  <jas@extundo.com>
118936         * m4/sys_socket_h.m4: New file.
118938 2006-01-10  Simon Josefsson  <jas@extundo.com>
118940         * lib/socket_.h: New file.
118942 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118944         * modules/readutmp (Maintainer): Add myself.
118946 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118948         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
118949         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
118950         People who are still concerned with buggy memcmp implementations
118951         can invoke gl_FUNC_MEMCMP themselves.
118953 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118955         * lib/regex_internal.h (BITSET_WORD_BITS):
118956         Work around a bug in 64-bit PGC (before version 6.1-2), where the
118957         preprocessor mishandles large unsigned values as if they were signed.
118958         Problem reported by Claudio Fontana in
118959         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
118961 2006-01-10  Jim Meyering  <jim@meyering.net>
118963         Avoid the double-free (first in fts_read, second in fts_close) that
118964         would occur when an `active' directory is made inaccessible (e.g.,
118965         via chmod a-x) during a traversal.
118966         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118967         before returning.  Reproduce this failure by
118968         mkdir -p a/b; cd a; chmod a-x . b
118969         Reported by Stavros Passas.
118971         Sync from coreutils.
118972         * lib/sha1.c: Tweak grammar in a comment.
118974 2006-01-10  Jim Meyering  <jim@meyering.net>
118976         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
118977         Patch by Joerg Sonnenberger.
118979 2006-01-10  Bruno Haible  <bruno@clisp.org>
118981         * modules/readutmp: Depend on module free.
118982         * modules/strtok_r: Depend on module restrict.
118984 2006-01-10  Bruno Haible  <bruno@clisp.org>
118986         * modules/gettext (configure.ac): Add an invocation of
118987         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
118989 2006-01-10  Bruno Haible  <bruno@clisp.org>
118991         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
118992         Reported by Werner Lemberg <wl@gnu.org>.
118994 2006-01-10  Bruno Haible  <bruno@clisp.org>
118996         * lib/localcharset.c: Update from GNU gettext.
118998 2006-01-10  Bruno Haible  <bruno@clisp.org>
119000         * lib/argp.h (__const): Remove macro. Use const instead.
119001         * lib/argp-fmtstream.h (__const): Likewise.
119002         * lib/glob_.h (__const): Remove macro.
119003         * lib/glob-libc.h: Use const instead of __const.
119005 2006-01-10  Bruno Haible  <bruno@clisp.org>
119007         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
119008         variable.
119009         Needed to avoid an automake error regarding the 'gettext' module.
119011 2006-01-09  Simon Josefsson  <jas@extundo.com>
119013         * modules/inet_ntop (Depends-on): Add restrict.
119015 2006-01-09  Simon Josefsson  <jas@extundo.com>
119017         * modules/gc-rijndael-tests (License): Put under LGPL.
119019         * modules/gc-des-tests (License): Likewise.
119021         * modules/gc-arcfour-tests (License): Likewise.
119023         * modules/gc-arctwo-tests (License): Likewise.
119025         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
119027         * modules/gc-hmac-sha1-tests (Files): Likewise.
119029         * modules/gc-hmac-md5-tests (License): Likewise.
119031         * modules/gc-sha1-tests (License): Likewise.
119033         * modules/gc-md5-tests (License): Likewise.
119035         * modules/gc-md4-tests (License): Likewise.
119037         * modules/gc-md2-tests (License): Likewise.
119039         * modules/gc-tests (License): Likewise.
119041         * modules/des-tests (License): Likewise.
119043         * modules/md4-tests (License): Likewise.
119045         * modules/md2-tests (License): Likewise.
119047 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119049         Sync from coreutils:
119051         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
119052         * modules/lib-ignore: New file.
119053         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
119054         chdir-safer.m4, lchmod.m4.
119055         * modules/openat: Add mkdirat.c, openat-priv.h.
119057 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119059         Sync from coreutils.
119060         * m4/lib-ignore.m4: New file.
119061         * m4/lchmod.m4: New file.
119063 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119065         Sync from coreutils.
119066         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
119067         for write access: POSIX says that must fail.
119068         * lib/fts.c (diropen): Likewise.
119069         * lib/save-cwd.c (save_cwd): Likewise.
119070         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
119071         well, for minor improvements on hosts that lack O_DIRECTORY.
119072         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
119073         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
119074         Fall back on chown if open failed with EACCES.
119076         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
119077         Report an error at compile-time if only a 1-second nominal clock
119078         resolution is found.
119080         * lib/lchmod.h: New file.
119081         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
119082         (make_dir_parents): Use lchown rather than chown, and
119083         lchmod rather than chmod.
119085         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
119086         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
119087         "proc" reported by n0dalus.
119089         * lib/mountlist.c: Include <limits.h>.
119090         (dev_from_mount_options)
119091         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
119092         New function.  It no longer assumes "dev=" has the System V meaning
119093         on Linux (since it doesn't).  It also parses "dev=" more carefully.
119094         (read_file_system_list)
119095         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
119096         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
119097         dev= in that case.
119099         * lib/posixtm.h (PDS_PRE_2000): New macro.
119100         * lib/posixtm.c (year): Arg is now syntax_bits rather than
119101         allow_century.  All usages changed.  Reject dates outside the range
119102         1969-1999 if PDS_PRE_2000 is used.
119104 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119106         Sync from coreutils.
119107         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
119108         (Time of day items): Mention the possibility of leap seconds.
119109         Problem reported by Dr. David Alan Gilbert.
119111 2006-01-09  Jim Meyering  <jim@meyering.net>
119113         Sync from coreutils.
119115         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
119117         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
119119         * lib/modechange.c (mode_compile): Reject an invalid mode string
119120         that starts with an octal digit.  From Andreas Gruenbacher.
119122         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
119123         and dup to open_safer and dup_safer, respectively.
119124         (openat_permissive): Fix typo in comment.
119126         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
119127         "gettext.h"; either no longer needed or are guaranteed by openat.h.
119128         (_): Remove; no longer needed.
119129         (openat): Renamed from rpl_openat; no need for rpl_openat
119130         since openat.h renames openat for us.
119131         Replace most of the body with a call to openat_permissive,
119132         to avoid duplicate code.
119133         Port to (probably hypothetical) environments were mode_t is
119134         wider than int.
119135         (openat_permissive): Require mode arg, so that we can check
119136         types better.  Put it just after flags.  Change cwd failure
119137         indicator from pointer-to-bool to pointer-to-errno-value.
119138         All callers changed.
119139         Invoke openat_save_fail and/or openat_restore_fail if
119140         cwd_errno is null, so that openat can call us.
119141         (openat_permissive, fdopendir, fstatat, unlinkat):
119142         Simplify errno handling to avoid some duplicate code,
119143         as it's OK to set errno on success.
119144         * lib/openat.h: Revamp code so that function macros depend on
119145         __OPENAT_PREFIX only, not also on AT_FDCWD.
119146         (openat_ro): Remove.  Caller changed to use openat_permissive.
119147         (openat_permissive): Now a macro, if not a function.
119148         (openat_restore_fail, openat_save_fail): Now always functions,
119149         since mkdirat needs them even if __OPENAT_PREFIX is defined.
119151         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
119152         and openat.c.
119153         * lib/mkdirat.c: Include openat-priv.h.
119154         Remove definitions of macros defined therein.
119155         * lib/openat.c: Likewise.
119157         * lib/mkdirat.c (mkdirat): New file and function.
119158         * lib/openat.h (mkdirat): Declare.
119160         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
119162         * lib/openat.h (openat_permissive): Declare.
119163         (openat_ro): Define.
119165         * lib/openat.c (EXPECTED_ERRNO): New macro.
119166         (openat_permissive): New function -- used in remove.c rewrite.
119167         (all functions): Set errno just before returning, only if there
119168         was an actual failure.
119169         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
119171         Emulate openat-family functions using Linux's procfs, if possible.
119172         Idea and some code based on Ulrich Drepper's glibc changes.
119174         * lib/openat.c: (BUILD_PROC_NAME): New macro.
119175         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
119176         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
119177         before falling back on save_cwd and restore_cwd.
119178         (fdopendir, fstatat, unlinkat): Likewise.
119180         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
119181         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
119183         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
119184         as second argument to va_arg.  Otherwise, some versions of gcc
119185         warn that `if this code is reached, the program will abort'.
119187 2006-01-09  Jim Meyering  <jim@meyering.net>
119189         Sync from coreutils.
119190         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
119191         Require openat-priv.h.
119193 2006-01-09  Bruno Haible  <bruno@clisp.org>
119195         * modules/strnlen (Include): Use strnlen.h.
119197 2006-01-09  Bruno Haible  <bruno@clisp.org>
119199         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
119201 2006-01-09  Bruno Haible  <bruno@clisp.org>
119203         * lib/sysexit_.h (EX_OK): New macro.
119204         Suggested by Martin Lambers <marlam@marlam.de>.
119206 2006-01-09  Bruno Haible  <bruno@clisp.org>
119208         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
119209         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
119211 2006-01-09  Bruno Haible  <bruno@clisp.org>
119213         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
119214         numbers.
119216 2006-01-09  Bruno Haible  <bruno@clisp.org>
119218         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
119219         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
119220         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
119221         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
119223 2006-01-09  Bruno Haible  <bruno@clisp.org>
119225         * build-aux/javacomp.sh.in: New file, moved from lib/.
119226         * modules/javacomp-script (Files): Update.
119227         (configure.ac): Add AC_CONFIG_FILES invocation.
119228         (EXTRA_DIST): Remove variable.
119230         * build-aux/javaexec.sh.in: New file, moved from lib/.
119231         * modules/javaexec (Files): Update.
119232         (configure.ac): Add AC_CONFIG_FILES invocation.
119233         (EXTRA_DIST): Remove javaexec.sh.in.
119235         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
119236         * modules/csharpcomp-script (Files): Update.
119237         (configure.ac): Add AC_CONFIG_FILES invocation.
119238         (EXTRA_DIST): Remove variable.
119240         * build-aux/csharpexec.sh.in: New file, moved from lib/.
119241         * modules/csharpexec (Files): Update.
119242         (configure.ac): Add AC_CONFIG_FILES invocation.
119243         (EXTRA_DIST): Remove csharpexec.sh.in.
119245 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
119247         Sync from coreutils.
119249         Add POSIX ACL support
119250         * lib/acl.h (copy_acl, set_acl): Add declarations.
119251         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
119252         systems other than Linux.
119253         (chmod_or_fchmod): New function: use fchmod when possible,
119254         and chmod otherwise.
119255         (file_has_acl): Add a POSIX ACL implementation, with a
119256         Linux-specific subcase.
119257         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
119258         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
119259         acls are unsupported.
119260         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
119261         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
119262         are unsupported.
119264 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
119266         Sync from coreutils.
119267         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
119269 2006-01-07  Bruno Haible  <bruno@clisp.org>
119271         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
119272         gl_EARLY.
119274 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119276         * lib/strftime.c (tzname): Don't declare if it is already #defined.
119277         Problem reported for Mingw by Mark Junker.
119279 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119281         * README: Gnulib normally doesn't generate a tarball.
119283 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
119285         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
119286         long int, not int, for nanosecond counts, so that people who are
119287         used to POSIX struct timespec won't be surprised.  Reported by Jim
119288         Meyering.
119290 2005-12-28  Bruno Haible  <bruno@clisp.org>
119292         * build-aux/config.rpath: Update from GNU gettext.
119294 2005-12-16  Jim Meyering  <jim@meyering.net>
119296         * modules/fprintftime: New module.
119297         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
119299 2005-12-16  Jim Meyering  <jim@meyering.net>
119301         * m4/fprintftime.m4: New file.
119303 2005-12-16  Jim Meyering  <jim@meyering.net>
119305         * lib/fprintftime.c, lib/fprintftime.h: New files.
119307 2005-12-15  Simon Josefsson  <jas@extundo.com>
119309         * modules/socklen (configure.ac): Fix M4 macro name, to align with
119310         new m4/socklen.m4.
119312 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
119314         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
119315         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
119317 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
119319         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
119320         * lib/argp-help.c (fill_in_uparams): Check if the constructed
119321         struct uparams is valid. Fall back to the default values if it is
119322         not.
119324 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119326         * modules/argp (Files): Add argp-pin.c
119327         (Depends-on): dirname
119328         (lib_SOURCES): Add argp-pin.c
119330 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119332         * m4/argp.m4:  Check if program_invocation_name and
119333         program_invocation_short_name are declared and define appropriate
119334         macros if they are not.
119336 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119338         * lib/argp-help.c (__argp_base_name): New function
119339         (__argp_short_program_name): Rewrite using __argp_base_name
119340         * lib/argp-namefrob.h: Define program_invocation_name and
119341         program_invocation_short_name if requested
119342         (__argp_base_name): Add prototype
119343         * lib/argp-parse.c (argp_def): Use gettext wrappers
119344         (argp_default_parser): Use __argp_base_name
119345         * lib/argp-pin.c: New file. Defines program_invocation_name and
119346         program_invocation_short_name on systems that lack them.
119348 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119350         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
119351         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
119352         porting problem reported by Georg Schwarz in
119353         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
119355 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119357         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
119358         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
119359         porting problem reported by Georg Schwarz in
119360         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
119362 2005-12-05  Bruno Haible  <bruno@clisp.org>
119364         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
119365         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
119366         Reported by Mark Junker <mjscod@gmx.de>.
119368 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
119370         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
119371         Use implementation from Albert Chin, with some
119372         comments/corrections by Stepan Kasal and myself.
119374 2005-12-02  Bruno Haible  <bruno@clisp.org>
119376         * gnulib-tool (func_import): Accept GPLed build tool modules when
119377         --lgpl is given.
119378         * modules/csharpcomp-script: New file.
119379         * modules/csharpcomp: Depend on it.
119380         * modules/javacomp-script: New file.
119381         * modules/javacomp: Depend on it.
119382         Suggested by Simon Josefsson.
119384 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
119386         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
119387         statement, to work around an HP-UX 10.20 compiler bug reported by
119388         Peter O'Gorman.
119390 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
119392         * modules/savedir (Depends-on): Add openat.
119394 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
119396         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
119397         (uintmax_t) [defined uintmax_t]: Do not declare.
119398         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
119399         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
119400         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
119401         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
119402         sake of portability to weird hosts that C allows (though we don't
119403         know of any practical examples).
119405         * lib/savedir.h (fdsavedir): New decl.
119406         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
119407         contains most of the former guts of savedir.
119408         (savedir): Use savedirstream.
119409         Include "openat.h".
119411 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
119413         * modules/obstack (Files): Add m4/ulonglong.m4.
119414         Problem reported by Davide Angelocola.
119416 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
119418         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
119419         coreutils no longer futzes with rounding modes.
119421 2005-11-14  Jim Meyering  <jim@meyering.net>
119423         * lib/mkstemp-safer.c: Include <config.h>, required for possible
119424         replacement of mkstemp.
119426 2005-11-10  Simon Josefsson  <jas@extundo.com>
119428         * lib/readline.c: Remove EOL.
119430 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119432         * modules/gethrxtime (Depends-on): Add gettime.
119434 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119436         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
119437         or gettimeofday; no longer needed.
119439 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119441         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
119442         time business.
119443         (gethrxtime) [! (HAVE_NANOUPTIME
119444         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
119445         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
119446         our own approximation.
119448 2005-11-08  Eric Blake  <ebb9@byu.net>
119450         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119452 2005-11-08  Eric Blake  <ebb9@byu.net>
119454         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119456 2005-11-04  Bruno Haible  <bruno@clisp.org>
119458         * gnulib-tool: Implement --update mode.
119460 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119462         Fix porting problem reported by Theodoros V. Kalamatianos.
119463         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
119464         Don't assume that futimes failing means we must fail.
119466 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119468         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
119469         variables to suggest the intended function of the PATH_MAX check.
119471 2005-10-30  Kean Johnston  <jkj@sco.com>
119473         Trivial changes to support SCO systems.
119474         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
119475         as PATH_MAX.
119476         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
119477         where __ptr is null when no I/O is pending.
119479 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
119481         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
119482         leave errno alone.  Problem reported by Dmitry V. Levin.
119484 2005-10-28  Simon Josefsson  <jas@extundo.com>
119486         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
119487         Test more.
119489         * tests/test-gc-md2.c, tests/test-md2.c: New files.
119491         * modules/md2, modules/md2-tests: New files.
119493 2005-10-28  Simon Josefsson  <jas@extundo.com>
119495         * m4/inet_ntop.m4: More tests.
119497         * m4/gc-md2.m4, md2.m4: New file.
119499 2005-10-28  Simon Josefsson  <jas@extundo.com>
119501         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
119502         "restrict" keywords, as per POSIX.  Protect the function
119503         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
119504         Don't use K&R prototypes.  Check the sprintf return values.
119505         Re-define EAFNOSUPPORT if not present.  Indent.
119507         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
119508         suggested by Bruno Haible <bruno@clisp.org>.
119510         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
119512         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
119514         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
119515         libgcrypt).
119517         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
119519         * lib/md2.h, lib/md2.c: New files.
119521 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
119523         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
119524         errno alone.  Problem reported by Frederic Jolliton.
119526 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
119528         * modules/verify (License): Change from GPL to LGPL.  This is a
119529         tiny module and there are apparently near-equivalents that are
119530         under the BSD license.
119532 2005-10-24  Simon Josefsson  <jas@extundo.com>
119534         * modules/sha1: Relicense to LGPL.
119536 2005-10-24  Simon Josefsson  <jas@extundo.com>
119538         * lib/md4.h: Shrink buffer size, now that we changed the type.
119540 2005-10-23  Simon Josefsson  <jas@extundo.com>
119542         * gnulib-tool (func_import): Fix --tests-base.
119544 2005-10-22  Simon Josefsson  <jas@extundo.com>
119546         * modules/arcfour (Depends-on): Need stdint.
119548 2005-10-22  Simon Josefsson  <jas@extundo.com>
119550         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
119551         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
119553 2005-10-22  Simon Josefsson  <jas@extundo.com>
119555         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
119556         suggested by Bruno Haible <bruno@clisp.org>.
119558 2005-10-22  Simon Josefsson  <jas@extundo.com>
119560         * lib/crc.h: Include stddef.h, for size_t.
119562 2005-10-22  Simon Josefsson  <jas@extundo.com>
119564         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
119565         arcfour_context struct (simplify test vector testing in GNU
119566         Shishi).
119568 2005-10-21  Simon Josefsson  <jas@extundo.com>
119570         * modules/des, modules/des-tests: New files.
119572         * modules/gc-des, modules/gc-des-tests: New files.
119574         * tests/test-des.c, tests/test-gc-des.c: New file.
119576 2005-10-21  Simon Josefsson  <jas@extundo.com>
119578         * modules/arctwo, modules/arctwo-tests: New files.
119580         * tests/test-arctwo.c: New file.
119582         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
119584         * tests/test-gc-arctwo.c: New file.
119586 2005-10-21  Simon Josefsson  <jas@extundo.com>
119588         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
119589         Bruno Haible <bruno@clisp.org>.
119591         * m4/gc-des.m4: New file.
119593 2005-10-21  Simon Josefsson  <jas@extundo.com>
119595         * m4/arctwo.m4: New file.
119597         * m4/gc-arctwo.m4: New file.
119599 2005-10-21  Simon Josefsson  <jas@extundo.com>
119601         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
119602         block.
119604 2005-10-21  Simon Josefsson  <jas@extundo.com>
119606         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
119607         <bruno@clisp.org>.
119609         * lib/hmac-sha1.c (hmac_sha1): Likewise.
119611         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
119612         Bruno Haible <bruno@clisp.org>.
119614         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
119615         <bruno@clisp.org>.
119617 2005-10-21  Simon Josefsson  <jas@extundo.com>
119619         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
119621 2005-10-21  Simon Josefsson  <jas@extundo.com>
119623         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
119625 2005-10-21  Simon Josefsson  <jas@extundo.com>
119627         * lib/des.h, lib/des.c: New files.
119629         * lib/gc-gnulib.c: Support DES.c
119631 2005-10-21  Simon Josefsson  <jas@extundo.com>
119633         * lib/arctwo.h, lib/arctwo.c: New files.
119635         * lib/gc-gnulib.c: Support ARCTWO.
119637 2005-10-21  Simon Josefsson  <jas@extundo.com>
119639         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
119640         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
119642 2005-10-21  Simon Josefsson  <jas@extundo.com>
119644         * gnulib-tool (func_import, func_create_testdir): Define automake
119645         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
119646         Makefile.am snippet),
119647         suggested by Bruno Haible <bruno@clisp.org>.
119649         * modules/gc (Makefile.am): Use it.
119651 2005-10-21  Bruno Haible  <bruno@clisp.org>
119653         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
119654         patch.
119656 2005-10-19  Simon Josefsson  <jas@extundo.com>
119658         * tests/test-gc-rijndael.c: New file.
119660         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
119662 2005-10-19  Simon Josefsson  <jas@extundo.com>
119664         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
119665         interface too.
119667 2005-10-19  Simon Josefsson  <jas@extundo.com>
119669         * tests/test-gc-arcfour.c: New file.
119671         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
119673 2005-10-19  Simon Josefsson  <jas@extundo.com>
119675         * modules/gc-md4, modules/gc-md4-tests: New file.
119677         * tests/test-gc-md4.c: New file.
119679 2005-10-19  Simon Josefsson  <jas@extundo.com>
119681         * m4/gc-md4.m4: New file.
119683 2005-10-19  Simon Josefsson  <jas@extundo.com>
119685         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
119686         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
119687         <kasal@ucw.cz>.
119689 2005-10-19  Simon Josefsson  <jas@extundo.com>
119691         * m4/gc-arcfour.m4: New file.
119693         * m4/gc-rijndael.m4: New file.
119695 2005-10-19  Simon Josefsson  <jas@extundo.com>
119697         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
119699 2005-10-19  Simon Josefsson  <jas@extundo.com>
119701         * lib/gc-gnulib.c: Support ARCFOUR.
119703 2005-10-19  Simon Josefsson  <jas@extundo.com>
119705         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
119706         support.
119708         * lib/gc.h: Add ECB enum type.
119710         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
119712 2005-10-18  Simon Josefsson  <jas@extundo.com>
119714         * tests/test-md5.c: New file.
119716         * modules/md5-tests: New file.
119718 2005-10-18  Simon Josefsson  <jas@extundo.com>
119720         * tests/test-md4.c: New file.
119722         * modules/md4, modules/md4-tests: New files.
119724 2005-10-18  Simon Josefsson  <jas@extundo.com>
119726         * m4/md4.m4: New file.
119728 2005-10-18  Simon Josefsson  <jas@extundo.com>
119730         * lib/md4.h, lib/md4.c: New files, based on md5.?.
119732 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
119734         * gnulib-tool (func_create_testdir): Omit the second check whether
119735         BUILT_SOURCES in nonempty.
119737 2005-10-17  Simon Josefsson  <jas@extundo.com>
119739         * tests/test-rijndael.c: New file.
119741 2005-10-17  Simon Josefsson  <jas@extundo.com>
119743         * modules/sha1: Depend on stdint instead of md5.
119745         * modules/md5: Depend on stdint, remove uint32_t.
119747 2005-10-17  Simon Josefsson  <jas@extundo.com>
119749         * modules/gc-sha1-tests: New file.
119751         * tests/test-gc-sha1.c: New file.
119753 2005-10-17  Simon Josefsson  <jas@extundo.com>
119755         * m4/md5.m4: Remove call to uint32_t.m4.
119757 2005-10-17  Simon Josefsson  <jas@extundo.com>
119759         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
119761         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
119762         md5.h.
119764         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
119766         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
119768 2005-10-17  Simon Josefsson  <jas@extundo.com>
119770         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
119772 2005-10-17  Simon Josefsson  <jas@extundo.com>
119774         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
119776 2005-10-17  Simon Josefsson  <jas@extundo.com>
119778         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
119780         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
119782 2005-10-17  Bruno Haible  <bruno@clisp.org>
119784         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
119785         that it can also be used in a test.
119787 2005-10-16  Bruno Haible  <bruno@clisp.org>
119789         * gnulib-tool (func_emit_tests_Makefile_am): Also define
119790         TESTS_ENVIRONMENT, so that individual tests can augment it.
119792         * gnulib-tool (func_create_testdir): Use an intermediate target for
119793         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
119794         macros, like $(ALLOCA_H), which cannot be passed through the command
119795         line.
119797 2005-10-15  Simon Josefsson  <jas@extundo.com>
119799         * modules/rijndael-tests: New file.
119801         * modules/rijndael: New file.
119803 2005-10-15  Simon Josefsson  <jas@extundo.com>
119805         * m4/rijndael.m4: New file.
119807 2005-10-15  Simon Josefsson  <jas@extundo.com>
119809         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
119811         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
119813 2005-10-14  Simon Josefsson  <jas@extundo.com>
119815         * tests/test-arcfour.c: New file.
119817         * modules/arcfour, modules/arcfour-tests: New files.
119819 2005-10-14  Simon Josefsson  <jas@extundo.com>
119821         * m4/arcfour.m4: New file.
119823 2005-10-14  Simon Josefsson  <jas@extundo.com>
119825         * lib/arcfour.h, lib/arcfour.c: New files.
119827 2005-10-14  Roland McGrath  <roland@redhat.com>
119829         Import from libc.  [BZ #1331]
119830         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
119831         macro argument.
119832         Reported by Matej Vela <vela@debian.org>.
119834 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119836         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
119837         include <wchar.h>; no longer needed.
119839 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119841         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
119843 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
119844         and  Ulrich Drepper  <drepper@redhat.com>
119846         Import from libc.
119847         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
119848         instead of inline stream orientation test and two separate
119849         function calls.  Pay no attention to USE_IN_LIBIO.
119851 2005-10-13  Simon Josefsson  <jas@extundo.com>
119853         * modules/gc-hmac-md5-tests: New file.
119855         * tests/test-gc-hmac-sha1.c: New file.
119857         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
119859         * modules/gc-hmac-md5-tests: New file.
119861         * tests/test-gc-md5.c: New file.
119863         * modules/gc-md5-tests: New file.
119865 2005-10-13  Simon Josefsson  <jas@extundo.com>
119867         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
119868         Move memory allocation outside of loop.
119870 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
119872         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
119873         intermediate directory is in a read-only file system.  Problem
119874         reported by Eric Blake.
119876 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
119878         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
119880 2005-10-12  Simon Josefsson  <jas@extundo.com>
119882         * tests/test-hmac-sha1.c: New file.
119884         * modules/hmac-sha1-tests: New file.
119886         * modules/hmac-sha1: New file.
119888 2005-10-12  Simon Josefsson  <jas@extundo.com>
119890         * modules/gc-sha1: New file.
119892 2005-10-12  Simon Josefsson  <jas@extundo.com>
119894         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
119896         * tests/test-gc-pbkdf2-sha1.c: New file.
119898 2005-10-12  Simon Josefsson  <jas@extundo.com>
119900         * modules/gc-md5, modules/gc-hmac-md5: New files.
119902         * modules/gc (Files): Remove md5, memxor and hmac files.
119904 2005-10-12  Simon Josefsson  <jas@extundo.com>
119906         * m4/gc-pbkdf2-sha1.m4: New file.
119908         * m4/gc-hmac-sha1.m4: New file.
119910         * m4/gc-sha1: New file.
119912         * m4/hmac-sha1.m4: New file.
119914 2005-10-12  Simon Josefsson  <jas@extundo.com>
119916         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
119918         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
119920 2005-10-12  Simon Josefsson  <jas@extundo.com>
119922         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
119923         suggested by Bruno Haible <bruno@clisp.org>.
119925 2005-10-12  Simon Josefsson  <jas@extundo.com>
119927         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
119929 2005-10-12  Simon Josefsson  <jas@extundo.com>
119931         * lib/gc-pbkdf2-sha1.c: New file.
119933         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
119935 2005-10-12  Simon Josefsson  <jas@extundo.com>
119937         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
119939         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
119941 2005-10-12  Simon Josefsson  <jas@extundo.com>
119943         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
119944         GC_USE_HMAC_MD5, respectively.
119946         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
119947         (gc_md5): Fix typo.
119949         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
119951         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
119953         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
119955 2005-10-12  Bruno Haible  <bruno@clisp.org>
119957         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
119958         Reported by Stepan Kasal <kasal@ucw.cz>.
119960 2005-10-11  Simon Josefsson  <jas@extundo.com>
119962         * tests/test-crc.c: New file.
119964         * modules/crc, modules/crc-tests: New files.
119966 2005-10-11  Simon Josefsson  <jas@extundo.com>
119968         * m4/crc.m4: New file.
119970 2005-10-11  Simon Josefsson  <jas@extundo.com>
119972         * lib/gc.h: Add gc_hash and gc_hash_buffer.
119974         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
119976         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
119978 2005-10-11  Simon Josefsson  <jas@extundo.com>
119980         * lib/crc.h, lib/crc.c: New files.
119982         * lib/gc.h (gc_hash_buffer): Add doc.
119984 2005-10-11  Bruno Haible  <bruno@clisp.org>
119986         * modules/c-strcasestr: New file.
119987         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
119989 2005-10-11  Bruno Haible  <bruno@clisp.org>
119991         * modules/c-strcase: New file.
119992         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
119994 2005-10-11  Bruno Haible  <bruno@clisp.org>
119996         * lib/strcasecmp.c: Include limits.h.
119997         (strcasecmp): Avoid integer overflow on exotic platforms.
119998         * lib/strncasecmp.c: Include limits.h.
119999         (strncasecmp): Avoid integer overflow on exotic platforms.
120000         Reported by Paul Eggert.
120002 2005-10-11  Bruno Haible  <bruno@clisp.org>
120004         * lib/c-strcasestr.h: New file, from GNU gettext.
120005         * lib/c-strcasestr.c: New file, from GNU gettext.
120007 2005-10-11  Bruno Haible  <bruno@clisp.org>
120009         * lib/c-strcase.h: New file, from GNU gettext.
120010         * lib/c-strcasecmp.c: New file, from GNU gettext.
120011         * lib/c-strncasecmp.c: New file, from GNU gettext.
120013 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
120015         * modules/mempcpy (License): GPL -> LGPL.
120016         * modules/strchrnul (License): Likewise.
120017         * modules/sysexits (License): Likewise.
120019 2005-10-08  Simon Josefsson  <jas@extundo.com>
120021         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
120023 2005-10-07  Simon Josefsson  <jas@extundo.com>
120025         * m4/memxor.m4: Remove gl_C_RESTRICT call.
120027 2005-10-06  Simon Josefsson  <jas@extundo.com>
120029         * tests/test-hmac-md5.c: New file.
120031         * modules/hmac-md5-tests: New file.
120033         * modules/hmac-md5: New file.
120035 2005-10-06  Simon Josefsson  <jas@extundo.com>
120037         * m4/hmac-md5.m4: New file.
120039         * m4/memxor.m4: Require gl_C_RESTRICT.
120041 2005-10-06  Simon Josefsson  <jas@extundo.com>
120043         * lib/memxor.c (memxor): Avoid casts and warnings.
120045 2005-10-06  Simon Josefsson  <jas@extundo.com>
120047         * lib/hmac-md5.c: New file.
120049         * lib/hmac.h: New file.
120051 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
120053         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
120054         promotes to int, not unsigned int, to catch the AIX 5.3
120055         compiler bug.
120057 2005-10-05  Simon Josefsson  <jas@extundo.com>
120059         * modules/memxor: New file.
120061         * modules/iconv (Files): Move config.rpath to havelib, it is used
120062         there.
120064         * modules/havelib (Files): Add config.rpath.
120066 2005-10-05  Simon Josefsson  <jas@extundo.com>
120068         * m4/memxor.m4: New file.
120070 2005-10-05  Simon Josefsson  <jas@extundo.com>
120072         * lib/memxor.c (memxor): Fix compiler error.
120074         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
120075         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
120077         * lib/memxor.h, lib/memxor.c: New files.
120079         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
120080         we assume all systems have it, suggested by Jim Meyering
120081         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
120082         any systems lack sys/socket.h; mingw32 is known to lack it, but we
120083         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
120084         same reasons.
120086 2005-10-05  Simon Josefsson  <jas@extundo.com>
120088         * config/srclist.txt: Add glibc bug 1423 for md5.h.
120090 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
120092         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
120093         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
120094         needed, since the source code now assumes these .h files.
120096 2005-10-05  Derek Price  <derek@ximbiot.com>
120098         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
120100 2005-10-05  Bruno Haible  <bruno@clisp.org>
120102         * modules/stdint (License): Change to LGPL.
120104 2005-10-04  Simon Josefsson  <jas@extundo.com>
120106         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
120107         D. Baushke" <mdb@gnu.org>.
120109 2005-10-04  Bruno Haible  <bruno@clisp.org>
120111         * lib/verify.h (verify_true): Provide alternative definition for C++.
120113 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
120115         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
120116         (SSIZE_MAX): New macro, if not already defined.
120117         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
120118         than 2 GiB.
120120 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120122         Sync from coreutils.
120123         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
120124         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
120125         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
120126         ULLONG_MAX doesn't work with 2.7.2.1.
120128 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120130         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
120131         From Ben Pfaff.
120133         * modules/exclude (Depends-on): Depend on verify.
120134         * modules/strtoimax (Depends-on): Likewise.
120135         * modules/utimecmp (Depends-on): Likewise.
120137 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120139         * lib/exclude.c: Include verify.h.
120140         (verify): Remove.  All callers changed to use verify.h's version.
120141         * lib/strtoimax.c: Likewise.
120142         * lib/utimecmp.c: Likewis.e
120144         Sync from coreutils.
120145         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
120146         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
120147         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
120148         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
120149         bother returning ENOSYS if settimeofday or stime fails; just let
120150         them return whatever errno they want to return.
120151         * lib/utimens.c: Include unistd.h, for dup2.
120152         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
120153         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
120155 2005-10-02  Jim Meyering  <jim@meyering.net>
120157         Sync from coreutils.
120158         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
120159         from glibc-2.2.5 that fails for read-only files.
120161 2005-10-02  Jim Meyering  <jim@meyering.net>
120163         Sync from coreutils.
120164         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
120165         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
120166         `#if HAVE_CONFIG_H'.
120167         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
120168         Remove AT_FDCWD test.
120169         Do not consume the fd unless successful.
120170         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
120171         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
120172         block, so that we don't even try to compile it if settimeofday is
120173         available.  This works around a compilation failure on OSF1 V5.1,
120174         due to stime requiring a `long int*' while tv_sec is `int'.
120176 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
120178         Sync from coreutils.
120179         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
120180         against `yes', rather than just testing for nonempty.
120182 2005-10-01  Simon Josefsson  <jas@extundo.com>
120184         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
120185         and Darwin.
120187         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
120188         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
120189         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
120190         freeaddrinfo and gai_strerror are declared by the POSIX headers.
120191         Check if struct addrinfo is declared.
120193 2005-10-01  Simon Josefsson  <jas@extundo.com>
120195         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
120196         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
120197         AI_* and EAI_* definitions.  Protect function declarations.
120199 2005-10-01  Jim Meyering  <jim@meyering.net>
120201         Sync from coreutils.
120203         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
120204         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
120205         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
120206         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
120207         in the inet and nsl libraries.  Required on Solaris 5.7.
120209 2005-10-01  Jim Meyering  <jim@meyering.net>
120211         Sync from coreutils.
120212         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
120213         in the inet and nsl libraries.  Required on Solaris 5.7.
120215 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
120217         * lib/getdelim.c (getdelim): Remove unused variables.
120219 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
120221         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
120222         so that the code works even with ancient cpp.  Portability problem
120223         with GCC 2.7.2.1 reported by Thomas M.Ott.
120225 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
120227         * modules/regex (Depends-on): Add strcase.
120229         * modules/gethostname (Licence): Change from GPL to LGPL, since
120230         gethostname.c is a trivial implementation of a standard library
120231         function.
120232         * modules/poll (License): Change from GPL to LGPL, since it's
120233         derived from LGPL code.
120235 2005-09-27  Jim Meyering  <jim@meyering.net>
120237         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
120238         HAVE_CONFIG_H.
120240         * lib/intprops.h (signed_type_or_expr__): Define.
120241         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
120242         for unsigned types.
120244 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
120246         * lib/verify.h (verify_expr): Remove, replacing with:
120247         (verify_true): New macro that returns true instead of void.
120248         (verify_type__): Remove.
120249         (verify): Use verify_true rather than verify_type__.
120251 2005-09-26  Bruno Haible  <bruno@clisp.org>
120253         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
120254         is necessary.
120255         (lib_SOURCES): Remove mbchar.c.
120256         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
120257         (Files): Add m4/mbrtowc.m4.
120258         * modules/mbiter: Likewise.
120259         * modules/mbuiter: Likewise.
120261 2005-09-26  Bruno Haible  <bruno@clisp.org>
120263         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
120264         compile mbchar.c if they are not both present.
120265         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
120266         * m4/mbiter.m4 (gl_MBITER): Likewise.
120267         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
120268         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
120269         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
120271 2005-09-25  Jim Meyering  <jim@meyering.net>
120273         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
120274         also uses socklen_t.
120276 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
120278         * lib/utimens.c (ENOSYS): Define if not already defined.
120279         (futimens): Support having a null PATH if the file descriptor
120280         is nonnegative.
120282         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
120283         Remove.
120284         (__attribute): Define to empty unless GCC 3.1 or later.
120285         This works around a core dump on OpenBSD 3.4, which has GCC
120286         2.95.3, which dumps core when given __attribute__(()).  It also
120287         simplifies other tests, since we really don't want to bother with
120288         worrying about which ancient version of GCC supported what.
120289         Original problem reported by Yoann Vandoorselaere, with part of
120290         the fix suggested by Derek Price.
120292 2005-09-24  Jim Meyering  <jim@meyering.net>
120294         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
120295         so we can once again use a positive bitfield width of 1 -- now we
120296         don't have to explain why we were using a bitfield width of 2.
120298 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
120300         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
120301         and similarly for the other external symbols.  Problem reported
120302         by James Gallager.
120304         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
120305         bug reported by Jim Meyering.
120307         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
120308         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
120309         not needed, since socklen is a prerequisite module.
120311 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
120313         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
120314         Problem reported by Eric Blake.
120315         (getaddrinfo): Initialize se so that it's not garbage.
120316         Redo internal storage allocation so that it doesn't make unportable
120317         assumptions about alignment.
120318         Fix a memory leak.
120320         * lib/utimens.c (futimens): Use futimesat if available.
120321         Prefer it to futimes since it doesn't have the futimes bug.
120323         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
120324         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
120325         Instead, declare a function that returns a pointer to an array,
120326         and use verify_type__ to declare the size of the array.
120327         Problem and germ of a solution reported by Bruno Haible.
120328         (verify_type__): Use 2, not 1, for bitfield size, to avoid
120329         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
120331 2005-09-23  Jim Meyering  <jim@meyering.net>
120333         Sync from coreutils.
120334         Correct build failure (socklen_t not defined) on at least
120335         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
120336         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
120338 2005-09-23  Jim Meyering  <jim@meyering.net>
120340         * modules/getaddrinfo (Depends-on): Add socklen.
120342 2005-09-23  Bruno Haible  <bruno@clisp.org>
120344         * tests/test-verify.c: New file.
120346 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120348         Sync from coreutils.
120350         * modules/argmatch (Depends-on): Add verify.
120351         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
120352         unistd-safer.
120353         * modules/save-cwd (Depends-on): Likewise.
120355         * modules/openat (Files): Add lib/openat-die.c.
120356         (Depends-on): Remove error, exitfail.
120357         Add dirname.
120359         * modules/verify: New file.
120360         * MODULES.html.sh (Diagnostics <assert.h>): New section,
120361         with "verify" module.
120363 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120365         Sync from coreutils.
120367         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
120368         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
120369         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
120370         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
120371         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
120372         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
120373         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
120374         Don't bother checking for string.h, stdlib.h, unistd.h.
120375         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
120376         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
120377         module's job.
120378         * m4/jm-macros.m4 (gl_MACROS): Likewise.
120379         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
120381         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
120382         (gl_GETDATE): Use it.
120384         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
120386 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120388         Sync from coreutils.
120390         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
120391         stat-time.h.
120392         * lib/argmatch.h: Include verify.h
120393         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
120394         (ARGMATCH_ASSERT): Remove; unused.
120395         * lib/canonicalize.c: Assume STDC_HEADERS.
120396         * lib/exclude.c: Include "strcase.h".
120397         * lib/regex_internal.h [!defined _LIBC]: Likewise.
120398         * lib/getusershell.c: Include stdio--.h rather than stdio.h
120399         and stdio-safer.h.
120400         (getusershell): Call fopen, not fopen_safer.
120401         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
120402         Do not include unistd-safer.h.
120403         (save_cwd): Don't call fd_safer; no longer needed
120404         now that we include fcntl--.h.
120406         * lib/getdate.y (relative_time): New type.
120407         (RELATIVE_TIME_0): New constant.
120408         (parser_control): Use relative_time instead of doing it ourselves.
120409         (%union): Add new relative_time rel member.
120410         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
120411         Now typeless.
120412         (relunit, relunit_snumber): Now of type rel.
120413         (zone, rel, relunit, get_date): Adjust to above changes.
120415         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
120416         Do not include unistd-safer.h.
120417         (getloadavg): Don't call fd_safer; no longer needed
120418         now that we include fcntl--.h.
120420         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
120421         (make_dir_parents): Treat ENOSYS like EEXIST.
120423         Improve quality of diagnostics on restore_cwd failure.
120424         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
120425         (make_dir_parents): Last arg is now int * (for errno), not bool *.
120426         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
120427         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
120428         each time through the loop.  Do not diagnose restore_cwd failure;
120429         that is the caller's job (and perhaps the caller does not care).
120431         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
120432         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
120433         If the file already exists but is not a directory, don't bother
120434         to try to make its parents.
120435         Close potential file descriptor leak if we can't chdir("/") (!).
120436         Don't always return true if chdir($PWD) fails; return true only
120437         if the requested action was done successfully (except for the
120438         chdir($PWD)).
120439         Don't log final directory unless we actually made it.
120440         Refactor to avoid duplicate code to fix up permissions.
120441         Don't attempt to fix up parent permissions if chdir($PWD) fails.
120443         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
120444         to make it a bit faster and (I hope) clearer.
120445         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
120446         Fix bug in formats like %2N.
120448         * lib/verify.h: New file.
120450 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120452         Sync from coreutils.
120453         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
120455 2005-09-22  Jim Meyering  <jim@meyering.net>
120457         Sync from coreutils.
120459         * m4/lstat.m4 (gl_FUNC_LSTAT):
120460         Use AC_LIBSOURCES to require lstat.c and lstat.h.
120461         Remove obsolete comment.
120462         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
120463         * m4/xstrtod.m4: Likewise.
120465         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
120467 2005-09-22  Jim Meyering  <jim@meyering.net>
120469         Sync from coreutils.
120471         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
120473         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
120474         the .tm_year member, since otherwise gcc-4.0 would now warn about
120475         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
120477         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
120478         order to avoid an unsuppressible warning from gcc on 64-bit systems.
120480         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
120481         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
120482         when run in a time zone for which daylight savings time is in effect
120483         for the starting date.
120485         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
120486         stop us from restricting permissions of just-created absolute-named
120487         directories.
120488         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
120489         to restore initial working directory.
120490         * lib/mkdir-p.c (make_dir_parents): New parameter:
120491         different_working_dir, to tell caller if/when we change the working
120492         directory and are unable to return to the initial one.
120493         * lib/mkdir-p.h (make_dir_parents): Update prototype.
120494         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
120495         `return false'.  This fixes a bug introduced on 2004-07-30.
120497         * lib/openat.c (fdopendir): Be sure to close the supplied
120498         file descriptor before returning.  This makes our replacement
120499         implementation a little closer to Solaris's, where fdopendir
120500         ties the file descriptor to the returned DIR* pointer.
120501         * lib/openat.c (unlinkat): New function.
120502         * lib/openat.h (unlinkat): Add prototype.
120503         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
120504         (openat_restore_fail): Rename from openat_restore_die.
120505         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
120507         Provide an alternative to exiting immediately upon save_cwd or
120508         restore_cwd failure.  Now, an application can arrange e.g.,
120509         to perform a longjump in that case.
120510         * lib/openat.c: Include dirname.h.
120511         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
120512         (rpl_openat, fdopendir, fstatat): Call openat_save_die
120513         and openat_restore_die rather than calling error directly.
120514         Don't include "error.h" or "exitfail.h"; they're no longer needed.
120516         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
120517         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
120518         define.
120520         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
120521         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
120522                             int utc, int nanoseconds);
120523         Background:
120524         date should not have to allocate a megabyte of virtual memory to
120525         handle a format argument like +%1048575T.  When implemented with
120526         strftime, it must allocate such a buffer, use strftime to fill it
120527         in, print it, then free it.
120528         With fprintftime, it simply prints everything and exits.
120529         With no need for memory allocation, that's one fewer way to fail.
120530         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
120531         optional field width, not before, so we accept %9:z, not %:9z.
120532         (my_strftime): Be sure to use L_('x') for literals.
120534         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
120535         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
120536         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
120537         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
120538         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
120539         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
120540         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
120541         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
120542         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
120543         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
120544         * lib/xgethostname.c, lib/xreadlink.c:
120545         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
120547         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
120548         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
120549         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
120550         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
120551         and don't include <sys/file.h>).
120553 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
120555         Sync from coreutils.
120557         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
120558         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
120559         [!LDAV_DONE]: Avoid unused variable warning.
120561 2005-09-21  Bruno Haible  <bruno@clisp.org>
120563         * lib/unicodeio.h (unicode_to_mb): New declaration.
120565 2005-09-20  Derek Price  <derek@ximbiot.com>
120567         * lib/getaddrinfo.c: Don't include <netdb.h> included from
120568         getaddrinfo.h.
120570 2005-09-20  Bruno Haible  <bruno@clisp.org>
120572         * gnulib-tool: Remove trailing slashes from the values specified for
120573         --source-base, --m4-base, --tests-base, --aux-dir.
120574         Suggested by Simon Josefsson <jas@extundo.com>.
120576 2005-09-20  Bruno Haible  <bruno@clisp.org>
120578         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
120579         func_modules_to_filelist, func_import, func_create_testdir): Make all
120580         sorting results locale-independent, so that gnulib-cache.m4 doesn't
120581         change when gnulib-tool is invoked in a different locale.
120583 2005-09-19  Simon Josefsson  <jas@extundo.com>
120585         * m4/socklen.m4: Fix typo.
120587 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
120589         Use a consistent style for including <config.h>.
120590         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
120591         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
120592         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
120593         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
120594         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
120595         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
120596         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
120597         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
120598         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
120599         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
120600         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
120601         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
120602         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
120603         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
120604         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
120605         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
120606         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
120607         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
120608         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
120609         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
120610         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
120611         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
120612         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
120613         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
120614         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
120615         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
120616         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
120617         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
120618         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
120619         lib/xstrtoumax.c, lib/yesno.c:
120620         Standardize inclusion of config.h.
120621         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
120622         lib/inttostr.h:  Removed inclusion of config.h from header files.
120623         * lib/inttostr.c:  Adjusted in-tree users.
120624         * lib/timespec.h: Remove superfluous warning to include config.h.
120625         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
120626         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
120627         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
120628         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
120629         config.h with HAVE_CONFIG_H.
120631 2005-09-19  Jim Meyering  <jim@meyering.net>
120633         * modules/pathmax (License): Change to LGPL.
120635 2005-09-19  Derek Price  <derek@ximbiot.com>
120637         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
120639 2005-09-19  Bruno Haible  <bruno@clisp.org>
120641         * gnulib-tool (import): Provide default for --tests-base.
120643 2005-09-19  Bruno Haible  <bruno@clisp.org>
120645         * doc/quote.texi: New file, extracted from gnulib.texi.
120646         * doc/ctime.texi: New file, extracted from gnulib.texi.
120647         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
120648         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
120649         * doc/gnulib.texi: Include them.
120651 2005-09-18  Bruno Haible  <bruno@clisp.org>
120653         Portability fix.
120654         * gnulib-tool (func_readlink): New function.
120655         (func_ln_if_changed): Use it.
120657 2005-09-18  Bruno Haible  <bruno@clisp.org>
120659         * gnulib-tool: Support --with-tests also with --import.
120660         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
120661         (func_import): Use variables $testsbase and $inctests. Emit a
120662         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
120663         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
120664         SUBDIRS += $testsdir.
120665         (func_create_testdir): Update.
120667 2005-09-18  Bruno Haible  <bruno@clisp.org>
120669         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
120670         instead of $dry_run.
120671         (func_cp_if_changed, func_mv_if_changed): Remove functions.
120672         (func_ln_if_changed): Don't handle dry-run here.
120673         (func_import): In dry-run mode, detect more precisely which actions
120674         would be performed, and don't use "...ing" verbs.
120676 2005-09-18  Bruno Haible  <bruno@clisp.org>
120678         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
120679         (func_import): Use join on two temporary files instead of three nested
120680         loops, in order to determine which files are new or old.
120682 2005-09-18  Bruno Haible  <bruno@clisp.org>
120684         * gnulib-tool (func_import): Comment out code that spits out the
120685         new files with --dry-run.
120687 2005-09-18  Bruno Haible  <bruno@clisp.org>
120689         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
120691 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120693         * lib/stat-time.h: New file.
120694         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
120695         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
120696         in a different way.
120697         (timespec_cmp): New function.
120698         * lib/utimecmp.c: Include stat-time.h.
120699         (SYSCALL_RESOLUTION): Depend on whether various struct stat
120700         members exist, not on the obsolescent ST_MTIM_NSEC.
120701         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
120703 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120705         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
120707 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120709         * MODULES.html.sh (File system functions): Add stat-time.
120710         * modules/stat-time: New file.
120711         * modules/timespec (Files): Remove m4/st_mtim.m4; this
120712         is now done in a different way, by the stat-time module.
120713         * modules/utimecmp (Depends-on): Add stat-time.
120715 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
120717         * m4/st_mtim.m4: Remove.  Superseded by...
120718         * m4/stat-time.m4: New file.
120719         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
120720         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
120722 2005-09-15  Derek Price  <derek@ximbiot.com>
120724         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
120726 2005-09-15  Derek Price  <derek@ximbiot.com>
120728         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
120729         * lib/regex_internal.c: Ditto, using this...
120730         (__GNUC_PREREQ): ...new macro.
120731         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
120732         using...
120733         (__GNUC_PREREQ): ...this new macro.
120735         * lib/strstr.h: Include string.h. Define strstr as a macro here.
120737 2005-09-15  Derek Price  <derek@ximbiot.com>
120738             Paul Eggert  <eggert@cs.ucla.edu>
120740         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
120741         changes, consolidating in...
120742         * lib/regex_internal.h: ...this file.
120744 2005-09-13  Jim Meyering  <jim@meyering.net>
120746         * lib/canon-host.c: Filter through gnu indent and reword comments
120747         slightly.
120748         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
120750 2005-09-13  Derek Price  <derek@ximbiot.com>
120752         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
120753         failure.
120754         Reported by Jim Meyering  <jim@meyering.net>.
120756 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120758         * lib/base64.c: Typo.
120759         (base64_encode): Put b64str in initialized data section.
120761 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
120763         Merge glibc and coreutils changes into gnulib, plus a few
120764         extra fixes.
120765         * lib/md5.c: Use #error rather than a string.
120766         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
120767         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
120768         (__attribute__): Define to empty for non recent-GCC.
120769         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
120770         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
120771         Renamed from their non-__ counterparts, with new macros replacing
120772         them if not _LIBC.  Add __THROW attribute.
120773         (rol): Remove.
120774         (struct md5_ctx): Align buffer if using GCC.
120775         * lib/sha1.h (struct sha1_ctx): Likewise.
120776         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
120777         The old name was backwards.
120778         (NOTSWAP): Remove; not used.
120779         (rol): New macro, moved here from md5.h.
120780         (sha1_process_block): Remove a FIXME that doesn't make sense.
120782 2005-09-12  Derek Price  <derek@ximbiot.com>
120784         Return usable errors from canon-host.
120785         * lib/canon-host.h: New file.
120786         * lib/canon-host.c (canon_host): Wrap...
120787         (canon_host_r): ...this new function, which now relies exclusively on
120788         getaddrinfo.
120789         (ch_strerror): New function.
120790         (last_cherror): New global.
120791         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
120792         interface.
120793         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
120794         void *.
120795         (freeaddrinfo): Free ai->ai_canonname when set.
120797 2005-09-12  Derek Price  <derek@ximbiot.com>
120799         Make canon-host require getaddrinfo.
120800         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
120801         AC_LIBSOURCE canon-host.h.  Call...
120802         (gl_PREREQ_CANON_HOST): ...this new function, which requires
120803         gl_GETADDRINFO.
120804         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
120806 2005-09-12  Derek Price  <derek@ximbiot.com>
120808         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
120809         LGPL.
120810         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
120812 2005-09-12  Derek Price  <derek@ximbiot.com>
120814         * lib/gai_strerror.c: Include config.h when available.  Include
120815         getaddrinfo.h before other headers to test interface.
120816         Reported by Larry Jones <lawrence.jones@ugs.com>.
120818 2005-09-12  Derek Price  <derek@ximbiot.com>
120819             Paul Eggert  <eggert@cs.ucla.edu>
120821         * modules/glob (Files): Add glob-libc.h.
120823 2005-09-12  Derek Price  <derek@ximbiot.com>
120824             Paul Eggert  <eggert@cs.ucla.edu>
120826         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
120827         glob_.h, glob-libc.h.
120828         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
120830 2005-09-12  Derek Price  <derek@ximbiot.com>
120831             Paul Eggert  <eggert@cs.ucla.edu>
120833         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
120834         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
120835         protecting things that should be done only in gnulib contexts.
120836         * lib/glob_.h: New file, containing only the glob things needed for
120837         gnulib.
120838         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
120839         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
120840         (glob, globfree, glob_pattern_p): Now defined simply in terms of
120841         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
120842         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
120843         and to respect the namespace rules better.
120845 2005-09-08  Simon Josefsson  <jas@extundo.com>
120847         * modules/socklen: New file.
120849 2005-09-08  Simon Josefsson  <jas@extundo.com>
120851         * m4/socklen.m4: New file.
120853 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120855         * modules/utimens (Files): Add m4/utimbuf.m4, since
120856         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
120857         Reported by Sergey Poznyakoff.
120859 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120861         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
120862         definitions, since that's the preferred style in glibc.
120863         Fix a minor spacing issue, and update copyright notice to match
120864         glibc's.
120866 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120868         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
120870 2005-09-06  Simon Josefsson  <jas@extundo.com>
120872         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
120873         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
120875 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120877         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
120878         warning.
120880 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120882         * config/srclist.txt: Add glibc bug 1302.
120884 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
120886         Change bitset word type from unsigned int to unsigned long int,
120887         as this has better performance on typical 64-bit hosts.
120888         Port bitset code to hosts with unusual word sizes.
120889         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
120890         (build_collating_symbol):
120891         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
120892         argument is a bitset.  This is merely a style issue, but it makes
120893         it clearer that an entire array is expected.
120894         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
120895         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
120896         Port to the case where bitset_word is not the same as unsigned int.
120897         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120898         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
120899         Likewise.
120900         * lib/regexec.c (check_dst_limits_calc_pos_1,
120901         check_subexp_matching_top):
120902         (build_trtable, group_nodes_into_DFAstates):
120903         Likewise.
120904         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
120905         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
120906         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
120907         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
120908         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
120909         * lib/regcomp.c (optimize_subexps, lower_subexp):
120910         Work even if bitset_word has holes in its bitwise representation.
120911         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
120912         * lib/regexec.c (check_dst_limits_calc_pos_1,
120913         check_subexp_matching_top):
120914         Likewise.
120915         * lib/regex_internal.c (re_string_reconstruct):
120916         Don't assume UCHAR_MAX == 255.
120917         * lib/regex_internal.h (bitset_set_all): Likewise.
120918         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
120919         All uses changed.
120920         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
120921         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
120922         All uses changed.
120923         (BITSET_WORD_MAX): New macro.
120924         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
120925         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
120926         (bitset_empty, bitset_copy):
120927         Prefer sizeof (bitset) to multiplying it out ourselves.
120928         (bitset_not_merge): Remove; unused.
120929         (bitset_contain): Return bool, not unsigned int with one bit on.
120930         All callers changed.
120931         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
120932         alignment than re_node_set; do this by defining a new internal
120933         type struct dests_alloc and using it to allocate memory.
120935 2005-09-05  Bruno Haible  <bruno@clisp.org>
120937         * gnulib-tool (func_import): Fix comparison in handling of symbolic
120938         links.
120940 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
120942         * modules/size_max (Makefile.am): Add size_max.h
120944 2005-09-04  Derek Price  <derek@ximbiot.com>
120946         * gnulib-tool (func_import): Fix reversed $symbolic logic.
120948 2005-09-03  Simon Josefsson  <jas@extundo.com>
120950         * gnulib-tool: Fix typo.
120952 2005-09-03  Simon Josefsson  <jas@extundo.com>
120954         * config/srclist.txt: Add glibc bug 1293.
120956 2005-09-03  Derek Price  <derek@ximbiot.com>
120958         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
120959         From Larry Jones <lawrence.jones@ugs.com>.
120961 2005-09-02  Simon Josefsson  <jas@extundo.com>
120963         * modules/socklen: New file.
120965 2005-09-02  Simon Josefsson  <jas@extundo.com>
120967         * modules/havelib: New module.
120969         * modules/gettext, modules/iconv, modules/lock, modules/readline:
120970         Use havelib.
120972 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120974         Check for arithmetic overflow when calculating sizes, to prevent
120975         some buffer-overflow issues.  These patches are conservative, in the
120976         sense that when I couldn't determine whether an overflow was possible,
120977         I inserted a run-time check.
120978         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
120979         macros.
120980         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
120981         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
120982         (re_xnrealloc, re_x2nrealloc): New inline functions.
120983         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
120984         parse_bracket_exp):
120985         (build_equiv_class, build_charclass): Check for arithmetic overflow
120986         in size expression calculations.
120987         * lib/regex_internal.c (re_string_realloc_buffers):
120988         (build_wcs_upper_buffer, re_node_set_add_intersect):
120989         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
120990         (re_dfa_add_node, register_state): Likewise.
120991         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
120992         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
120993         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
120994         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
120996 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120998         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
120999         m4/ulonglong.m4.  Problem reported by Martin Lambers.
121001 2005-09-02  Bruno Haible  <bruno@clisp.org>
121003         Support for lib vs. lib64 distinction on biarch platforms.
121004         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
121005         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
121006         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
121008 2005-09-02  Bruno Haible  <bruno@clisp.org>
121010         * gnulib-tool (import): In the other first-use case, provide defaults
121011         as well.
121013 2005-09-02  Bruno Haible  <bruno@clisp.org>
121015         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
121016         patches not yet found in the latest gettext release.
121018 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
121020         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
121021         to avoid a collision with bits/local_lim.h in glibc.
121022         All uses changed.  Problem reported by Dmitry V. Levin in
121023         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
121025         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
121026         bugs in int versus size_t comparisons.
121027         (re_string_context_at): Fix bug where the code assumed that
121028         Idx is signed.
121030         Use bool where appropriate.
121031         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
121032         All callers changed.
121033         (calc_eclosure_iter): Likewise, for ROOT arg.
121034         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
121035         (build_charclass_op): Likewise, for NON_MATCH arg.
121036         * lib/regex_internal.c (re_string_allocate, re_string_construct):
121037         (re_string_construct_common): Likewise, for ICASE arg.
121038         * lib/regexec.c (re_search_2_stub, re_search_stub):
121039         Likewise, for RET_LEN arg.
121040         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
121041         (set_regs): Likewise, for FL_BACKTRACK arg.
121042         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
121043         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
121044         (calc_eclosure_iter, parse_bracket_exp):
121045         Use bool for internal variables that are booleans.
121046         * lib/regexec.c (re_search_internal, check_matching,
121047         proceed_next_node):
121048         (set_regs, build_sifted_states, sift_states_bkref):
121049         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
121050         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121051         (find_collation_sequence_value):
121052         Likewise.
121053         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
121054         (re_node_set_compare):
121055         Return bool, not int. All callers changed.
121056         * lib/regexec.c (check_halt_node_context, check_dst_limits):
121057         (build_trtable, check_node_accept): Likewise.
121058         * lib/regex_internal.h: Include stdbool.h.
121060         Fix bugs uncovered when converting to bool.
121061         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
121062         failure instead of charging ahead blindly.
121063         * lib/regex_internal.c (register_state): Likewise.
121064         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
121065         for freeing internal storage.
121066         (group_nodes_into_DFA_states): Use unsigned int, not int, for
121067         bitset pieces used as boolean, to avoid undefined behavior
121068         on hosts that do int overflow checking.
121070 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
121072         * config/srclist.txt: Add glibc bugs 1285-1287.
121074 2005-09-01  Jim Meyering  <jim@meyering.net>
121076         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
121077         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
121078         Require gl_STAT_MACROS, too.
121080 2005-09-01  Bruno Haible  <bruno@clisp.org>
121082         * gnulib-tool (import): In the first-use case, provide defaults.
121084 2005-09-01  Bruno Haible  <bruno@clisp.org>
121086         * gnulib-tool (func_import): Remove the .tmp files.
121088 2005-09-01  Bruno Haible  <bruno@clisp.org>
121090         * gnulib-tool (func_import): Fix handling of symbolic links.
121092 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121094         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
121095         old glibc regex code mishandles strings longer than 2**31 bytes.
121096         This patch fixes this when the regex code is used in gnulib
121097         (i.e., outside glibc).
121099         This patch should not affect the use of the regex code inside
121100         glibc.  No doubt this problem also needs to be handled for glibc
121101         as well, but the result will be an incompatible change to the
121102         glibc ABI, and the old ABI will have to be supported too.  That
121103         can be the subject for another patch.
121105         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
121106         governing whether the rest of this patch is active.  By default,
121107         the macro is disabled and the patch has no effect.
121108         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
121109         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
121110         (struct re_pattern_buffer, re_search, re_search_2, re_match):
121111         (re_match_2, re_set_registers): Use the new types.
121112         * lib/regex_internal.h (Idx, re_hashval_t): New types.
121113         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
121114         New macros.
121115         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
121116         (re_string_context_at, bin_tree_t, re_dfastate_t):
121117         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
121118         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
121119         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
121120         (re_string_char_size_at, re_string_wchar_at):
121121         (re_string_elem_size_at):
121122         Use the new types and macros to port to 64-bit hosts.
121123         Use unsigned types for internal values, so that the code
121124         mostly works even for arrays larger than SSIZE_MAX.
121125         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
121126         (search_duplicated_node, calc_eclosure_iter, fetch_number):
121127         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
121128         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
121129         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
121130         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
121131         (calc_inveclosure, parse_dup_op, build_range_exp):
121132         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
121133         (fetch_number, create_token_tree, mark_opt_subexp):
121134         Likewise.
121135         * lib/regex_internal.c (re_string_construct_common,
121136         create_ci_newstate):
121137         (create_cd_newstate, re_string_allocate, re_string_construct):
121138         (re_string_realloc_buffers, build_wcs_upper_buffer):
121139         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121140         (re_string_reconstruct, re_string_peek_byte_case):
121141         (re_string_fetch_byte_case, re_string_context_at):
121142         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121143         (re_node_set_init_copy, re_node_set_add_intersect):
121144         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121145         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121146         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121147         (re_acquire_state, re_acquire_state_context, register_state):
121148         Likewise.
121149         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
121150         search_cur_bkref_entry):
121151         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
121152         (re_search_internal, re_search_2_stub, re_search_stub)
121153         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
121154         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
121155         (update_cur_sifted_state, check_dst_limits):
121156         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
121157         (check_subexp_limits, sift_states_bkref, merge_state_array):
121158         (check_subexp_matching_top, get_subexp, get_subexp_sub):
121159         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
121160         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121161         (expand_bkref_cache, check_node_accept_bytes):
121162         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
121163         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
121164         (acquire_init_state_context, check_halt_node_context):
121165         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
121166         (sift_states_backward, clean_state_log_if_needed):
121167         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
121168         (find_recover_state, transit_state_sb, transit_state_mb):
121169         (transit_state_bkref, build_trtable, match_ctx_clean):
121170         Likewise.
121171         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
121172         to work around an assumption that REG_MISSING is negative.
121174         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
121175         (seek_collating_symbol_entry) [defined _LIBC]:
121176         (lookup_collation_sequence_value) [defined _LIBC]:
121177         (build_range_exp, build_collating_symbol) [defined _LIBC]:
121178         Use prototypes rather than old-style function definitions.
121179         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
121180         (transit_state_sb) [0]:
121181         (find_collation_sequence_value) [defined _LIBC]: Likewise.
121183         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
121184         rm_eo.
121186         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
121187         (optimize_subexps, lower_subexp):
121188         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
121189         since the signed shift might overflow.  Use 1u<<31 instead.
121190         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
121191         Likewise.
121192         * lib/regexec.c (check_dst_limits_calc_pos_1,
121193         check_subexp_matching_top): Likewise.
121195         * lib/regcomp.c (optimize_subexps, lower_subexp):
121196         Use CHAR_BIT rather than 8, for clarity.
121197         * lib/regexec.c (check_dst_limits_calc_pos_1):
121198         (check_subexp_matching_top): Likewise.
121199         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
121200         have to worry about portability issues when shifting it left.
121201         Remove no-longer-needed test for table_size > 0.
121202         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
121203         in a word, as the resulting behavior is undefined.
121204         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
121205         in one case, a <= should have been an <, and in another case the
121206         whole test was missing.
121207         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
121208         the standard name CHAR_BIT.
121209         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
121210         this is not true on one's complement and signed-magnitude hosts.
121212         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
121213         next_last_offset.
121214         (struct re_dfa_t): Remove unused member states_alloc.
121215         * lib/regcomp.c (init_dfa): Don't initialize unused members.
121217 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121219         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
121220         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
121221         and large-file glibc and in 32-bit large-file Solaris.
121223 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121225         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
121226         lengths fit in regoff_t; this isn't true if regoff_t is the same
121227         width as size_t.
121228         * lib/regex.c (re_search_internal): 5th arg is LAST_START
121229         (= START + RANGE) instead of RANGE.  This avoids overflow
121230         problems when regoff_t is the same width as size_t.
121231         All callers changed.
121232         (re_search_2_stub): Check for overflow when adding the
121233         sizes of the two strings.
121234         (re_search_stub): Check for overflow when adding START
121235         to RANGE; if it occurs, substitute the extreme value.
121237 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121239         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
121241 2005-08-31  Jim Meyering  <jim@meyering.net>
121243         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
121244         a pointer-to-const.
121245         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
121246         (register_state): Likewise.
121247         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
121248         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
121249         (group_nodes_into_DFAstates): Likewise.
121251 2005-08-31  Jim Meyering  <jim@meyering.net>
121253         * check-module: Add a FIXME comment.
121255 2005-08-31  Eric Blake  <ebb9@byu.net>
121257         * modules/unistd-safer (Files): Add unistd--.h.
121258         * modules/stdio-safer (Files): Add stdio--.h.
121260 2005-08-31  Derek Price  <derek@ximbiot.com>
121262         * lib/getdelim.c (getdelim): Return EOF on EOF.
121263         Reported by Larry Jones <lawrence.jones@ugs.com>.
121265 2005-08-31  Bruno Haible  <bruno@clisp.org>
121267         Avoid unnecessary diffs in the generated lib/Makefile.am.
121268         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
121269         the generated files.
121270         (func_import): Don't set cmd.
121272 2005-08-31  Bruno Haible  <bruno@clisp.org>
121274         * lib/strstr.c: Include <stddef.h>, for NULL.
121275         * lib/strcasestr.c: Likewise.
121276         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
121278 2005-08-31  Bruno Haible  <bruno@clisp.org>
121280         * gnulib-tool: New option --macro-prefix.
121281         (func_import): Use macro_prefix.
121282         (import): Handle option --macro-prefix.
121284 2005-08-31  Bruno Haible  <bruno@clisp.org>
121286         * gnulib-tool (import): Rename most ac_* variables to cached_*.
121287         Also use new variables cached_lgpl, cached_libtool.
121289 2005-08-31  Bruno Haible  <bruno@clisp.org>
121291         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
121292         always instantiating them.
121294 2005-08-31  Bruno Haible  <bruno@clisp.org>
121296         * gnulib-tool (func_import): Read the previous cached settings
121297         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
121298         earlier added by gnulib but are now dropped. Warn when a gnulib file
121299         overwrites a non-gnulib file.
121301 2005-08-31  Bruno Haible  <bruno@clisp.org>
121303         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
121304         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
121305         projects that don't keep autogenerated files in CVS. Put into
121306         actioncmd only the specified modules, not the transitive closure.
121308 2005-08-31  Bruno Haible  <bruno@clisp.org>
121310         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
121311         Create directories that shall be filled.
121312         (import): Don't look for gl_* macros in configure.ac. Recurse across
121313         all directories containing a gnulib-cache.m4 files, if meaningful.
121315 2005-08-31  Bruno Haible  <bruno@clisp.org>
121317         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
121318         (import): Set seen_libtool when we see gl_LIBTOOL.
121320 2005-08-31  Bruno Haible  <bruno@clisp.org>
121322         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
121323         declaration macro definitions from generated gnulib.m4.
121325 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
121327         * lib/iconvme.h: Add prototype for iconv_alloc.
121329 2005-08-29  Simon Josefsson  <jas@extundo.com>
121331         * lib/iconvme.c: Fix errno.
121333 2005-08-29  Bruno Haible  <bruno@clisp.org>
121335         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
121336         that it works when the directory contains spaces.
121338 2005-08-29  Bruno Haible  <bruno@clisp.org>
121340         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
121342 2005-08-29  Bruno Haible  <bruno@clisp.org>
121344         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
121345         Emit more advice.
121347 2005-08-29  Bruno Haible  <bruno@clisp.org>
121348         and Stepan Kasal  <kasal@ucw.cz>
121350         * check-module: If more parameters are given, check each of them
121351         separately; add more exceptions, as noted by Jim Meyering.
121352         (check_module): New procedure.
121353         (%exempt_header): Now contains all exceptions.
121355 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
121357         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
121359 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
121361         * lib/iconvme.c: Split iconv_string into iconv_alloc.
121363 2005-08-28  Bruno Haible  <bruno@clisp.org>
121365         * m4/gnulib-tool.m4: New file.
121367 2005-08-27  Jim Meyering  <jim@meyering.net>
121369         * modules/unistd-safer (Files): Add pipe-safer.c.
121370         * modules/fcntl-safer (Files): Add creat-safer.c.
121372 2005-08-27  Jim Meyering  <jim@meyering.net>
121374         * m4/stdlib-safer.m4: New file.  From coreutils.
121375         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
121376         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
121377         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
121378         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
121379         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
121381 2005-08-27  Jim Meyering  <jim@meyering.net>
121383         * lib/fopen-safer.c: Merge minor changes from coreutils.
121384         * lib/dup-safer.c: Likewise.
121385         * lib/fd-safer.c: Likewise.
121387         Merge from coreutils.
121388         * lib/stdio--.h: New file.
121389         * lib/stdlib--.h: New file.
121390         * lib/mkstemp-safer.c: New file.
121392         GNU tar needs these.
121393         * lib/pipe-safer.c: New file.
121394         * lib/creat-safer.c: New file.
121395         * lib/fcntl--.h (creat): Define to creat_safer.
121396         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
121397         * lib/unistd--.h (pipe): Define to pipe_safer.
121398         * lib/unistd-safer.h: Declare pipe_safer.
121400 2005-08-26  Simon Josefsson  <jas@extundo.com>
121402         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
121403         Haible <bruno@clisp.org>.
121405 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
121407         * lib/regex_internal.h: Remove all references to
121408         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
121409         or better.
121410         (bitset_not, bitset_merge, bitset_not_merge):
121411         (bitset_mask, re_string_allocate, re_string_construct):
121412         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
121413         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
121414         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
121415         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
121416         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121417         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121418         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
121419         (re_acquire_state_context):
121420         Remove unnecessary forward decls.
121421         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
121422         Put __attribute at function definition,
121423         now that the function decl has been removed.
121424         * lib/regex_internal.c (re_string_peek_byte_case):
121425         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
121426         Likewise.
121428 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
121430         * m4/regex.m4: Add AC_PREREQ(2.50).
121431         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
121433 2005-08-25  Simon Josefsson  <jas@extundo.com>
121435         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
121436         __fsetlocking.
121438 2005-08-25  Simon Josefsson  <jas@extundo.com>
121440         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
121441         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
121442         GLIBC specific code.
121444 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121446         Make regex safe for g++.  This fixes one real bug (an "err"
121447         that should have been "*err").  g++ problem reported by
121448         Sam Steingold.
121449         * lib/regex_internal.h (re_calloc): New macro, consistent with
121450         re_malloc etc.  All callers of calloc changed to use re_calloc.
121451         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
121452         not int.  All callers changed.
121453         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
121454         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
121455         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
121456         (find_recover_state): Change "err" to "*err"; this fixes what
121457         appears to be a real bug.
121458         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
121459         versus int.
121461 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121463         * modules/regex (Depends-on): Add malloc, since the code
121464         assumes that !malloc(0) means failure.
121466 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121468         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
121470         alloca modernization/simplification for regex.
121471         * lib/regex.c: Remove portability cruft for alloca.  This no longer
121472         needs to be at the start of the file, and can be moved into
121473         regex_internal.h and simplified.
121474         * lib/regex_internal.h: Include <alloca.h>.
121475         (__libc_use_alloca) [!defined _LIBC]: New macro.
121476         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
121477         now works outside glibc.
121479 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121481         * config/srclist.txt: Add glibc bugs 1241, 1245.
121483 2005-08-25  Jim Meyering  <jim@meyering.net>
121485         * lib/open-safer.c: Include <config.h>.
121486         Otherwise, we'd lose LARGEFILE support in any file using
121487         e.g. "fcntl--.h"
121489 2005-08-25  Bruno Haible  <bruno@clisp.org>
121491         * m4/minmax.m4: Require autoconf 2.52.
121492         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
121493         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
121494         alternatives of translit over the alphabet.
121495         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
121497 2005-08-24  Simon Josefsson  <jas@extundo.com>
121499         * tests/test-getpass.c: New file.
121501 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121503         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
121504         for GNU regex features.
121506 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121508         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
121509         * lib/regex.h (regerror): Likewise.
121511         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
121512         requires this.  (The code never needed it.)
121514         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
121515         All uses of recently-renamed identifiers changed to use the new,
121516         POSIX-compliant names.  The code will build and run just fine
121517         without these changes, but it's better to eat our own dog food
121518         and use the standard-conforming names.
121520         * lib/regex.h: Fix a multitude of POSIX name space violations.
121521         These changes have an effect only for programs that define
121522         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
121523         do not change anything for programs compiled in the normal way.
121524         Also, there is no effect on the ABI.
121526         (_REGEX_SOURCE): New macro.
121527         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
121528         defined and _GNU_SOURCE is not; this fixes a name space violation.
121530         Rename the following macros to obey POSIX requirements.
121531         The old names are still visible as macros if _REGEX_SOURCE is defined.
121532         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
121533         RE_BACKSLASH_ESCAPE_IN_LISTS.
121534         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
121535         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
121536         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
121537         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
121538         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
121539         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
121540         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
121541         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
121542         (REG_INTERVALS): renamed from RE_INTERVALS.
121543         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
121544         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
121545         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
121546         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
121547         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
121548         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
121549         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
121550         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
121551         RE_UNMATCHED_RIGHT_PAREN_ORD.
121552         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
121553         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
121554         (REG_DEBUG): renamed from RE_DEBUG.
121555         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
121556         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
121557         unusual, since we can't clash with the POSIX REG_ICASE.
121558         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
121559         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
121560         (REG_NO_SUB): renamed from RE_NO_SUB.
121561         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
121562         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
121563         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
121564         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
121565         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
121566         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
121567         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
121568         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
121569         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
121570         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
121571         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
121572         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
121573         RE_SYNTAX_POSIX_MINIMAL_BASIC.
121574         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
121575         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
121576         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
121577         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
121578         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
121579         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
121580         (REG_FIXED): Renamed from REGS_FIXED.
121581         (REG_NREGS): Renamed from RE_NREGS.
121583         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
121584         of other REG_* macros, since POSIX says the user is allowed to
121585         #undef these macros selectively.
121587         (reg_errcode_t): Update comment stating what other tables need
121588         to be consistent.
121590         Rename the following enum values to obey POSIX requirements.
121591         The old names are still visible as macros.
121592         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
121593         is not defined, since GNU is supposed to be a superset of POSIX as
121594         much as possible, and since we want reg_errcode_t to be a signed
121595         type for implementation consistency.
121596         (_REG_NOERROR): Renamed from REG_NOERROR.
121597         (_REG_NOMATCH): Renamed from REG_NOMATCH.
121598         (_REG_BADPAT): Renamed from REG_BADPAT.
121599         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
121600         (_REG_ECTYPE): Renamed from REG_ECTYPE.
121601         (_REG_EESCAPE): Renamed from REG_EESCAPE.
121602         (_REG_ESUBREG): Renamed from REG_ESUBREG.
121603         (_REG_EBRACK): Renamed from REG_EBRACK.
121604         (_REG_EPAREN): Renamed from REG_EPAREN.
121605         (_REG_EBRACE): Renamed from REG_EBRACE.
121606         (_REG_BADBR): Renamed from REG_BADBR.
121607         (_REG_ERANGE): Renamed from REG_ERANGE.
121608         (_REG_ESPACE): Renamed from REG_ESPACE.
121609         (_REG_BADRPT): Renamed from REG_BADRPT.
121610         (_REG_EEND): Renamed from REG_EEND.
121611         (_REG_ESIZE): Renamed from REG_ESIZE.
121612         (_REG_ERPAREN): Renamed from REG_ERPAREN.
121613         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
121614         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
121615         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
121616         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
121618         (_REG_RE_NAME, _REG_RM_NAME): New macros.
121619         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
121620         changed.  But support the old name if the new one is not defined
121621         and if _REGEX_SOURCE.
121623         Change the following member names in struct re_pattern_buffer.
121624         The old names are still supported if !_REGEX_SOURCE.
121625         The new names are always supported, regardless of _REGEX_SOURCE.
121626         (re_buffer): Renamed from buffer.
121627         (re_allocated): Renamed from allocated.
121628         (re_used): Renamed from used.
121629         (re_syntax): Renamed from syntax.
121630         (re_fastmap): Renamed from fastmap.
121631         (re_translate): Renamed from translate.
121632         (re_can_be_null): Renamed from can_be_null.
121633         (re_regs_allocated): Renamed from regs_allocated.
121634         (re_fastmap_accurate): Renamed from fastmap_accurate.
121635         (re_no_sub): Renamed from no_sub.
121636         (re_not_bol): Renamed from not_bol.
121637         (re_not_eol): Renamed from not_eol.
121638         (re_newline_anchor): Renamed from newline_anchor.
121640         Change the following member names in struct re_registers.
121641         The old names are still supported if !_REGEX_SOURCE.
121642         The new names are always supported, regardless of _REGEX_SOURCE.
121643         (rm_num_regs): Renamed from num_regs.
121644         (rm_start): Renamed from start.
121645         (rm_end): Renamed from end.
121647         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
121648         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
121649         Prepend __ to parameter names.
121651         Undo yesterday's changes.
121653 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121655         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
121656         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
121657         lib/regex.c.
121659 2005-08-24  Jim Meyering  <jim@meyering.net>
121661         Sync from coreutils.
121662         * m4/fcntl-safer.m4: New file.
121664         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
121665         and object files for this module.
121667 2005-08-24  Jim Meyering  <jim@meyering.net>
121669         Sync from coreutils.
121670         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
121672 2005-08-24  Jim Meyering  <jim@meyering.net>
121674         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
121675         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
121677 2005-08-24  Jim Meyering  <jim@meyering.net>
121679         * modules/fcntl-safer: New module.
121680         * modules/fts (Depends-on): Add fcntl-safer.
121681         * MODULES.html.sh (File descriptor based Input/Output):
121682         Add fcntl-safer.
121684 2005-08-24  Bruno Haible  <bruno@clisp.org>
121686         Support for unit test modules.
121687         * modules/README: Mention tests modules.
121688         * modules/TEMPLATE-TESTS: New file.
121689         * gnulib-tool: New options --extract-tests-module, --with-tests and
121690         --tests-base (unused for the moment).
121691         (testsbase, inctests): New variables.
121692         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
121693         (func_verify_module): Exclude TEMPLATE-TESTS.
121694         (func_verify_nontests_module, func_verify_tests_module): New functions.
121695         (func_get_dependencies): Add implicit dependency for tests modules.
121696         (func_get_tests_module): New function.
121697         (func_modules_transitive_closure): When --with-tests was specified,
121698         include the unit tests as well, unless explicitly avoided.
121699         (func_emit_lib_Makefile_am): Ignore the tests modules here.
121700         (func_emit_tests_Makefile_am): New function.
121701         (func_create_testdir): When --with-tests was specified, emit a
121702         tests/ directory.
121703         * MODULES.html.sh (Future developments): Update.
121705 2005-08-24  Bruno Haible  <bruno@clisp.org>
121707         * modules/tls-tests: New file.
121708         * tests/test-tls.c: New file, from GNU gettext.
121710 2005-08-24  Bruno Haible  <bruno@clisp.org>
121712         * modules/lock-tests: New file.
121713         * tests/test-lock.c: New file, from GNU gettext.
121715 2005-08-24  Bruno Haible  <bruno@clisp.org>
121717         * lib/lock.h: Add multiple inclusion guard.
121718         * lib/tls.h: Add multiple inclusion guard.
121720 2005-08-24  Bruno Haible  <bruno@clisp.org>
121722         * gnulib-tool: Add support for the --aux-dir option to
121723         --create-testdir, --create-megatestdir, --test, --megatest.
121724         (func_create_testdir, func_create_megatestdir): Optionally emit a
121725         AC_CONFIG_AUX_DIR directive.
121726         (create-testdir, create-megatestdir, test, megatest): Provide a
121727         default value for $auxdir.
121729 2005-08-24  Bruno Haible  <bruno@clisp.org>
121731         * gnulib-tool (import): Use compound statement instead of subshell
121732         where possible.
121734 2005-08-24  Bruno Haible  <bruno@clisp.org>
121736         * gnulib-tool (import): Change --aux-dir default to "build-aux".
121738 2005-08-24  Bruno Haible  <bruno@clisp.org>
121740         * gnulib-tool (func_version): Update.
121742 2005-08-24  Bruno Haible  <bruno@clisp.org>
121744         * gnulib-tool (func_import, func_create_testdir,
121745         func_create_megatestdir): Quote all autoconf macro arguments.
121747 2005-08-24  Bruno Haible  <bruno@clisp.org>
121749         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
121750         option --force, because --force causes the aclocal.m4 of each
121751         subdirectory to be newer than the corresponding config.h.in.
121753 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121755         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
121756         All contents moved to gl_REGEX.
121757         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
121758         assume that it does.
121760 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121762         * lib/regex.h (REG_NOSYS)
121763         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
121764         Define, since POSIX requires it as of 2001.
121765         (_REG_ENOSYS)
121766         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
121767         New private symbol, used to keep the enum signed in all cases.
121768         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
121769         Youngman in
121770         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
121772         * lib/regex_internal.c (re_string_skip_chars, register_state):
121773         (calc_state_hash):
121774         Remove forward decls; no longer needed now that we use prototypes.
121775         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
121776         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
121777         (clean_state_log_if_needed): Likewise.
121779 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121781         * config/srclist.txt: Add glibc bugs 1231-1233.
121783 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121785         Fix problems reported by Sam Steingold in
121786         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
121787         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
121788         assumed that reg_errcode_t is a signed type, which is not
121789         necessarily true if _XOPEN_SOURCE is not defined.
121790         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
121791         since some compilers warn about it otherwise.
121793 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121795         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
121796         (init_word_char, create_initial_state, duplicate_node_closure):
121797         (fetch_token, peek_token_bracket, build_range_exp):
121798         (build_collating_symbol): Remove forward decls; no longer needed
121799         now that we use prototypes.
121801         * lib/regcomp.c:
121802         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
121803         (re_compile_fastmap_iter, regcomp, regerror, regfree):
121804         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
121805         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
121806         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
121807         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
121808         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
121809         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
121810         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
121811         (build_range_exp, build_collating_symbol, parse_bracket_exp):
121812         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
121813         (build_charclass, build_charclass_op, fetch_number, create_tree):
121814         (create_token_tree, mark_opt_subexp, duplicate_tree):
121815         Use prototypes rather than old-style definitions.
121817         * lib/regex_internal.c:
121818         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
121819         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
121820         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121821         (re_string_reconstruct, re_string_peek_byte_case):
121822         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
121823         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121824         (re_node_set_init_copy, re_node_set_add_intersect):
121825         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121826         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121827         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121828         (re_acquire_state, re_acquire_state_context, register_state):
121829         (create_ci_newstate, create_cd_newstate, free_state):
121830         Likewise.
121831         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
121832         re_search_2):
121833         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
121834         (re_search_internal, prune_impossible_nodes):
121835         (acquire_init_state_context, check_matching, static):
121836         (check_halt_node_context, check_halt_state_context, proceed_next_node):
121837         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
121838         (update_regs, sift_states_backward, build_sifted_states):
121839         (clean_state_log_if_needed, merge_state_array):
121840         (update_cur_sifted_state, add_epsilon_src_nodes):
121841         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
121842         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
121843         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
121844         (find_recover_state, check_subexp_matching_top, transit_state_mb):
121845         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
121846         (check_arrival, check_arrival_add_next_nodes):
121847         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121848         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121849         (check_node_accept_bytes, check_node_accept, extend_buffers):
121850         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
121851         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
121852         (sift_ctx_init):
121853         Likewise.
121855         * lib/regex_internal.h:
121856         (re_string_allocate, re_string_construct, re_string_reconstruct):
121857         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
121858         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
121859         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
121860         (re_string_context_at, re_string_peek_byte_case):
121861         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
121862         is defined, since we now use prototypes always.
121864         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
121865         C89 or better.  All uses removed.
121867 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121869         * config/srclist.txt: Add glibc bugs 1220-1227.
121871 2005-08-20  Jim Meyering  <jim@meyering.net>
121873         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
121874         of unused local, dfa.
121876 2005-08-20  Bruno Haible  <bruno@clisp.org>
121878         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
121880 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121882         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
121883         (re_node_set_insert_last, re_dfa_add_node):
121884         Rename local variables to avoid GCC shadowing warnings.
121886 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121888         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
121889         [defined lint]: Suppress bogus uninitialized-variable warnings.
121891         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
121892         and let the caller return REG_ESPACE if out of space.  This
121893         removes an uninitialied-variable warning with GCC 4.0.1, and also
121894         avoids taking the address of a local variable.  All callers
121895         changed.
121897 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121899         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
121900         $LIBCSRC/posix/regexec.c.
121901         Add glibc bug 1217 for regcomp.c.
121903 2005-08-19  Jim Meyering  <jim@meyering.net>
121905         * lib/regexec.c (proceed_next_node): Redo local variables to
121906         avoid GCC shadowing warnings.
121908 2005-08-18  Bruno Haible  <bruno@clisp.org>
121910         * lib/strstr.c (strstr): Fix return value in multibyte case.
121911         * lib/strcasestr.c (strcasestr): Likewise.
121913 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
121915         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
121917 2005-08-17  Jim Meyering  <jim@meyering.net>
121919         Make the %s format (seconds since the epoch) work for a negative
121920         number and when used with a zero-padded field width, e.g. %015s.
121922         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
121923         label so that it precedes the code to set `digits'.  Otherwise,
121924         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
121925         print `00-22'.  Now, it prints `-0022', as it should.
121927 2005-08-17  Bruno Haible  <bruno@clisp.org>
121929         * modules/strstr (Files): Add m4/mbrtowc.m4.
121930         (Depends-on): Add mbuiter.
121932 2005-08-17  Bruno Haible  <bruno@clisp.org>
121934         * modules/strcasestr: New file.
121935         * MODULES.html.sh (String handling, based on ANSI C 89): Add
121936         strcasestr.
121938 2005-08-17  Bruno Haible  <bruno@clisp.org>
121940         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
121942 2005-08-17  Bruno Haible  <bruno@clisp.org>
121944         * modules/mbuiter: New file.
121945         * MODULES.html.sh (Extended multibyte and wide character utilities):
121946         Add mbuiter.
121948 2005-08-17  Bruno Haible  <bruno@clisp.org>
121950         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
121951         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
121953 2005-08-17  Bruno Haible  <bruno@clisp.org>
121955         * m4/strcasestr.m4: New file.
121957 2005-08-17  Bruno Haible  <bruno@clisp.org>
121959         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
121960         * lib/strstr.c: Completely rewritten, with multibyte locale support.
121962 2005-08-17  Bruno Haible  <bruno@clisp.org>
121964         * lib/strcasestr.h: New file.
121965         * lib/strcasestr.c: New file.
121967 2005-08-17  Bruno Haible  <bruno@clisp.org>
121969         * lib/strcasecmp.c: Use mbuiter.h.
121971 2005-08-17  Bruno Haible  <bruno@clisp.org>
121973         * lib/mbuiter.h: New file.
121975 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
121977         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
121978         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
121979         and gl_GETOPT are both invoked via different paths (as happens
121980         with GNU tar CVS because it uses both argp and getopt), the former
121981         wins.
121983 2005-08-16  Bruno Haible  <bruno@clisp.org>
121985         * modules/tls: New file.
121986         * MODULES.html.sh (Multithreading): Add tls.
121988 2005-08-16  Bruno Haible  <bruno@clisp.org>
121990         * modules/strnlen1: New file.
121991         * MODULES.html.sh (String handling): Add strnlen1.
121993 2005-08-16  Bruno Haible  <bruno@clisp.org>
121995         * modules/strcase (Files): Add m4/mbrtowc.m4.
121996         (Depends-on): Add strnlen1, mbchar.
121998 2005-08-16  Bruno Haible  <bruno@clisp.org>
122000         * modules/mbiter: New file.
122001         * MODULES.html.sh (Extended multibyte and wide character utilities):
122002         Add mbiter.
122004 2005-08-16  Bruno Haible  <bruno@clisp.org>
122006         * modules/mbfile: New file.
122007         * MODULES.html.sh (Extended multibyte and wide character utilities):
122008         Add mbfile.
122010 2005-08-16  Bruno Haible  <bruno@clisp.org>
122012         * modules/mbchar: New file.
122013         * MODULES.html.sh (Extended multibyte and wide character utilities):
122014         New section.
122016 2005-08-16  Bruno Haible  <bruno@clisp.org>
122018         * m4/tls.m4: New file, from GNU gettext.
122020 2005-08-16  Bruno Haible  <bruno@clisp.org>
122022         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
122023         always.
122024         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
122026 2005-08-16  Bruno Haible  <bruno@clisp.org>
122028         * m4/mbiter.m4: New file.
122030 2005-08-16  Bruno Haible  <bruno@clisp.org>
122032         * m4/mbfile.m4: New file.
122034 2005-08-16  Bruno Haible  <bruno@clisp.org>
122036         * m4/mbchar.m4: New file.
122038 2005-08-16  Bruno Haible  <bruno@clisp.org>
122040         * lib/tls.h: New file, from GNU gettext.
122041         * lib/tls.c: New file, from GNU gettext.
122043 2005-08-16  Bruno Haible  <bruno@clisp.org>
122045         * lib/strnlen1.h: New file.
122046         * lib/strnlen1.c: New file.
122048 2005-08-16  Bruno Haible  <bruno@clisp.org>
122050         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
122051         (mbi_init): Update.
122052         (mbi_avail, mbi_advance): Let the iteration end before the terminating
122053         NUL byte, not after it.
122055 2005-08-16  Bruno Haible  <bruno@clisp.org>
122057         * lib/strcase.h (strcasecmp): Add note in comments.
122058         * lib/strncasecmp.c: Use code from strcasecmp.c.
122059         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
122060         (strcasecmp): Work correctly in multibyte locales.
122062 2005-08-16  Bruno Haible  <bruno@clisp.org>
122064         * lib/mbiter.h: New file.
122066 2005-08-16  Bruno Haible  <bruno@clisp.org>
122068         * lib/mbfile.h: New file.
122070 2005-08-16  Bruno Haible  <bruno@clisp.org>
122072         * lib/mbchar.h: New file.
122073         * lib/mbchar.c: New file.
122075 2005-08-16  Bruno Haible  <bruno@clisp.org>
122077         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
122078         the valid ones. Makes the comparison operations transitive:
122079         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
122080         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
122082 2005-08-15  Simon Josefsson  <jas@extundo.com>
122084         * modules/ssize_t (License): Change to 'unlimited'.
122086         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
122088 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
122090         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
122091         Add comments for each pending glibc patch.
122093 2005-08-15  Bruno Haible  <bruno@clisp.org>
122095         * lib/regex.h (__restrict_arr): Don't define to __restrict if
122096         __cplusplus is defined.
122098 2005-08-14  Jim Meyering  <jim@meyering.net>
122100         Sync from coreutils.
122102         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
122103         Use the hash-table-based cycle-detection code not just when
122104         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
122105         Reported by James Youngman in
122106         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
122107         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
122108         FTS_TIGHT_CYCLE_CHECK.
122109         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
122110         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
122111         once again.
122112         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
122113         * lib/fts.c (fd_safer): Remove decl.
122114         Include fcntl--.h rather than unistd-safer.h
122115         (fts_safe_changedir): Don't call fd_safer; no longer needed
122116         now that we include fcntl--.h.
122118 2005-08-12  Simon Josefsson  <jas@extundo.com>
122120         * modules/getndelim2: Use ssize_t module.
122121         * modules/getnline: Likewise.
122122         * modules/safe-read: Likewise.
122123         * modules/xreadlink: Likewise.
122125         * modules/ssize_t: New file.
122127 2005-08-12  Simon Josefsson  <jas@extundo.com>
122129         * m4/readline.m4: Look for termcap, curses or ncurses if required.
122131 2005-08-12  Simon Josefsson  <jas@extundo.com>
122133         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122134         ssize_t.
122136 2005-08-12  Simon Josefsson  <jas@extundo.com>
122138         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
122139         readline, getdelim and check_version.
122140         (Support for systems lacking ISO C 99: Sizes of integer types):
122141         Add size_max.
122143 2005-08-12  Bruno Haible  <bruno@clisp.org>
122145         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
122147 2005-08-11  Simon Josefsson  <jas@extundo.com>
122149         * modules/readline: New file.
122151         * modules/strnlen (Files): Add strnlen.h.
122153 2005-08-11  Simon Josefsson  <jas@extundo.com>
122155         * m4/readline.m4: New file.
122157 2005-08-11  Simon Josefsson  <jas@extundo.com>
122159         * lib/readline.h, readline.c: New file.
122161 2005-08-11  Simon Josefsson  <jas@extundo.com>
122163         * doc/gnulib.texi (Initial import, Finishing touches): Mention
122164         gl_AVOID.
122166 2005-08-11  Bruno Haible  <bruno@clisp.org>
122168         * lib/strnlen.h (strnlen): Change parameter name to match comment.
122170 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
122172         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
122174 2005-08-10  Simon Josefsson  <jas@extundo.com>
122176         * tests/test-iconvme.c: New file.
122178 2005-08-10  Simon Josefsson  <jas@extundo.com>
122180         * m4/strnlen.m4: New file.
122182         * m4/strndup.m4: Don't check for strnlen declaration, done in
122183         strnlen.m4.
122185 2005-08-10  Simon Josefsson  <jas@extundo.com>
122187         * lib/strndup.c: Use strnlen.h.
122189         * lib/strnlen.h: New file.
122191 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
122193         * README: Typos.
122195 2005-08-02  Simon Josefsson  <jas@extundo.com>
122197         * modules/readline: New file.
122199 2005-08-02  Simon Josefsson  <jas@extundo.com>
122201         * modules/getdelim: New file.
122203         * modules/getline: Rewrite, don't use getndelim2.
122205 2005-08-02  Simon Josefsson  <jas@extundo.com>
122207         * m4/getline.m4: Separate out getdelim stuff into separate module.
122209         * m4/getdelim.m4: New file.
122211 2005-08-02  Simon Josefsson  <jas@extundo.com>
122213         * lib/getline.h, getline.c: Rewrite.
122215         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
122217 2005-07-31  Bruno Haible  <bruno@clisp.org>
122219         * lib/lock.h (gl_lock_initializer): New macro.
122220         (gl_lock_define_initialized): Use it.
122221         (gl_rwlock_initializer): New macro.
122222         (gl_rwlock_define_initialized): Use it.
122223         (gl_recursive_lock_initializer): New macro.
122224         (gl_recursive_lock_define_initialized): Use it.
122226 2005-07-30  Karl Berry  <karl@gnu.org>
122228         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
122229         Report from Ben Pfaff, regarding getopt.
122231 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
122233         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
122234         normal way.
122235         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
122236         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
122237         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
122238         (gl_GETOPT): Use the new macros.  Most of the implementation
122239         is moved to the new macros.  This is for programs like Emacs
122240         that don't want all the functionality of gl_GETOPT.
122242 2005-07-26  Bruno Haible  <bruno@clisp.org>
122244         * m4/lock.m4: Update from GNU gettext.
122246 2005-07-26  Bruno Haible  <bruno@clisp.org>
122248         * lib/lock.h: Update from GNU gettext.
122249         * lib/lock.c: Update from GNU gettext.
122251 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
122253         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
122254         obsolescent AC_TRY_RUN.  Include the default includes files, for
122255         'exit'.
122257 2005-07-24  Bruno Haible  <bruno@clisp.org>
122259         * modules/visibility: New file.
122260         * MODULES.html.sh (Misc): Add visibility.
122262 2005-07-24  Bruno Haible  <bruno@clisp.org>
122264         * m4/visibility.m4: New file.
122266 2005-07-24  Bruno Haible  <bruno@clisp.org>
122268         * doc/visibility.texi: New file.
122270 2005-07-22  Bruno Haible  <bruno@clisp.org>
122272         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
122273         $(ALLOCA_H), redundant through BUILT_SOURCES.
122274         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
122275         redundant through BUILT_SOURCES.
122276         * modules/byteswap (Makefile.am): Remove explicit dependency on
122277         $(BYTESWAP_H), redundant through BUILT_SOURCES.
122278         * modules/fnmatch (Makefile.am): Remove explicit dependency on
122279         $(FNMATCH_H), redundant through BUILT_SOURCES.
122280         * modules/getopt (Makefile.am): Remove explicit dependency on
122281         $(GETOPT_H), redundant through BUILT_SOURCES.
122282         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
122283         redundant through BUILT_SOURCES.
122284         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
122285         redundant through BUILT_SOURCES.
122286         * modules/stdbool (Makefile.am): Remove explicit dependency on
122287         $(STDBOOL_H), redundant through BUILT_SOURCES.
122288         * modules/stdint (Makefile.am): Remove explicit dependency on
122289         $(STDINT_H), redundant through BUILT_SOURCES.
122290         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
122291         Remove explicit dependency on $(SYSEXITS_H).
122292         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
122294 2005-07-18  Simon Josefsson  <jas@extundo.com>
122296         * lib/check-version.c (check_version): Accept identical versions too.
122298 2005-07-18  Bruno Haible  <bruno@clisp.org>
122300         * modules/lock: New file.
122301         * MODULES.html.sh (Multithreading): New section.
122303 2005-07-18  Bruno Haible  <bruno@clisp.org>
122305         * m4/lock.m4: New file, from GNU gettext.
122307 2005-07-18  Bruno Haible  <bruno@clisp.org>
122309         * lib/lock.h: New file, from GNU gettext.
122310         * lib/lock.c: New file, from GNU gettext.
122312 2005-07-18  Bruno Haible  <bruno@clisp.org>
122314         * lib/lock.h (gl_once_t): New type.
122315         (gl_once_define, gl_once): New macros.
122316         * lib/lock.c (fresh_once): New variable.
122317         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
122318         functions.
122320 2005-07-16  Simon Josefsson  <jas@extundo.com>
122322         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
122323         workaround, suggested by Bruno.
122325 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
122327         * modules/xalloc (Depends-on): Add xalloc-die.
122328         * modules/xvasprintf (Depends-on): Add xalloc-die.
122330 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
122332         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
122333         with a minor change.
122335 2005-07-15  Bruno Haible  <bruno@clisp.org>
122337         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
122338         When using lib/poll.c, define poll as rpl_poll.
122340 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
122342         * modules/argp (Depends-on): Remove unlocked-io.
122344 2005-07-14  Derek Price  <derek@ximbiot.com>
122346         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
122347         for glob symlink bug.
122349 2005-07-14  Bruno Haible  <bruno@clisp.org>
122351         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
122352         Instead, test for *_unlocked function declarations directly.
122354 2005-07-11  Simon Josefsson  <jas@extundo.com>
122356         * modules/size_max: New file.
122358         * modules/xsize: Depend on size_max module for size_max.m4.
122360 2005-07-11  Simon Josefsson  <jas@extundo.com>
122362         * lib/size_max.h: New file.
122364 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
122366         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
122367         copyright symbol and the year.
122368         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
122369         (version_etc_va): Use parameterized copyright notice.
122370         Reword to conform to the current GNU coding standards.
122372 2005-07-11  Karl Berry  <karl@gnu.org>
122374         * doc/gnulib.texi (Quoting): new node.
122375         (Initial import): more info, from Patrice.
122377 2005-07-11  Bruno Haible  <bruno@clisp.org>
122379         * gnulib-tool (func_usage): Document option --avoid.
122380         (Command line options): Handle --avoid.
122381         (func_acceptable): New function.
122382         (func_modules_transitive_closure): Use it.
122384 2005-07-11  Bruno Haible  <bruno@clisp.org>
122386         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
122387         Reported by Jim Meyering.
122389 2005-07-10  Bruno Haible  <bruno@clisp.org>
122391         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
122392         Needed when size_t is smaller than 'unsigned int'.
122393         Reported by Paul Eggert.
122395 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
122397         * modules/argp (Depends-on): Add unlocked-io
122399 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
122401         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
122402         block of defines.
122404 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
122406         * config/srclist.txt: Comment out regcomp.c, since we have a porting
122407         fix now.
122409 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
122410         and Paul Eggert  <eggert@cs.ucla.edu>
122412         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
122413         in wint_t, not wchar_t.  Remove now-unnecessary cast.
122415 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122417         * modules/regex (Files): Add lib/regex_internal.c,
122418         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
122419         (Depends-on): Add extensions.
122420         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
122422 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122424         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
122425         pathconf.
122426         * m4/same.m4 (gl_SAME): Likewise.
122427         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
122429         * m4/regex.m4: Adjust to new libc regex implementation.
122430         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
122431         all the .c and .h parts of (the new) regex.
122432         Quote the m4 stuff better.
122433         Check for RE_ICASE bug of old gnulib.
122434         Check for REG_STARTEND of recent libc.
122435         Rename local variables from jm_* to gl_*.
122436         Quote operand of "test -f".
122437         Say "recent enough" version of libc, not "version 2".
122438         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
122439         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
122440         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
122441         Remove check for btowc, isascii.
122442         Require AM_LANGINFO_CODESET.
122444 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122446         * lib/regex.c, regex.h: Sync from libc.
122447         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
122448         * lib/regexec.c:
122449         New files, synced from libc, except that regex_internal.h
122450         currently has a small porting fix.
122452 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122454         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
122455         regex_internal.c, regexec.c.
122456         Add regex_internal.h too, but as a comment, since the libc version
122457         is currently broken in gnulib mode.
122459 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
122461         Support programs like Emacs that use gnulib but not gettext.
122462         * MODULES.html.sh (Internationalization functions): Add gettext-h.
122463         * modules/gettext-h: New file.
122464         * modules/gettext (Files): Remove lib/gettext.h.
122465         (Depends-on): Add gettext-h.
122466         (Makefile.am): Remove lib_SOURCES.
122467         * modules/argmatch, modules/c-stack, modules/closeout:
122468         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
122469         * modules/execute, modules/file-type, modules/getaddrinfo:
122470         * modules/getopt, modules/human, modules/javacomp:
122471         * modules/javaexec, modules/mkdir-p, modules/obstack:
122472         * modules/openat, modules/pagealign_alloc, modules/pipe:
122473         * modules/quotearg, modules/regex, modules/rpmatch:
122474         * modules/unicodeio, modules/userspec, modules/version-etc:
122475         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
122476         * modules/xsetenv:
122477         Depend on gettext-h, not gettext.
122479 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
122481         * gnulib-tool (func_import): Add support for 'public domain' license.
122482         * modules/alloca, modules/atexit, modules/memmove:
122483         Now public domain, not GPL.
122484         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
122485         * modules/realloc, modules/strerror, modules/strtod:
122486         Now LGPL, not GPL.
122488 2005-07-05  Bruno Haible  <bruno@clisp.org>
122490         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
122491         autoconf CVS. Needed for mingw.
122493 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122495         Remove the dependency of the strftime module on the tzset module.
122496         * modules/strftime (Depends-on): Remove dependency on tzset.
122498 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122500         Remove the dependency of the strftime module on the tzset module.
122501         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
122502         gl_FUNC_TZSET_CLOBBER.
122504 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122506         Remove the dependency of the strftime module on the tzset module.
122507         * lib/strftime.c (my_strftime)
122508         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
122509         Copy the input structure, to work around some of the bug with
122510         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
122511         Solaris releases, you should also use the tzset module, but we won't
122512         require it as a dependency any more since we don't want LGPLed code
122513         to depend on GPLed code.
122515 2005-07-02  Jim Meyering  <jim@meyering.net>
122517         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
122518         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
122519         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
122520         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
122522 2005-07-02  Jim Meyering  <jim@meyering.net>
122524         * lib/backupfile.c (backup_args): Change a `0' to NULL.
122526 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
122528         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
122529         declares only 'struct timespec;' (!).
122531 2005-07-01  Jim Meyering  <jim@meyering.net>
122533         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
122534         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
122535         * lib/save-cwd.c, tempname.c:
122536         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
122537         and don't include <sys/file.h>).
122539 2005-06-29  Jim Meyering  <jim@meyering.net>
122541         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
122542         type name.  Use the variable name instead.
122543         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
122544         Likewise.
122546 2005-06-28  Simon Josefsson  <jas@extundo.com>
122548         * modules/check-version (Files): Add check-version.m4.
122550 2005-06-28  Simon Josefsson  <jas@extundo.com>
122552         * m4/check-version.m4: New file, suggested by Jim Meyering
122553         <jim@meyering.net>.
122555 2005-06-28  Simon Josefsson  <jas@extundo.com>
122557         * lib/check-version.h, lib/check-version.c: New files.
122559 2005-06-28  Simon Josefsson  <jas@extundo.com>
122561         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
122562         collision with global variable.  Better indentation.  Don't
122563         increment buffer pointer beyond buffer end.  Based on comments
122564         from Paul Eggert <eggert@cs.ucla.edu>.
122566         * lib/base64.h: Indent.
122568 2005-06-28  Simon Josefsson  <jas@extundo.com>
122570         * doc/gnulib.texi (Library version handling): New section.
122572 2005-06-28  Jim Meyering  <jim@meyering.net>
122574         * check-module (find_included_lib_files): Hard-code another
122575         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
122576         but modules/fts-lgpl (correctly) does not list those files.
122578         * modules/canonicalize (Files): Add lib/pathmax.h.
122580 2005-06-25  Simon Josefsson  <jas@extundo.com>
122582         * modules/check-version: New file.
122584 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
122586         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
122587         initializer of struct addrinfo, as an indication that we don't
122588         care how many members the structure has.
122590 2005-06-24  Derek Price  <derek@ximbiot.com>
122591         and Bruno Haible  <bruno@clisp.org>
122593         Remove stat module & update lstat.
122594         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
122595         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
122596         * m4/stat.m4: Remove this file.
122598 2005-06-24  Derek Price  <derek@ximbiot.com>
122599         and Bruno Haible  <bruno@clisp.org>
122601         Remove stat module & update lstat.
122602         * lib/stat.c: Remove this file...
122603         (slash_aware_lstat): ...moving this content and its support...
122604         * lib/lstat.c (rpl_lstat): ...into here.
122605         * lib/lstat.h: New file.
122607 2005-06-24  Derek Price  <derek@ximbiot.com>
122608         and Bruno Haible  <bruno@clisp.org>
122610         Remove stat module & update lstat.
122611         * config/srclist.txt (libc sources): Remove stat.
122613 2005-06-24  Derek Price  <derek@ximbiot.com>
122614         and Bruno Haible  <bruno@clisp.org>
122616         Remove stat module & update lstat.
122617         * MODULES.html.sh (stat): Remove.
122618         * MODULES.html: Regenerated.
122619         * modules/lstat (Description): Correct function name.
122620         (Files): Add "lstat.h".
122621         (Depends-on): Remove stat, add xalloc, stat-macros.
122622         * modules/stat: Remove this file.
122623         (Include): Add "lstat.h", remove <sys/stat.h>.
122625 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
122627         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
122628         (ranged_convert): Don't save conversion in a temporary struct.
122629         This causes a warning with GCC 4.0.0, and anyway in the typical
122630         case it's not worth the extra 100 bytes or so of code.
122631         (ranged_convert, __mktime_internal): When calling a function via a
122632         pointer P, use P () rather than (*P) (), as we now assume C89 or
122633         better.
122635 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
122637         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
122638         "who -r" failed to give output.  Problem reported by Tim Waugh.
122640         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
122641         (xcalloc): Use it to avoid needless tests.
122642         Problem reported by Jim Meyering.
122644 2005-06-20  Derek Price  <derek@ximbiot.com>
122646         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
122647         unnecessary for Autoconfs > 2.59c.
122649 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122651         * lib/argp.h (__option_is_short): Check upper limit of
122652         __key. Isprint() requires its argument to have the value
122653         of an unsigned char or EOF.
122655 2005-06-16  Jim Meyering  <jim@meyering.net>
122657         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
122658         when either N or S is zero.
122660 2005-06-16  Derek Price  <derek@ximbiot.com>
122662         * m4/bison.m4: Declare YACC & YFLAGS precious.
122664 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
122666         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
122667         multibyte string or pattern, fall back on unibyte matching.
122668         Problem reported by James Youngman.
122670 2005-06-08  Bruno Haible  <bruno@clisp.org>
122672         * modules/csharpcomp: New file.
122673         * MODULES.html.sh (C#): Add csharpcomp.
122675 2005-06-08  Bruno Haible  <bruno@clisp.org>
122677         * m4/csharpcomp.m4: New file, from GNU gettext.
122679 2005-06-08  Bruno Haible  <bruno@clisp.org>
122681         * lib/csharpcomp.h: New file, from GNU gettext.
122682         * lib/csharpcomp.c: New file, from GNU gettext.
122683         * lib/csharpcomp.sh.in: New file, from GNU gettext.
122685 2005-06-08  Bruno Haible  <bruno@clisp.org>
122687         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
122688         warning on mingw.
122690 2005-06-07  Derek Price  <derek@ximbiot.com>
122692         Sync from CVS.
122693         * lib/glob_.h: Indent nested #ifdef.
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         * lib/mkdir-p.c: Renamed from makepath.c.
122701         (make_dir_parents): Renamed from make_path.  All callers changed.
122702         * lib/mkdir-p.h: Likewise.  All includers changed.
122703         * lib/filenamecat.c: Renamed from path-concat.c.
122704         (file_name_concat): Renamed from path_concat.  All callers changed.
122705         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
122706         * lib/filenamecat.h: Likewise.  All includers changed.
122707         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
122708         in comments or local variable names.
122709         * lib/basename.c: Likewise.
122710         * lib/canonicalize.c, canonicalize.h: Likewise.
122711         * lib/dirname.c, dirname.h: Likewise.
122712         * lib/euidaccess.c: Likewise.
122713         * lib/exclude.c: Likewise
122714         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
122715         * lib/fsusage.c, fsuage.h: Likewise.
122716         * lib/fts.c, fts_.h: Likewise.
122717         * lib/getcwd.c: Likewise.
122718         * lib/getloadavg.c: Likewise.
122719         * lib/mkstemp.c: Likewise.
122720         * lib/mountlist.c, mountlist.h: Likewise.
122721         * lib/openat.c, openat.h: Likewise.
122722         * lib/readlink-stub.c: Likewise.
122723         * lib/readutmp.c, readutmp.h: Likewise.
122724         * lib/rename.c: Likewise.
122725         * lib/rmdir.c: Likewise.
122726         * lib/same.c: Likewise.
122727         * lib/savedir.c: Likewise.
122728         * lib/stripslash.c: Likewise.
122729         * lib/tempname.c: Likewise.
122730         * lib/xreadlink.c: Likewise.
122731         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
122732         All uses changed.
122733         * lib/exclude.h: Likewise.
122735         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
122736         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122737         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
122738         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122739         * lib/pathmax.h: Include <limits.h> unconditionally, since other
122740         files have been getting away with it for years (MORE/BSD 4.3
122741         is extinct now).
122742         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
122743         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122745         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
122746         Define to 256, not 255, as per modern POSIX.
122748 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122750         Sync from coreutils.
122751         Use "file name" when talking about file names, instead of "filename"
122752         or "path", as per the GNU coding standards.
122753         * MODULES.html.sh: mkdir-p renamed from makepath.
122754         filenamecat renamed from path-concat.
122755         * modules/filenamecat: Renamed from modules/path-concat.
122756         (Files): filenamecat.h and filenamecat.c renamed from
122757         path-concat.h and path-concat.c.
122758         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
122759         (Include): filenamecat.h, not path-concat.h.
122760         * modules/mkdir-p: Renamed from modules/makepath.
122761         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
122762         makepath.c.
122763         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
122764         (Include): mkdir-p.h, not makepath.h.
122766 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122768         Sync from coreutils.
122769         * m4/mkdir-p.m4: Renamed from makepath.m4.
122770         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
122771         Rename files from makepath.c to mkdir-p.c, and from
122772         makepath.h to mkdir-p.h.
122773         * m4/filenamecat.m4: Renamed from path-concat.m4.
122774         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
122775         Rename files from path-concat.c to filenamecat.c,
122776         and from path-concat.h to filenamecat.h.
122777         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
122778         "file name" in local variables or comments.
122779         * m4/rename.m4: Likewise.
122781 2005-06-01  Bruno Haible  <bruno@clisp.org>
122783         * modules/csharpexec: New file.
122784         * MODULES.html.sh (C#): New section.
122786 2005-06-01  Bruno Haible  <bruno@clisp.org>
122788         * m4/csharp.m4: New file, from GNU gettext.
122789         * m4/csharpexec.m4: New file, from GNU gettext.
122791 2005-06-01  Bruno Haible  <bruno@clisp.org>
122793         * lib/csharpexec.h: New file, from GNU gettext.
122794         * lib/csharpexec.c: New file, from GNU gettext.
122795         * lib/csharpexec.sh.in: New file, from GNU gettext.
122797 2005-05-31  Derek Price  <derek@ximbiot.com>
122798             Paul Eggert  <eggert@cs.ucla.edu>
122800         Sync from cvs.
122801         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122803 2005-05-31  Derek Price  <derek@ximbiot.com>
122804             Paul Eggert  <eggert@cs.ucla.edu>
122806         Sync from cvs.
122807         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122809 2005-05-29  Derek Price  <derek@ximbiot.com>
122811         * config/srclist.txt (glob_.h, glob.c): Add these files.
122813 2005-05-29  Derek Price  <derek@ximbiot.com>
122815         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
122816         * modules/glob: New file.
122817         * modules/getlogin_r: Add link to POSIX spec in description.
122819 2005-05-29  Derek Price  <derek@ximbiot.com>
122820             Paul Eggert  <eggert@cs.ucla.edu>
122822         * m4/glob.m4: New file.
122824 2005-05-29  Derek Price  <derek@ximbiot.com>
122825             Paul Eggert  <eggert@cs.ucla.edu>
122827         * lib/glob_.h, lib/glob.c: New files.
122829 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122831         * modules/fts (Files): Remove m4/inttypes-pri.m4.
122832         * modules/fts-lgpl (Depends-on): Remove gettext.
122834 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122836         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
122837         and don't require gt_INTTYPES_PRI.
122839 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122841         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
122843         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
122844         the configuration hassle isn't worth it.
122845         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
122846         (LONGEST_MODIFIER, PRIuMAX): Remove.
122848 2005-05-27  Bruno Haible  <bruno@clisp.org>
122850         * lib/getlogin_r.h: Remove second include of <stddef.h>.
122852 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
122854         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
122855         _POSIX_PTHREAD_SEMANTICS for Solaris.
122857 2005-05-25  Derek Price  <derek@ximbiot.com>
122859         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
122861 2005-05-25  Derek Price  <derek@ximbiot.com>
122862             Paul Eggert  <eggert@cs.ucla.edu>
122864         * modules/getlogin_r, m4/getlogin_r.m4: New files.
122865         * lib/getlogin_r.c, getlogin_r.h: New files.
122867 2005-05-25  Bruno Haible  <bruno@clisp.org>
122868             Derek Price  <derek@ximbiot.com>
122870         * lib/getlogin_r.h: Simplify API documentation.
122872 2005-05-23  Derek Price  <derek@ximbiot.com>
122874         * modules/minmax (Files): Add m4/minmax.m4.
122875         (configure.ac): Add gl_MINMAX.
122877 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
122879         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
122880         so that unistd-safer.h (GPL'ed code) need not be included.
122882 2005-05-22  Bruno Haible  <bruno@clisp.org>
122884         * m4/minmax.m4: New file.
122885         Based on a patch by Derek Price <derek@ximbiot.com>.
122887 2005-05-22  Bruno Haible  <bruno@clisp.org>
122889         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
122890         (INT64_MIN): Fix definition.
122891         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
122893         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
122894         NEED_SIGNED_INT_TYPES.
122896         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
122897         HAVE_SYSTEM_INTTYPES.
122899 2005-05-22  Bruno Haible  <bruno@clisp.org>
122901         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
122902         Also include <sys/param.h> if it defines MIN, MAX.
122903         Based on a patch by Derek Price <derek@ximbiot.com>.
122905 2005-05-21  Jim Meyering  <jim@meyering.net>
122907         * modules/fts (Files): Add m4/inttypes-pri.m4.
122908         (Depends-on): Add lstat and remove gettext.  Alphabetize.
122910 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122912         New fts module.
122913         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
122914         (setup_dir, free_dir): New functions.
122915         (enter_dir, leave_dir): Define trivial
122916         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
122917         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
122918         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
122919         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
122920         Move to fts-cycle.c.
122921         (fts_open): Use setup_dir.
122922         (fts_close): Use free_dir.
122923         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
122924         This adds a label and some gotos, but the alternatives were messier.
122925         Check for memory allocation failure when entering a dir.
122926         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
122927         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
122928         (FTS): New member fts_cycle, that is a union that contains the
122929         old active_dir_ht and cycle_state.  All uses changed to mention
122930         fts_cycle.ht and fts_cycle.state.
122931         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
122932         fts.c, with the following changes:
122933         (setup_dir, free_dir): New functions.
122934         (enter_dir): Now returns bool.  Return true if successful, false
122935         if memory exhausted.  All callers changed.
122936         Do not bother partly cleaning up on
122937         memory allocation failure; that is free_dir's job.
122938         However, free ad if hash_insert fails, to avoid memory leak.
122939         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
122940         fts->fts_options to see which union member to use.
122942 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122944         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
122945         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
122947 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122949         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
122951 2005-05-20  Jim Meyering  <jim@meyering.net>
122953         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
122954         Now a macro, to pacify GCC.
122956 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122958         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
122959         of -1.
122961 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122963         * lib/chown.c (rpl_chown): Return -1 on failure.
122965 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122967         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
122968         Don't check for stddef.h.
122969         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
122970         don't use its results.
122971         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
122972         since we include them unconditionally.  Don't require
122973         AM_STDBOOL_H, since stdbool is a prerequisite.
122974         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
122975         since we assume C89 or better.
122976         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
122977         as we don't use their results.
122978         Don't check for fchdir, memmove, memset, strrchr, as we use
122979         them unconditionally.
122980         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
122981         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
122983 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122985         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
122986         Include <stddef.h> unconditionally, since we assume C89 now.
122987         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
122988         * lib/fts.c: Include fts_.h first, to check interface.
122989         Do not include intprops.h; no longer needed.
122990         Include cycle-check.h and hash.h, since fts_.h no longer does.
122991         Remove unnecessary casts of closedir to void.
122992         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
122993         decide whether to decrement nlinks.
122994         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
122995         (FTS): Use struct hash_table * instead of Hash_table, so that
122996         we no longer need to include hash.h here.
122998 2005-05-18  Jim Meyering  <jim@meyering.net>
123000         * modules/dirfd (License): Change to LGPL.  Most of the code
123001         is already in the public domain.
123003 2005-05-18  Jim Meyering  <jim@meyering.net>
123005         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
123006         Reported by Yoann Vandoorselaere.
123008 2005-05-17  Jim Meyering  <jim@meyering.net>
123010         * m4/fts.m4: New file, from coreutils.
123012 2005-05-17  Jim Meyering  <jim@meyering.net>
123014         * lib/fts.c, lib/fts_.h: New files, from coreutils.
123016 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
123018         Sync from coreutils.
123019         * m4/unlinkdir.m4: New file.
123021 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
123023         Sync from coreutils.
123024         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
123025         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
123026         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
123027         White space changes only.
123028         * lib/makepath.c (make_path): Port to hosts where leading "//" is
123029         special.
123030         * lib/yesno.c: Include getline.h, not ctype.h.
123031         (yesno): Don't remove leading white space; POSIX doesn't allow it.
123032         Use getline to remove arbitrary restriction on response length.
123034 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
123036         * config/srclist-update: Spell out "Street" in FSF postal
123037         mail address; this is the style the FSF seems to prefer.
123039         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
123040         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
123041         this updates FSF postal mail address.
123043         Sync from coreutils.
123044         * modules/unlinkdir: New file.
123045         * modules/yesno (Depends-on): Add getline.
123046         * MODULES.html.sh (File system functions): Add unlinkdir.
123048 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
123050         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
123051         lib/strsep.h:
123052         Change the initial comment to refer to GPL, not LGPL.
123053         gnulib-tool will change it to LGPL as needed.
123055         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
123056         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
123057         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
123058         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
123059         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
123060         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
123061         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
123062         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
123063         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
123064         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
123065         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
123066         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
123067         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
123068         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
123069         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
123070         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
123071         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
123072         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
123073         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
123074         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
123075         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
123076         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
123077         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
123078         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
123079         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
123080         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
123081         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
123082         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
123083         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
123084         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
123085         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
123086         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
123087         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
123088         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
123089         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
123090         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
123091         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
123092         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
123093         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
123094         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
123095         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
123096         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
123097         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
123098         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
123099         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
123100         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
123101         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
123102         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
123103         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
123104         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
123105         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
123106         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
123107         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
123108         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
123109         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
123110         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
123111         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
123112         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
123113         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
123114         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
123115         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
123116         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
123117         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
123118         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
123119         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
123120         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
123121         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
123122         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
123123         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
123124         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
123125         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
123126         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
123127         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
123128         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
123129         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
123130         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
123131         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
123132         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
123133         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
123134         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
123135         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
123136         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
123137         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
123138         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
123139         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
123140         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
123141         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
123142         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
123143         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
123144         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
123145         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
123146         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
123147         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
123148         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
123149         lib/yesno.c, lib/yesno.h:
123150         Update FSF postal mail address.
123152 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
123154         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
123155         tests/test-memmem.c, tests/test-stpncpy.c:
123156         Update FSF postal mail address.
123158 2005-05-13  Bruno Haible  <bruno@clisp.org>
123160         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
123161         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
123162         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
123163         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
123164         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
123165         Add support for 64-bit integers in the MSVC compiler.
123167 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123169         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
123171 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
123173         * gnulib-tool (func_import): Sort and uniquify recommended includes.
123175 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
123177         * doc/getdate.texi (General date syntax): Don't say that date
123178         date --iso-8601=ns generates acceptable dates; it doesn't yet.
123179         Problem reported by Nic Ferrier.
123181 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123183         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
123184         specified in ai_socktype. Fix invalid ai_protocol
123185         check. ai_protocol is usually set to 0 or depending on
123186         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
123187         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
123188         ai_socktype / ai_protocol in the returned addrinfo structure.
123190 2005-05-10  Simon Josefsson  <jas@extundo.com>
123192         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
123193         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
123195 2005-05-10  Karl Berry  <karl@gnu.org>
123197         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
123198         (from http://www.gnu.org/licenses).
123199         * doc/COPYING.LIB: also rename to COPYING.LESSER.
123200         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
123201         fdl.texi suffices.
123203 2005-05-10  Karl Berry  <karl@gnu.org>
123205         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
123206         (COPYING.DOC): remove.
123208         * config/srclist-update: new FSF address.
123210 2005-05-10  Derek Price  <derek@ximbiot.com>
123212         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
123213         possible.
123215 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123216             Bruno Haible  <bruno@clisp.org>
123218         * modules/inet_ntop: New file.
123219         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123220         inet_ntop.
123222 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123223             Bruno Haible  <bruno@clisp.org>
123225         * m4/inet_ntop.m4: New file.
123227 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123228             Bruno Haible  <bruno@clisp.org>
123230         * lib/inet_ntop.h: New file.
123231         * lib/inet_ntop.c: New file, from glibc with modifications.
123233 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
123235         * modules/time_r (License): Change to LGPL.
123236         * modules/extensions (License): Change to LGPL.  Actually,
123237         the license is more permissive than that, but currently gnulib-tool
123238         doesn't know how to handle more-permissive licenses.
123240         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
123241         Problem reported by Dave Love.
123243 2005-05-08  Jim Meyering  <jim@meyering.net>
123245         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
123246         blank.
123248 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
123250         * modules/argmatch (Depends-on): Add stdbool.
123251         * modules/backupfile (Depends-on): Likewise.
123252         * modules/chdir-long (Depends-on): Likewise.
123253         * modules/closeout (Depends-on): Likewise.
123254         * modules/cycle-check (Depends-on): Likewise.
123255         * modules/dirname (Depends-on): Likewise.
123256         * modules/fnmatch (Depends-on): Likewise.
123257         * modules/fsusage (Depends-on): Likewise.
123258         * modules/fwriteerror (Depends-on): Likewise.
123259         * modules/getcwd (Depends-on): Likewise.
123260         * modules/getloadavg (Depends-on): Likewise.
123261         * modules/hard-locale (Depends-on): Likewise.
123262         * modules/makepath (Depends-on): Likewise.
123263         * modules/mountlist (Depends-on): Likewise.
123264         * modules/nanosleep (Depends-on): Likewise.
123265         * modules/posixtm (Depends-on): Likewise.
123266         * modules/quotearg (Depends-on): Likewise.
123267         * modules/readtokens (Depends-on): Likewise.
123268         * modules/readtokens0 (Depends-on): Likewise.
123269         * modules/readutmp (Depends-on): Likewise.
123270         * modules/save-cwd (Depends-on): Likewise.
123271         * modules/strftime (Depends-on): Likewise.
123272         * modules/userspec (Depends-on): Likewise.
123273         * modules/utimecmp (Depends-on): Likewise.
123274         * modules/xgetcwd (Depends-on): Likewise.
123275         * modules/xnanosleep (Depends-on): Likewise.
123276         * modules/xstrtod (Depends-on): Likewise.
123277         * modules/yesno (Depends-on): Likewise.
123279 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
123281         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
123282         needless checks.
123284 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123286         Merge from coreutils.  Among other things,
123287         add bulletproofing for cases where stdin, stdout, or stderr are closed.
123288         * lib/fd-safer.c: New file.
123289         * lib/fcntl-safer.h, open-safer.c: Remove.
123290         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
123291         * lib/dup-safer.c: Include unistd-safer.h first.
123292         Don't include errno.h.
123293         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
123294         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
123295         * lib/file-type.c: Rely on file-type.h change.
123296         * lib/getloadavg.c: Include unistd-safer.h.
123297         (getloadavg): Use safer open.
123298         * lib/getusershell.c: Include "stdio-safer.h".
123299         (getusershell): Use safer fopen.
123300         * lib/long-options.c (long_options): Use NULL rather than 0.
123301         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
123302         'free'.
123303         * lib/modechange.c: Likewise.
123304         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
123305         (MODE_DONE): New constant.
123306         (struct mode_change): Remove 'next' member.
123307         (make_node_op_equals): New function; like the old one of the
123308         same name, except it allocates an array.
123309         (mode_compile, mode_create_from_ref): Use it.
123310         (mode_compile): Allocate result as an array, not a linked list.
123311         Parse octal string ourself, so that we catch mistakes like "+0".
123312         (mode_adjust): Arg is an array, not a linked list.
123313         * lib/modechange.c: Include stat-macros.h, xalloc.h.
123314         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
123315         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
123316         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
123317         Remove.  This is now stat-macros.h's job.
123318         (talloc): Remove.  All callers replaced by xalloc, so that
123319         our invokers don't have to worry about reporting memory failures.
123320         (make_node_op_equals): Remove.
123321         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
123322         New constants.
123323         (struct mode_change): Moved here from modechange.h.
123324         (mode_append_entry): Remove.
123325         (mode_compile): Remove MASKED_OPS arg, since it encouraged
123326         apps to have incorrect behavior.  Use simpler algorithm for head
123327         and tail.  Don't futz with umask; that's now the job of mode_adjust.
123328         Detect more invalid usages rather than having somewhat-random behavior.
123329         Don't insert an "a=" action, as that leads to incorrect behavior.
123330         (mode_compile, mode_create_from_ref): Return NULL on error instead
123331         of an enum, since now there's only one way to have an error.  All
123332         callers changed.
123333         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
123334         at the correct time.  Simplify calculation of "+u" and its ilk.
123335         Don't mishandle "+X".
123336         (mode_free): Remove "register" and localize decls.
123337         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
123338         (struct mode_change): Move to modechange.c; callers don't
123339         need to see this stuff.
123340         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
123341         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
123342         (mode_change, mode_adjust): Reflect the new signatures noted above.
123343         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
123344         that might redefine system include files.
123345         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
123346         (my_usleep): Use NULL rather than (void *) 0.
123347         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
123348         Use siginterrupt to specify that system calls should be interrupted.
123349         (rpl_nanosleep): Move initialization of suspended closer to call of
123350         my_usleep.
123351         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
123352         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
123353         (desirable_utmp_entry): New function.
123354         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
123355         using x2nrealloc, to simplify logic.
123356         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
123357         size calculation.  Do not assume utmp file is a regular file.
123358         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
123359         (READ_UTMP_CHECK_PIDS): New constant.
123360         * lib/save-cwd.c: Include unistd-safer.h.
123361         (save_cwd): Use fd_safer.
123362         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
123363         [!_LIBC] Include "stat-macros.h" instead.
123364         * lib/unistd-safer.h (fd_safer): New decl.
123366 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123368         * modules/getloadavg (Depends-on): Add unistd-safer.
123369         * modules/getusershell (Depends-on): Add stdio-safer.
123370         * modules/lstat (Depends-on): Remove xalloc.
123371         * modules/mkstemp (Depends-on): Add stat-macros.
123372         * modules/modechange (Depends-on): Remove xstrtol.
123373         Add stat-macros, xalloc.
123374         * modules/save-cwd (Depends-on): Add unistd-safer.
123375         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
123376         * modules/unistd-safer (Files): Add lib/fd-safer.c
123377         (Makefile.am): Remove lib_SOURCES.
123379         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
123380         Remove fcntl-safer; unistd-safer supersedes it.
123382 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123384         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
123385         AC_HEADER_STAT.
123386         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
123387         (gl_PREREQ_CHOWN): Remove.
123388         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
123389         it.  Don't require AC_HEADER_STAT.
123390         (gl_PREREQ_LSTAT): Remove.
123391         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
123392         Don't require AC_HEADER_STAT.
123393         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
123394         (gl_PREREQ_RMDIR): Remove.
123395         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
123396         mention stat-macros.h or AC_HEADER_STAT, since we'll make
123397         the stat-macros module a prerequisite.
123398         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
123399         * m4/filemode.m4 (gl_FILEMODE): Likewise.
123400         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
123401         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
123402         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
123403         variable names.
123404         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
123405         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
123406         variable prefixes.
123407         * m4/fcntl-safer.m4: Remove.
123408         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
123409         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
123410         Invoke gl_PREREQ_FD_SAFER.
123411         (gl_PREREQ_FD_SAFER): New macro.
123412         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
123413         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
123414         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
123415         Remove duplicate call to AC_LIBOBJ(readutmp).
123416         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
123418         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
123419         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
123421 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123423         * MODULES.html.sh (Misc): Add byteswap.
123425 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123427         * modules/getcwd (Depends-on): Add extensions.
123428         * modules/openat (Depends-on): Likewise.
123430 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123432         * modules/byteswap: New file.
123434 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123436         * m4/byteswap.m4: New file.
123438 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123440         * lib/byteswap_.h: New file.
123442 2005-04-25  Karl Berry  <karl@gnu.org>
123444         * m4/gettext.m4: Update from GNU gettext 0.14.4.
123446 2005-04-25  Albert Chin  <china@thewrittenword.com>
123448         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
123449         Toolkit C bug.
123451 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
123453         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
123454         (func_ln_if_changed): Remove forcibly for no error message
123455         in case file does not exist.
123457 2005-04-19  Simon Josefsson  <jas@extundo.com>
123459         * gnulib-tool (Options): Make --symlink mean --symbolic.
123461 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
123463         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
123465 2005-04-16  Simon Josefsson  <jas@extundo.com>
123467         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
123469 2005-04-15  Simon Josefsson  <jas@extundo.com>
123471         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
123473 2005-04-15  Simon Josefsson  <jas@extundo.com>
123475         * gnulib-tool: Rename --symlink to --symbolic.
123477 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
123479         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
123480         symbolic links to files instead of copying/moving.  Add --aux-dir,
123481         specifying directory relative --dir where auxiliary build tools
123482         are placed.
123484 2005-04-14  Bruno Haible  <bruno@clisp.org>
123486         * modules/allocsa (License): Change to LGPL.
123487         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
123489 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
123491         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
123492         that "UTC +1 second" continues to work.  Problem reported
123493         by Dmitry V. Levin.
123494         (relunit_snumber): New rule.
123495         (relunit): Use it.
123497 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
123499         * lib/getdate.y (universal_time_zone_table): New constant.
123500         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
123501         universal_time_zone_table.
123502         (lookup_zone): Prefer universal_time_zone_table to
123503         local_time_zone_table, so that "GMT" time stamps are allowed in
123504         London during the summer.  Problem reported by Ian Abbott.
123506 2005-04-12  Jim Meyering  <jim@meyering.net>
123508         * lib/human.c (humblock): Set *options even when returning due to
123509         xstrtoumax conversion failure.  Thanks to a used-uninitialized
123510         warning from gcc-4.
123512 2005-04-09  Jim Meyering  <jim@meyering.net>
123514         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
123515         -Wuninitialized: initialize tm0.tm_year.
123517 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
123519         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
123520         count, since there's no maximum.  All uses changed.
123521         Add member dsts_seen.
123522         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
123523         not being INT_MAX.
123524         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
123525         Use pc_rels_seen to decide whether a date is absolute.
123527         * lib/getdate.y (number): Don't overwrite year.
123528         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
123529         check.
123531 2005-04-02  Simon Josefsson  <jas@extundo.com>
123533         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
123534         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
123536 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
123538         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
123539         where no absolute path name can be longer than PATH_MAX.
123541 2005-03-27  Jim Meyering  <jim@meyering.net>
123543         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
123545 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
123547         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
123548         "one's complement" -> "ones' complement" in comment, as per Knuth.
123549         "value of type" -> "type or expression" in comment.
123550         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
123552 2005-03-26  Jim Meyering  <jim@meyering.net>
123554         Comment nits.
123555         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
123556         Correct typos: s/or/of/.
123558 2005-03-26  Jim Meyering  <jim@meyering.net>
123560         * modules/check-include-files: Move to ../ and rename to...
123561         * check-module: ...this.
123563 2005-03-25  Jim Meyering  <jim@meyering.net>
123565         * modules/xvasprintf (Files): Add xalloc.h.
123567 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
123569         * modules/gettext (Files): config/config.rpath ->
123570         build-aux/config.rpath
123571         * modules/iconv (Files): Likewise.
123572         Problem reported by Oskar Liljeblad.
123574 2005-03-23  Jim Meyering  <jim@meyering.net>
123576         * modules/check-include-files: New script to check for
123577         missing dependencies, multiple includes, etc.
123579         * modules/c-strtold (Depends-on): Add xalloc.
123580         * modules/c-strtod (Depends-on): Add xalloc.
123581         * modules/hash (Depends-on): Add xalloc.
123582         (Files): Remove lib/xalloc.h.
123584         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
123585         * modules/userspec (Files): Add lib/inttostr.h.
123587 2005-03-23  Jim Meyering  <jim@meyering.net>
123589         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
123591 2005-03-22  Jim Meyering  <jim@meyering.net>
123593         * modules/stat-macros: New module.
123594         * modules/canonicalize, modules/euidaccess, modules/file-type,
123595         * modules/filemode, modules/lchown, modules/makepath,
123596         * modules/rmdir, modules/stat: Depend on new stat-macros module
123597         rather than listing lib/stat-macros.h manually.
123598         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
123600 2005-03-22  Jim Meyering  <jim@meyering.net>
123602         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
123604 2005-03-22  Bruno Haible  <bruno@clisp.org>
123606         * config/srclist.txt: Replace target directory 'config' with
123607         'build-aux'.
123608         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
123609         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
123610         ../build-aux/.
123612 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
123614         * modules/chdir-long (Depends-on): Add mempcpy.
123616         * modules/acl, modules/backupfile, modules/c-strtod,
123617         modules/c-strtold, modules/canon-host, modules/canonicalize,
123618         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
123619         modules/exclude, modules/exitfail, modules/file-type,
123620         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
123621         modules/getdate, modules/getline, modules/getpagesize,
123622         modules/getpass, modules/getugroups, modules/group-member,
123623         modules/hard-locale, modules/hash, modules/human, modules/idcache,
123624         modules/inttostr, modules/long-options, modules/makepath,
123625         modules/md5, modules/memcasecmp, modules/memcoll,
123626         modules/modechange, modules/mountlist, modules/path-concat,
123627         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
123628         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
123629         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
123630         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
123631         modules/strftime, modules/strndup, modules/strverscmp,
123632         modules/timespec, modules/unlocked-io, modules/userspec,
123633         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
123634         modules/yesno:
123635         Remove lib_SOURCES line from Makefile.am section, as this is now
123636         done automatically by the corresponding Autoconf macro.
123638 2005-03-21  Jim Meyering  <jim@meyering.net>
123640         Changes imported from coreutils.
123642         * lib/cycle-check.c: Don't include xalloc.h.
123644         * lib/path-concat.c: Don't include assert.h.
123645         (path_concat): Remove assertion that would have triggered
123646         for ABASE starting with more than one slash.
123647         Reported by Andreas Schwab.
123649         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
123650         properly when ABASE is an absolute file name.
123651         Correct the description of this function.
123652         Include <assert.h>.
123653         Add an assertion and a test driver.
123654         This fixes a bug introduced on 2004-07-02.
123655         Andreas Schwab reported the resulting failure of cp --parents:
123656         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
123658 2005-03-21  Jim Meyering  <jim@meyering.net>
123660         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
123661         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
123663 2005-03-21  Jim Meyering  <jim@meyering.net>
123664         and  Paul Eggert  <eggert@cs.ucla.edu>
123666         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
123667         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
123668         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
123669         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
123670         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
123671         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
123672         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
123673         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
123674         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
123675         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
123676         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
123677         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
123678         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
123679         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
123680         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
123681         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
123682         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
123683         for these modules.
123685 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
123687         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
123688         (which shouldn't happen), generate nothing instead of returning 0
123689         immediately, so that nstrftime (NULL, ...) doesn't return 0.
123691 2005-03-16  Bruno Haible  <bruno@clisp.org>
123693         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
123694         HAVE_LONGLONG_64BIT.
123696 2005-03-16  Bruno Haible  <bruno@clisp.org>
123698         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
123699         HAVE_LONGLONG_64BIT.
123701 2005-03-16  Bruno Haible  <bruno@clisp.org>
123703         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
123704         HAVE_LONGLONG_64BIT.
123706 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123708         * lib/strftime.c (my_strftime): Prepend space to format so that we can
123709         reliably distinguish strftime failure from empty output on POSIX
123710         hosts.
123712 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123714         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
123715         (iconv_string): Don't guess a size-zero buffer, as that might cause
123716         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
123717         result would be 'too large', where 'too large' is (heuristically)
123718         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
123719         overflow concerns.  This will prevent some unwanted malloc failures
123720         when the inputs are very large.
123722 2005-03-15  Karl Berry  <karl@gnu.org>
123724         * config/srclist.txt (config.rpath): from gettext.
123725         * config/config.rpath: update.
123727 2005-03-15  Bruno Haible  <bruno@clisp.org>
123729         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
123730         to 'negate'.
123732         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
123733         variable.
123735         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
123736         results.
123738 2005-03-14  Simon Josefsson  <jas@extundo.com>
123740         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
123741         <fx@gnu.org>.
123743 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
123745         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
123746         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
123747         intprops.h.
123748         * lib/strtol.c: Likewise.
123750 2005-03-14  Jim Meyering  <jim@meyering.net>
123752         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
123753         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
123754         to be nonzero so that we (and caller) can detect the difference
123755         between a valid zero-length expansion and an error return, even
123756         when the underlying strftime fails before writing anything into
123757         that location.
123759 2005-03-14  Bruno Haible  <bruno@clisp.org>
123761         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
123762         Update from GNU gettext 0.14.3.
123764 2005-03-10  Jim Meyering  <jim@meyering.net>
123766         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
123768 2005-03-10  Jim Meyering  <jim@meyering.net>
123770         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
123771         so that this module works on systems without fchdir.
123773 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
123775         Factor int-properties macros into a single file, except for
123776         glibc-related files.
123777         * lib/intprops.h: New file.
123778         * lib/getloadavg.c: Include it instead of limits.h.
123779         (INT_STRLEN_BOUND): Remove.
123780         * lib/human.c: Include intprops.h.
123781         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
123782         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
123783         302/1000.
123784         * lib/inttostr.h: Include intprops.h instead of limits.h.
123785         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
123786         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
123787         for consistency with intprops.h.
123788         (time_t_is_integer, twos_complement_arithmetic): Use them.
123789         * lib/sig2str.h: Include <signal.h>, intprops.h.
123790         (INT_STRLEN_BOUND): Remove.
123791         * lib/strftime.c (TYPE_SIGNED): Remove.
123792         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
123793         * lib/strtol.c: Adjust comments to match intprops.h.
123794         * lib/userspec.c: Include intprops.h.
123795         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
123796         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
123797         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
123798         instead of rolling our own expressions.
123799         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
123801         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
123802         instead of int.
123803         (my_strftime): Do not mishandle years close to INT_MAX, by doing
123804         the right thing even if adding 1900 would overflow.  Similarly
123805         for tm_mon + 1 and tm_yday + 1.
123806         Make %Y always equivalent to %C%y, and similarly for %G and %g.
123807         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
123808         (DO_SIGNED_NUMBER): New macro.
123809         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
123811 2005-03-07  Bruno Haible  <bruno@clisp.org>
123813         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
123815 2005-03-07  Bruno Haible  <bruno@clisp.org>
123817         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
123819 2005-03-04  Derek R. Price  <derek@ximbiot.com>
123821         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
123822         (func_import): Only replace files via --import when they have actually
123823         changed.
123825 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123827         * m4/mmap-anon.m4: New file.
123828         * m4/pagealign_alloc.m4: New file.
123830 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123831             Bruno Haible  <bruno@clisp.org>
123833         * modules/pagealign_alloc: New file.
123834         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
123836 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123837             Bruno Haible  <bruno@clisp.org>
123839         * lib/pagealign_alloc.h: New file.
123840         * lib/pagealign_alloc.c: New file.
123842 2005-03-03  Bruno Haible  <bruno@clisp.org>
123844         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
123845         Use an all-permissive copyright notice, recommended by RMS.
123847 2005-03-02  Bruno Haible  <bruno@clisp.org>
123849         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
123850         of AIX, the replacement has to be done only after <string.h> is
123851         included, therefore not in config.h. stpncpy.h does the replacement,
123852         and stpncpy.c uses it.
123854 2005-03-02  Bruno Haible  <bruno@clisp.org>
123856         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
123857         stpncpy.c uses it.
123859 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123861         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
123862         The workaround isn't strictly needed for POSIX conformance, and
123863         it's too much of a pain to configure and maintain.  We'll ask
123864         people to fix their kernels instead.
123865         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
123866         (NANOSLEEP_BUG_WORKAROUND): Remove.
123867         (xnanosleep): Remove the workaround.
123869 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123871         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
123872         Reported by Derek Price.
123873         (Include): Add "timespec.h".
123875         * modules/xnanosleep (Depends-on): Remove gethrxtime.
123877 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123879         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
123880         to detect nanosleep bug.
123882 2005-03-01  Bruno Haible  <bruno@clisp.org>
123884         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
123886 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
123888         * modules/gethrxtime: New file.
123889         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
123890         (Depends-on): Add gethrxtime.
123891         (configure.ac): Add gl_XNANOSLEEP.
123892         (Makefile.am): Remove lib_SOURCES line.
123894 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123896         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
123897         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
123899 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123901         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
123902         * lib/timespec.h (gettime): Return void, since it always
123903         succeeds now.  All uses changed.
123904         * lib/gettime.c (gettime): Likewise.
123905         [HAVE_NANOTIME]: Prefer nanotime.
123906         Assume gettimeofday succeeds, as POSIX requires.
123907         Assime time () succeeds, since other code already does.
123908         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
123909         (timespec_subtract): Remove.
123910         (NANOSLEEP_BUG_WORKAROUND): New constant.
123911         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
123912         things considerably.  Use it only on GNU/Linux hosts, since the
123913         workaround shouldn't be needed elsewhere.
123915 2005-02-24  Bruno Haible  <bruno@clisp.org>
123917         * modules/gettext (Files): Add m4/glibc2.m4.
123919 2005-02-24  Bruno Haible  <bruno@clisp.org>
123921         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
123922         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
123923         * m4/progtest.m4:
123924         Update from GNU gettext 0.14.2.
123925         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
123927 2005-02-24  Bruno Haible  <bruno@clisp.org>
123929         * lib/localcharset.c: Update from GNU gettext 0.14.2.
123930         * lib/config.charset: Update from GNU gettext 0.14.2.
123932 2005-02-24  Bruno Haible  <bruno@clisp.org>
123934         * lib/gettext.h: Update from GNU gettext 0.14.2.
123936 2005-02-23  Simon Josefsson  <jas@extundo.com>
123938         * m4/iconvme.m4: New file.
123940 2005-02-23  Jim Meyering  <jim@meyering.net>
123942         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
123943         change.
123944         Thanks to Bruno Haible for catching it.
123946 2005-02-22  Simon Josefsson  <jas@extundo.com>
123948         * modules/iconvme: New file.
123950         * MODULES.html.sh: Add iconvme.
123952 2005-02-22  Simon Josefsson  <jas@extundo.com>
123954         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
123956 2005-02-22  Simon Josefsson  <jas@extundo.com>
123958         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
123960 2005-02-22  Jim Meyering  <jim@meyering.net>
123962         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
123963         s/ifndef/ifdef/.
123965 2005-02-20  Neil Conway  <neilc@samurai.com>
123967         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
123968         returned by OSX/Darwin if the specified buffer is not large
123969         enough for the hostname.
123971 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123973         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
123974         pass it to _help, otherwise the latter coredumps trying to
123975         dereference state.root_argp.
123977 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123979         * modules/chdir-long (Depends-on): Add memrchr.
123980         * modules/memrchr (Files): Add lib/memrchr.h.
123981         (Include): "memrchr.h".
123983 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123985         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
123987 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123989         * lib/memrchr.h: New file.
123990         * lib/chdir-long.c: Include it.
123991         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
123992         Don't bother including stddef.h.
123994 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
123996         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
123997         inclusion.
123998         Include <sys/types.h>, for dev_t.
123999         (ME_DUMMY, ME_REMOTE): Move from here....
124000         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
124001         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
124002         Dmitry V. Levin.
124003         Include mountlist.h first, to test the interface.
124005 2005-01-29  Bruno Haible  <bruno@clisp.org>
124007         * lib/progname.c (program_name): Initialize.
124008         Needed when linking statically on MacOS X.
124010 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
124012         Sync from coreutils.
124013         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
124014         (Depends-on): Add c-strtod.
124015         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
124017 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
124019         Sync from coreutils.
124020         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
124022         Remove files that are specific to coreutils.
124023         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
124025 2005-01-28  Bruno Haible  <bruno@clisp.org>
124027         * modules/javacomp: New file.
124028         * MODULES.html.sh (Java): Add javacomp.
124030 2005-01-28  Bruno Haible  <bruno@clisp.org>
124032         * m4/javacomp.m4: New file, from GNU gettext.
124034 2005-01-28  Bruno Haible  <bruno@clisp.org>
124036         * lib/javacomp.sh.in: New file, from GNU gettext.
124037         * lib/javacomp.h: New file, from GNU gettext.
124038         * lib/javacomp.c: New file, from GNU gettext.
124040 2005-01-26  Simon Josefsson  <jas@extundo.com>
124042         * lib/gai_strerror.c: Use GPL in header.
124044 2005-01-26  Bruno Haible  <bruno@clisp.org>
124046         * modules/javaexec: New file.
124047         * MODULES.html.sh (Java): Add javaexec.
124049 2005-01-26  Bruno Haible  <bruno@clisp.org>
124051         * m4/javaexec.m4: New file, from GNU gettext.
124053 2005-01-26  Bruno Haible  <bruno@clisp.org>
124055         * lib/javaexec.sh.in: New file, from GNU gettext.
124056         * lib/javaexec.h: New file, from GNU gettext.
124057         * lib/javaexec.c: New file, from GNU gettext.
124059 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124061         * modules/lchown (Depends-on): Remove lchown.h
124063 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124065         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
124066         must be defined if the header file was not found, in order
124067         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
124069 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124071         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
124072         initializers for struct pentry_state.
124073         (__argp_error): Check return value of __asprintf
124074         (__argp_failure): Translate error message
124076         * lib/argp-parse.c: Removed braces around the expansion of N_()
124078 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
124080         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
124081         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
124082         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
124083         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
124084         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
124085         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
124086         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
124087         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
124088         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
124089         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
124090         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
124091         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
124092         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
124093         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
124094         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
124095         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
124096         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
124097         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
124098         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
124099         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
124100         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
124101         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
124102         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
124103         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
124104         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
124105         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
124106         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
124107         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
124108         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
124109         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
124110         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
124111         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
124112         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
124113         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
124114         xstrtol.m4, xstrtoumax.m4, yesno.m4:
124115         Use an all-permissive copyright notice, recommended by RMS.
124117 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
124119         * modules/chdir-long (Depends-on): Remove mempcpy.
124121 2005-01-21  Jim Meyering  <jim@meyering.net>
124123         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
124124         same value as for Solaris 9.
124126         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
124127         component length.  This included changing the parameter to be
124128         of type `char *' rather than `char const *'.
124129         * lib/chdir-long.h (chdir_long): Update prototype.
124131         * lib/openat.c (fdopendir, fstatat): New functions.
124132         * lib/openat.h: Include headers required for use of DIR and struct
124133         stat.
124134         [AT_SYMLINK_NOFOLLOW]: Define.
124135         (fdopendir, fstatat): Add prototypes.
124137 2005-01-21  Bruno Haible  <bruno@clisp.org>
124139         * modules/classpath: New file.
124140         * MODULES.html.sh (Java): Add classpath.
124142 2005-01-21  Bruno Haible  <bruno@clisp.org>
124144         * lib/classpath.h: New file, from GNU gettext.
124145         * lib/classpath.c: New file, from GNU gettext.
124147 2005-01-20  Simon Josefsson  <jas@extundo.com>
124149         * modules/version-etc-fsf: New file.
124151 2005-01-20  Simon Josefsson  <jas@extundo.com>
124153         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
124154         * lib/version-etc.c: Remove version_etc_copyright.
124155         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
124156         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
124158 2005-01-20  Simon Josefsson  <jas@extundo.com>
124160         * lib/base64.h (isbase64): Add.
124162         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
124163         using a unsigned prototype, don't inline.
124164         (base64_decode): Use it.
124166 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124168         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
124169         it.
124171 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124173         * lib/save-cwd.c (save_cwd): Remove code to support the case
124174         where fchdir is missing or flaky.
124176 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124178         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
124180 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
124182         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
124183         AC_LIBSOURCES now does this.
124184         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
124185         with new ullong_max module.
124187 2005-01-19  Bruno Haible  <bruno@clisp.org>
124189         * modules/sh-quote: New file.
124190         * MODULES.html.sh (Executing programs): Add sh-quote.
124192 2005-01-19  Bruno Haible  <bruno@clisp.org>
124194         * lib/sh-quote.h: New file, from GNU gettext.
124195         * lib/sh-quote.c: New file, from GNU gettext.
124197 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124199         Merge from coreutils.
124200         * m4/ullong_max.m4: New file.
124201         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
124202         (gl_MACROS): Assume localeconv exists.
124204 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124206         Merge changes from coreutils, as described below in several
124207         changelogs dated today.
124209         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
124210         (O_DIRECTORY): Remove; not needed here, since "." must be
124211         a directory.  All uses removed.
124212         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
124213         universal on Suns, and we also need to test for IRIX.
124214         Revamp code to use 'if' rather than '#if'.
124215         Avoid unnecessary comparison of cwd->desc to 0.
124217         * lib/utimens.c (futimens): Robustify the previous patch, by checking
124218         for known valid error numbers rather than observed invalid ones.
124220 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124222         * modules/ullong_max: New file.
124224         * modules/chdir-long, modules/openat: New files.
124225         * modules/save-cwd (Depends-on): Depend on chdir-long.
124226         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
124228 2005-01-18  Jim Meyering  <jim@meyering.net>
124230         Merge from coreutils.
124231         * m4/chdir-long.m4, m4/openat.m4: New files.
124232         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
124233         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
124234         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
124235         is sane and DOES follow symlinks.  Besides, testing 20 different
124236         systems found no broken chown implementations.
124237         Prompted by a change in rsync's copy of this macro.
124238         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
124240         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
124242         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
124243         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
124244         NULL-means-set-to-current-time semantics.
124245         Remove temporary file immediately, rather than waiting
124246         for configure's at-exit trap code to do it.
124248 2005-01-18  Jim Meyering  <jim@meyering.net>
124250         * lib/version-etc.c (version_etc_copyright): Update copyright date.
124252         * lib/utimens.c (futimens): Account for the fact that futimes
124253         can also fail with errno == ENOSYS or errno == ENOENT.
124254         Patch from Dmitry V. Levin.
124256         Change the name of the robust chdir function from chdir to chdir_long.
124257         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
124258         (restore_cwd): Use chdir_long, not chdir.
124259         * lib/chdir-long.c: Renamed from chdir.c.
124260         * lib/chdir-long.h: Renamed from chdir.h.
124261         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
124262         Hurd.
124264 2005-01-18  Bruno Haible  <bruno@clisp.org>
124266         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
124267         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
124268         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
124269         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
124270         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
124271         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
124272         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
124273         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
124274         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
124275         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
124276         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
124277         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
124278         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
124279         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
124280         Use an all-permissive copyright notice, recommended by RMS.
124282 2005-01-18  Bob Proulx  <bob@proulx.com>
124284         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
124285         simplify offsetof() macro construct to avoid compile failure with
124286         native HP-UX 11.0 ANSI C compiler.
124288 2005-01-17  Bruno Haible  <bruno@clisp.org>
124290         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
124291         redundant because stpncpy.m4 takes care of it.
124293 2005-01-17  Bruno Haible  <bruno@clisp.org>
124295         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
124297 2005-01-17  Bruno Haible  <bruno@clisp.org>
124299         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
124300         used.
124302 2005-01-17  Bruno Haible  <bruno@clisp.org>
124304         * lib/fwriteerror.h (fwriteerror): Change specification to include
124305         fclose.
124306         * lib/fwriteerror.c: Include <stdbool.h>.
124307         (fwriteerror): At the end, close the file stream. Record whether
124308         stdout was already closed.
124310 2005-01-17  Bruno Haible  <bruno@clisp.org>
124312         * lib/execute.c (environ): Declare if needed.
124313         * lib/pipe.c (environ): Likewise.
124314         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
124316 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124318         * modules/argp: Depend on vsnprintf
124320 2005-01-10  Jim Meyering  <jim@meyering.net>
124322         * modules/closeout (Depends-on): Add atexit.
124324 2005-01-06  Bruno Haible  <bruno@clisp.org>
124326         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
124328 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
124330         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
124331         definitions to be after all include files, to avoid collisions.
124332         Problem reported by Bob Proulx.
124334 2005-01-04  Jim Meyering  <jim@meyering.net>
124336         Changes imported from coreutils.
124337         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
124338         as the mkstemp template, use a temporary directory and an
124339         8.3-friendly template to avoid trouble on systems like DJGPP.
124340         Reported by Juan M. Guerrero via Stepan Kasal.
124341         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
124342         close. Remove the temporary directory right away, rather than waiting
124343         for configure's at-exit trap code to do it.
124344         Suggestion from Stepan Kasal.
124346 2005-01-01  Simon Josefsson  <jas@extundo.com>
124348         * gnulib-tool: Print #include directives when --import'ing.
124350 2004-12-28  Simon Josefsson  <jas@extundo.com>
124352         * tests/test-base64.c: Include required header files.  Remove
124353         unused variables.
124355 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
124357         * modules/error (Depends-on): Remove gettext.
124359 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
124361         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
124362         not needed.  This removes a dependency on the gettext module.
124363         [defined _LIBC]: Do not include <libintl.h>; not needed.
124365 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
124367         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
124368         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
124370 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
124372         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
124373         HAVE_DECL_STRTOLD.
124375 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124377         * modules/getdate (Depends-on): Remove alloca-opt.
124379 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124381         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
124383 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124385         * lib/argp-parse.c: Include <stddef.h>.
124386         (alignof, alignto): New macros.
124387         (parser_init): Don't assume that void * is aligned sufficiently
124388         for struct option.
124390         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
124391         need to extend the stack.
124392         (YYINITDEPTH): New macro, so that the initial stack isn't overly
124393         large.
124395 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124397         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
124399 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
124401         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
124402         (2004-10-24) change.  Apparently this was a false alarm.
124404         * modules/getdate: Depend on alloca-opt, not alloca.
124406 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
124408         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
124409         Remove now-obsolete comment about AIX.
124410         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
124411         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
124412         (YYMAXDEPTH): New macro.
124414 2004-12-18  Simon Josefsson  <jas@extundo.com>
124416         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
124418 2004-12-18  Bruno Haible  <bruno@clisp.org>
124420         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
124422 2004-12-18  Bruno Haible  <bruno@clisp.org>
124424         * lib/fatal-signal.c (fatal_signals): Make non-const.
124425         (init_fatal_signals): New function.
124426         (uninstall_handlers, install_handlers): Ignore signals that were set to
124427         SIG_IGN.
124428         (at_fatal_signal): Call init_fatal_signals.
124429         (init_fatal_signal_set): Likewise. Ignore signals that were set to
124430         SIG_IGN.
124431         Reported by Paul Eggert.
124433 2004-12-18  Bruno Haible  <bruno@clisp.org>
124435         * doc/alloca.texi: New file.
124436         * doc/alloca-opt.texi: New file.
124438 2004-12-17  Jim Meyering  <jim@meyering.net>
124440         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
124441         Otherwise, install-sh could exit with improper exit status when
124442         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
124444 2004-12-16  Simon Josefsson  <jas@extundo.com>
124446         * tests/test-base64.c: Add license.
124448 2004-12-15  Stepan Kasal  <address@hidden>
124450         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
124452 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
124454         * modules/getcwd (Files): Add m4/d-ino.m4.
124455         Suggested by Mark D. Baushke.
124457 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124459         * lib/getdate.y (textint): New member "negative".
124460         (time_zone_hhmm): New function.
124461         Expect 14 shift-reduce conflicts, not 13.
124462         (o_colon_minutes): New rule.
124463         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
124464         (yylex): Set the "negative" member of signed numbers.
124466 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124468         * doc/getdate.texi (Time of day items, Time zone items):
124469         Describe new formats +00:00, UTC+00:00.
124471 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
124473         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
124474         spurious "-l"s.  Problem reported by Stepan Kasal.
124476 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
124478         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
124479         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
124481 2004-12-04  Simon Josefsson  <jas@extundo.com>
124483         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
124484         Vandoorselaere <yoann@prelude-ids.org>.
124486 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124488         Changes imported from coreutils.
124489         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
124490         exist.
124491         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
124493 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124495         Changes imported from coreutils.
124496         * lib/hard-locale.c: Assume <locale.h> exists.
124497         Include "strdup.h".
124498         (GLIBC_VERSION): New macro.
124499         (hard_locale): Assume setlocale exists.
124500         Rewrite to avoid #ifdef.
124501         Use strdup rather than malloc + strcpy.
124502         * lib/human.c: Assume <locale.h> exists.
124503         (human_readable): Assume localeconv exists.
124505 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124507         * modules/hard-locale (Depends-on): Add strdup.
124509 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
124511         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
124512         convert T2, not T.  (Imported from libc.)
124514 2004-11-30  Simon Josefsson  <jas@extundo.com>
124516         * modules/restrict (License): Change to LGPL.
124518 2004-11-30  Simon Josefsson  <jas@extundo.com>
124520         * m4/restrict.m4: Add copyright and copying conditions.
124522 2004-11-30  Simon Josefsson  <jas@extundo.com>
124524         * m4/base64.m4: New file.
124526 2004-11-30  Simon Josefsson  <jas@extundo.com>
124528         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
124529         base64.
124531         * tests/test-base64.c: New file.
124533         * modules/base64: New file.
124535 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124537         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
124538         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
124540         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
124542 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124544         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
124545         (__getcwd.c): Don't restore errno; glibc doesn't.
124546         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
124547         first, falling back to our code only if its results look suspicious.
124548         Ensure that the resulting buffer is only as large as necessary.
124550         * lib/readutmp.c: Include readutmp.h first.
124551         Include <errno.h>, since readutmp.h no longer does that.
124552         * lib/readutmp.h: Don't include <errno.h>,
124553         <sys/param.h>, <time.h>; not needed to establish interface.
124554         (errno): Remove decl.
124555         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
124556         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
124557         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
124559 2004-11-28  Simon Josefsson  <jas@extundo.com>
124561         * lib/base64.h, base64.c: New file.
124563 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
124565         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
124567 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
124569         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
124570         (Depends-on): Remove pathmax, same.  Add mempcpy.
124571         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
124572         (Makefile.am): Append getcwd.h to lib_SOURCES.
124573         (Include): Add getcwd.h.
124574         (Maintainer): Change from Jim Meyering to "all, glibc",
124575         since getdate now uses intended-for-glibc code.
124576         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
124577         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
124579 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124581         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
124582         HP's ANSI C compiler.
124583         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
124584         Declaring int functions causes warnings on some modern systems and
124585         shouldn't be needed to compile on ancient ones.
124586         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
124587         defined.
124589         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
124590         with the following changes.
124591         (__set_errno): Parenthesize properly.
124592         Include <stdbool.h>.
124593         (MIN, MAX, MATCHING_INO): New macros.
124594         (__getcwd): Define with prototype, not K&R form.
124595         Use heuristics to allocate default buffer on stack if possible.
124596         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
124597         behavior, and to avoid the PATH_MAX limit when computing
124598         ../../../../...
124599         Use MATCHING_INO to compare inode number to file.
124600         Check for arithmetic overflow in size calculations.
124601         Fix bug in reallocation of dot array that caused getcwd to fail
124602         on directories nested deeper than 75.
124603         Be more careful about saving errno on error.
124604         Do not use realloc; use only free+malloc, as this is a bit
124605         more flexible and avoids a needless copy operation.
124606         Do not inspect st_dev and st_ino for symbolic links; POSIX
124607         doesn't specify the latter.
124608         Check for closedir errors.
124609         Avoid needless casts.
124610         Use "#ifdef weak_alias" around weak_alias, to be like other
124611         glibc code.
124612         The following changes to getcwd.c have effect only when used in
124613         gnulib; they have no effect inside glibc proper.
124614         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
124615         as alloca isn't used.
124616         (alloca, __alloca): Likewise.
124617         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
124618         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
124619         unconditionally, as gnulib assumes C89 or better.
124620         Do not include <sys/param.h>.
124621         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
124622         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
124623         better.
124624         (NULL) [!defined NULL]: Remove; we assume C89 or better.
124625         Include <dirent.h> in a way that is compatible with modern Autoconf.
124626         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
124627         New macros, if not already defined.
124628         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
124629         Use "_LIBC", not "defined _LIBC", for consistency.
124630         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
124631         a mempcpy module.
124632         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
124633         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
124634         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
124635         credit only to Jim Meyering and adjust the copyright dates.
124636         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
124637         <stdlib.h>, <unistd.h>, "pathmax.h".
124638         Instead, include "xgetcwd.h" (first) and "getcwd.h".
124639         (INITIAL_BUFFER_SIZE): Remove.
124640         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
124642 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124644         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
124645         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
124646         Use the _ONCE methods, for efficiency.
124647         Check for fcntl.h.  In test program, include <errno.h>
124648         and <fcntl.h> if available.  Remove old K&R cruft from
124649         test program.  Check for common errors in GNU/Linux,
124650         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
124651         don't do AC_LIBOBJ, as that's getcwd.m4's job.
124652         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
124653         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
124654         name accordingly.
124655         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
124656         accommodate new getcwd.c.
124657         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
124658         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
124659         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
124660         that's all we need now.
124662 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124664         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
124665         argp-parse.c depends on getopt internals, that means we should
124666         always use our getopt, to be on the safe side.
124667         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
124668         order not to spoil the result of an eventual previous invocation
124669         of gl_GETOPT_SUBSTITUTE.
124671 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124673         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
124674         redefinition warnings. To avoid them, include the defines
124675         in `#if !defined __need_getopt ... #endif'. The only place
124676         where __getopt_argv_const is used is in definitions
124677         of getopt_long and getopt_long_only below, which are as well
124678         protected by `#ifndef __need_getopt'.
124679         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
124680         __need_getopt after including <stdio.h> and <unistd.h> These
124681         headers might have defined it.
124683 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124685         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
124687 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124689         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
124690         (futimens): New function, which uses futimes if available.
124691         (futimens, utimens): Support timespec==NULL, with same semantics
124692         as utime and utimens.
124693         * lib/utimens.h (futimens): New decl.
124695 2004-11-23  Jim Meyering  <jim@meyering.net>
124697         * lib/getopt_.h: Remove trailing blanks.
124699 2004-11-23  Jim Meyering  <jim@meyering.net>
124701         * lib/__fpending.c: Add comment.
124703 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
124705         * modules/canonicalize (Depends-on): Add xreadlink.
124706         Problem reported by James Youngman.
124708 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
124710         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
124711         New macros.
124712         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
124713         optopt): Use them instead of invoking ## directly; otherwise, the
124714         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
124716 2004-11-19  Bruno Haible  <bruno@clisp.org>
124718         * lib/strtok_r.c: Move comments from here...
124719         * lib/strtok_r.h: ... to here.
124721 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124723         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
124724         implementations that mishandle size_t overflow.
124726 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124728         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
124729         might fail.  Problem reported by Yoann Vandoorselaere.
124730         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
124731         implementations that mishandle size_t overflow.
124733 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124735         * modules/canon-host (Depends-on): Add strdup.
124737 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124739         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
124741 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124743         * lib/canon-host.c: Include "strdup.h".
124744         (canon_host): Use getaddrinfo if available, so that IPv6 works.
124745         Use strdup instead of malloc/strcpy to duplicate strings.
124747         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
124748         (human_space_before_unit): New constant.
124749         * lib/human.c (human_readable): Support it.
124751         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
124752         (xgetcwd): Set errno correctly when failing.
124753         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
124754         the failure is actually due to a PATH_MAX problem.
124756         Further getopt changes to make it more likely that glibc will
124757         buy the changes back.
124758         * lib/getopt.c (POSIXLY_CORRECT): New constant.
124759         (getopt): Use it, so to preserve glibc semantic
124760         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
124761         when compiling for libc.
124762         * lib/getopt_.h (__getopt_argv_const): Bring it back.
124763         (getopt_long, getopt_long_only): Use it.
124765         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124766         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
124767         (getopt): Argv is now char * const *, as per standard.
124768         (_getopt_internal_r, _getopt_internal): Argv is now char **,
124769         not char *__getopt_argv_const *.
124770         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124771         _getopt_long_only_r): Likewise.
124772         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
124773         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124774         _getopt_long_r, _getopt_long_only_r): Likewise.
124775         * lib/getopt_.h (__getopt_argv_const): Remove.
124776         (getopt): Argv is now char * const *, as per standard.
124778         * lib/getdate.y (tORDINAL): New token.
124779         (day, relunit): Allow it for relative times.
124780         (relative_time_table): Use tORDINAL for ordinals.
124782 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124784         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
124785         Document that "second" isn't allowed as an ordinal number.
124787 2004-11-16  Jim Meyering  <jim@meyering.net>
124789         * modules/closeout (Depends-on): Add fpending.
124791 2004-11-15  Jim Meyering  <jim@meyering.net>
124793         * lib/closeout.c: Include "__fpending.h" once again.
124794         Include <stdbool.h>.
124795         (close_stdout): Don't fail just because stdout was closed initially,
124796         since some programs don't write to stdout in the normal course of
124797         operation (other than --version and --help), and we don't want this
124798         function to make e.g. `touch file >&-' fail.
124799         But do fail if it was closed and someone has tried to write to it.
124800         E.g., `printf foo >&-' must fail.
124802 2004-11-13  Jim Meyering  <jim@meyering.net>
124804         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
124806 2004-11-12  Simon Josefsson  <jas@extundo.com>
124808         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
124809         small doc fix is still pending.
124811 2004-11-11  Simon Josefsson  <jas@extundo.com>
124813         * modules/strtok_r: New file.
124815         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124816         strtok_r.
124818 2004-11-11  Simon Josefsson  <jas@extundo.com>
124820         * m4/strtok_r.m4: New file.
124822         * m4/getopt.m4: Replace opterr.
124824 2004-11-11  Simon Josefsson  <jas@extundo.com>
124826         * lib/strtok_r.h, strtok_r.c: New file.
124828 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124830         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
124831         of replacing opterr, getopt, etc.  This should handle the
124832         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
124834 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124836         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
124837         we can stop lying to compilers about the constness of argv when we
124838         are compiled outside glibc.
124839         (getopt, getopt_long, getopt_long_only): Use it.
124840         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124841         _getopt_internal, getopt): Likewise.
124842         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124843         _getopt_long_only_r): Likewise.
124844         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124845         _getopt_long_r, _getopt_long_only_r): Likewise.
124847         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
124848         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
124849         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
124850         the other external symbols.
124851         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
124852         declaration, since the above renaming now works around collisions.
124854 2004-11-11  Jim Meyering  <jim@meyering.net>
124856         * lib/linebreak.c: Remove trailing blanks.
124857         * lib/alloca_.h: Likewise.
124858         * lib/acosl.c: Likewise.
124859         * lib/euidaccess.c: Likewise.
124860         * lib/allocsa.h: Likewise.
124862 2004-11-10  Simon Josefsson  <jas@extundo.com>
124864         * m4/getaddrinfo.m4: New file.
124866 2004-11-10  Simon Josefsson  <jas@extundo.com>
124868         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
124870 2004-11-10  Simon Josefsson  <jas@extundo.com>
124872         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124873         getaddrinfo.
124875         * modules/getaddrinfo: New file.
124877 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124879         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
124881 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124883         * lib/mktime.c (SHR): New macro, which is a portable
124884         substitute for >> that should work even on Crays.
124885         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
124886         Problem reported by Mark D. Baushke in
124887         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
124888         * lib/getdate.y (SHR): Likewise.
124889         (tm_diff): Use it.
124890         * lib/strftime.c (SHR): Likewise.
124891         (tm_diff): Use it.
124892         * lib/quotearg.c (struct quoting_options): Use unsigned int for
124893         quote_these_too, so that right shifts are well defined.  All uses
124894         changed.
124896 2004-11-10  Jim Meyering  <jim@meyering.net>
124898         Ensure that no close failure goes unreported.
124899         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
124900         return early when it seems there's nothing to flush.
124901         Don't include __fpending.h.
124903 2004-11-10  Jim Meyering  <jim@meyering.net>
124905         * modules/closeout (Depends-on): Remove fpending.
124907 2004-11-10  Jim Meyering  <jim@meyering.net>
124909         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
124911 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124913         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
124914         gl_FUNC_STRFTIME.
124915         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
124916         and AC_REQUIRE when possible, to avoid duplicate checks.
124917         Check for <wchar.h>.
124919 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124921         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
124923 2004-11-09  Bruno Haible  <bruno@clisp.org>
124925         * m4/sockpfaf.m4: New file.
124927 2004-11-05  Bruno Haible  <bruno@clisp.org>
124929         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
124930         Reported by Mark D. Baushke <mdb@cvshome.org>.
124932 2004-11-04  Bruno Haible  <bruno@clisp.org>
124934         2004-09-11  Bruno Haible  <bruno@clisp.org>
124935                 * allocsa.valgrind: New file.
124936         2004-02-06  Bruno Haible  <bruno@clisp.org>
124937                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
124938                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
124939                 Reported by Christopher Seip <chris.seip@hp.com>.
124941 2004-11-04  Bruno Haible  <bruno@clisp.org>
124943         * modules/allocsa (Files): Add lib/allocsa.valgrind.
124944         (Makefile.am): Distribute it.
124946 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
124948         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
124949         with errno == ERANGE if the buffer is too small.
124950         Problem reported by Mark D. Baushke.
124952 2004-11-03  Albert Chin  <china@thewrittenword.com>
124953             Paul Eggert  <eggert@cs.ucla.edu>
124955         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
124956         equivalent, substitute $ac_type for equivalent type rather than
124957         blindly using uint32_t *always* which won't work if uint32_t is not
124958         available.  Define _UINT32_T to work around typedef of uint32_t if
124959         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
124960         2.5.1.
124962 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124964         * m4/jm-macros.m4: Sync from coreutils.
124965         (gl_MACROS): Check for mbrlen, for pathchk.
124966         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
124968 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124970         * lib/xreadlink.c (MAXSIZE): New macro.
124971         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
124972         size does not exceed MAXSIZE.  Avoid cast.
124973         As suggested by Mark D. Baushke in
124974         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
124975         if readlink fails with buffer size just under MAXSIZE, try again
124976         with MAXSIZE.
124978 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124980         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
124982 2004-11-02  Derek R. Price  <derek@ximbiot.com>
124983         and  Paul Eggert  <eggert@cs.ucla.edu>
124985         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
124986         (get_date): Overparenthesize to avoid GCC warning.
124988 2004-11-02  Bruno Haible  <bruno@clisp.org>
124990         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
124991         returns void.
124993 2004-11-02  Bruno Haible  <bruno@clisp.org>
124995         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
124996         function returns void.
124998 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
125000         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
125001         fflush_unlocked, flockfile, funlockfile, funlockfile,
125002         fputs_unlocked, putc_unlocked.
125004 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
125006         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
125007         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
125008         already declared.
125010 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
125012         * modules/getdate (Files): Add doc/getdate.texi.
125013         (Depends-on): Add setenv, xalloc.
125015 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
125017         * lib/getdate.y: Add support for TZ="foo" within a date string.
125018         Fix some bugs near time_t boundaries.  Reject dates with
125019         out-of-range components, e.g., "Sept 31".
125020         Include <stdlib.h>, "setenv.h", "xalloc.h".
125021         (ISDIGIT_LOCALE): Remove; unused.
125022         Note that the TZ and time functions used here are not reentrant.
125023         (mktime_ok, get_tz): New functions.
125024         (TZBUFSIZE): New constant.
125025         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
125026         This requires that we sometimes generate our own TZ="XXX..." setting.
125028 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
125030         * doc/getdate.texi: New file, from coreutils with modifications for
125031         the new TZ parsing.
125033 2004-10-27  Derek R. Price  <derek@ximbiot.com>
125035         * lib/mktime.c (not_equal_tm): Remove redundant check.
125037 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
125039         * modules/regex (lib_SOURCES): Add regex.c.
125040         Reported by James Youngman in
125041         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
125043 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
125045         * lib/getdate.y: Use Bison 1.875 features, and some minor
125046         code cleanups.  This change does not affect semantics.
125047         Don't include <stdlib.h>; no longer needed.
125048         Don't include unlocked-io.h; only the "#if TEST" code uses
125049         stdio, and performance isn't crucial there.
125050         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
125051         Bison 1.875 features as described below.
125052         All uses of "PC." replaced by "pc->".
125053         (YYSTYPE): Add a forward declaration.
125054         (yylex, yyerror): Use full prototypes in forward decls.
125055         Use "%pure-parser" rather than obsolescent "%pure_parser".
125056         Use %parse-param and %lex-param instead of obsolescent
125057         YYPARSE_PARAM and YYLEX_PARAM.
125058         (meridian_table, month_and_day_table, time_units_table,
125059         relative_time_table, time_zone_table, military_table,
125060         lookup_zone, lookup_word, get_date):
125061         Use NULL instead of 0 where appropriate.
125062         (to_hour): Avoid abort (), to avoid a dependency on
125063         stdlib.h.
125064         (yyerror, yylex): Now accepts parser_control * arg.
125065         (main) [TEST]: Use '\0' rather than 0 for char.
125067 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
125069         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
125071 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
125073         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
125074         It's now the caller's responsibility to handle the case where
125075         !HAVE_GETPAGESIZE && !defined getpagesize.
125077         * lib/mktime.c (leapyear): Arg is long int, not int.
125079 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
125081         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
125083 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
125085         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
125086         missing.  Problem reported by James Youngman.
125088 2004-10-16  Simon Josefsson  <jas@extundo.com>
125090         * gnulib-tool: Fix comments.  Fix parse problem.
125091         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
125093 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
125095         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
125096         implementation of getopt_long.  Problem reported by Alexander Taler in:
125097         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
125099 2004-10-15  Bruno Haible  <bruno@clisp.org>
125101         * gnulib-tool: Untabify. Initialize supplied_libname.
125102         (func_usage): More homogenous output.
125103         (func_modules_transitive_closure, func_modules_to_filelist,
125104         func_emit_lib_Makefile_am): New functions.
125105         (func_import): New function, extracted from big case statement. Use
125106         func_get_license, func_modules_transitive_closure,
125107         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
125108         opt_lgpl. Don't use test -a, as it's not portable.
125109         (func_create_testdir): Use func_modules_transitive_closure,
125110         func_modules_to_filelist, func_emit_lib_Makefile_am.
125112 2004-10-15  Bruno Haible  <bruno@clisp.org>
125114         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
125116 2004-10-15  Bruno Haible  <bruno@clisp.org>
125118         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
125119         the portions belonging to each module.
125120         Suggested by Derek Robert Price <derek@ximbiot.com>.
125122 2004-10-12  Simon Josefsson  <jas@extundo.com>
125124         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
125125         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
125126         to real functions.
125128 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125130         * modules/vsnprintf: New file.
125132 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125134         * m4/vsnprintf.m4: New file.
125136 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125138         * lib/vsnprintf.h: New file.
125139         * lib/vsnprintf.c: New file.
125141 2004-10-11  Bruno Haible  <bruno@clisp.org>
125143         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
125144         vsnprintf.
125146 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125148         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
125150 2004-10-07  Bruno Haible  <bruno@clisp.org>
125152         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
125153         fits into the provided buffer.
125155 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
125157         * lib/diacrit.c, diacrit.h: Add GPL notice.
125159         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
125160         notice.
125161         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
125162         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
125163         This avoids a potential constant-folding bug.
125165 2004-10-05  Bruno Haible  <bruno@clisp.org>
125167         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
125168         for the declaration of strsep.
125170 2004-10-05  Bruno Haible  <bruno@clisp.org>
125172         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
125174 2004-10-04  Simon Josefsson  <jas@extundo.com>
125176         * modules/memmem: New file.
125177         * tests/test-memmem.c: New file.
125178         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
125180 2004-10-04  Simon Josefsson  <jas@extundo.com>
125182         * m4/memmem.m4: New file.
125184 2004-10-04  Simon Josefsson  <jas@extundo.com>
125186         * lib/memmem.h: New file.
125187         * lib/memmem.c: New file, taken from glibc.
125189 2004-10-04  Simon Josefsson  <jas@extundo.com>
125191         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
125192         '#ifdef USE_UNLOCKED_IO'.
125194 2004-10-04  Simon Josefsson  <jas@extundo.com>
125196         * config/srclist.txt: Add memmem from glibc.
125198 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125200         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
125202         * modules/argmatch, modules/argp, modules/closeout, modules/error,
125203         modules/exclude, modules/getdate, modules/getline,
125204         modules/getndelim2, modules/getpass, modules/getpass-gnu,
125205         modules/getusershell, modules/linebuffer, modules/md5,
125206         modules/mountlist, modules/posixtm, modules/readtokens,
125207         modules/readutmp, modules/regex, modules/sha1,
125208         modules/version-etc, modules/yesno:
125209         Remove dependency on unlocked-io.
125211 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125213         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
125215         * m4/unlocked-io.m4: Add copyright notice.
125216         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
125218 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125220         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
125221         * lib/xmalloc.c (xmemdup): Likewise.
125222         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
125223         XFREE): Remove these long-obsolescent macros.
125224         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
125225         * lib/xstrdup.c: Remove.
125227         * lib/regex.c (re_comp): Cast gettext return value to char *,
125228         Problem reported by Martin Neitzel via Mark D. Baushke.
125230 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125232         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
125233         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
125234         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
125235         regex.c, sha1.c, version-etc.c, yesno.c:
125236         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
125237         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
125238         the includer's responsibility.
125240         Sync from coreutils.
125242         * lib/modechange.c (mode_compile): Don't decrement a pointer that
125243         points to the start of a string, as the C Standard says the
125244         resulting behavior is undefined.
125246         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
125247         simple -> simple_backups, numbered_existing ->
125248         numbered_existing_backups, numbered -> numbered_backups
125249         to avoid shadowing problems.  All uses changed.
125250         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
125251         * lib/backupfile.c (check_extension, numbered_backup):
125252         Rename locals to avoid shadowing 'basename'.
125253         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
125254         once.
125256         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
125257         * lib/.cvsignore: Add getopt.h.
125259 2004-10-04  Bruno Haible  <bruno@clisp.org>
125261         * modules/README: New file.
125262         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
125263         not a module.
125265 2004-10-02  Jim Meyering  <jim@meyering.net>
125267         * lib/dirfd.h, getpagesize.h: Add copyright notice.
125269 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125271         * modules/strsep: New file.
125273 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125275         * m4/strsep.m4: New file.
125277 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125279         * lib/strsep.h: New file.
125280         * lib/strsep.c: New file.
125282 2004-10-01  Simon Josefsson  <jas@extundo.com>
125284         * lib/snprintf.c (snprintf): Handle size==0.
125286 2004-10-01  Simon Josefsson  <jas@extundo.com>
125287             Bruno Haible  <bruno@clisp.org>
125289         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
125290         (snprintf): Declare 'args'.
125292 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
125294         * lib/snprintf.c: Remove comments as to why each header is needed.
125296 2004-10-01  Bruno Haible  <bruno@clisp.org>
125298         * MODULES.html.sh: Add strsep.
125300 2004-09-30  Simon Josefsson  <jas@extundo.com>
125302         * modules/snprintf: New file.
125304 2004-09-30  Simon Josefsson  <jas@extundo.com>
125306         * m4/snprintf.m4: New file.
125308 2004-09-30  Simon Josefsson  <jas@extundo.com>
125310         * lib/snprintf.h, lib/snprintf.c: New files.
125312 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
125314         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
125315         (hol_entry_help): Never translate an empty string.
125316         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
125317         * lib/argp.h (OPTION_NO_TRANS): New option.
125319 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125321         * modules/argp (Maintainer): Replace Simon Josefsson
125322         by Sergey Poznyakoff.
125324 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125326         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
125327         changes merged back into glibc.
125329 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125331         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
125333 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
125335         * lib/xvasprintf.c: Include xalloc.h.
125336         (xvasprintf): Use xalloc_die, not xmalloc_die.
125338 2004-09-29  Bruno Haible  <bruno@clisp.org>
125340         * modules/alloca-opt: New file, derived from modules/alloca.
125341         * modules/allocsa: Depend on alloca-opt instead of alloca.
125342         * modules/setenv: Likewise.
125343         * modules/vasnprintf: Likewise.
125344         * MODULES.html.sh: Add alloca-opt.
125346 2004-09-28  Simon Josefsson  <jas@extundo.com>
125348         * gnulib-tool: New parameter --lgpl, to asseert that modules are
125349         LGPL, and to replace license template from GPL to LGPL.
125351 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
125353         * modules/dummy: Change license to LGPL.
125355 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
125357         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
125359 2004-09-24  Simon Josefsson  <jas@extundo.com>
125361         * modules/minmax (License): Change from GPL to LGPL.
125363 2004-09-23  Simon Josefsson  <jas@extundo.com>
125365         * gnulib-tool (--import): Typo.
125367 2004-09-23  Simon Josefsson  <jas@extundo.com>
125369         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
125371 2004-09-22  Bruno Haible  <bruno@clisp.org>
125373         * modules/*: Add 'License' field.
125374         * gnulib-tool: Accept --extract-license option.
125375         (func_get_license): New function.
125377 2004-09-21  Bruno Haible  <bruno@clisp.org>
125379         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
125380         Reported by Simon Josefsson.
125382 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
125384         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
125385         gl_AC_TYPE_LONG_LONG.
125387 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
125389         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
125391 2004-09-18  Simon Josefsson  <jas@extundo.com>
125392         and  Paul Eggert  <eggert@cs.ucla.edu>
125394         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
125395         calls with autoreconf.  Define GL_LIB.
125397 2004-09-14  Karl Berry  <karl@gnu.org>
125399         * config/srclist.txt: unsync setenv.c, sigh.
125401 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
125403         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
125404         Problem reported by Bruno Haible in:
125405         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
125407 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
125409         * config/srclist.txt: Comment out argp-pvh.c.
125411 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
125413         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
125414         in case some system header has #define'd it.  Problem reported by
125415         Soeren D. Schulze in
125416         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
125418 2004-09-09  Karl Berry  <karl@gnu.org>
125420         * regex.[ch]: delete from the root.  These were supposed to be
125421                 synced with emacs cvs, but this has not happened for about
125422                 a year, and anyway nothing else uses emacs regex.[ch].
125423                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
125424                 lib/regex[.ch] is untouched.
125426 2004-09-09  Bruno Haible  <bruno@clisp.org>
125428         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
125430 2004-09-09  Bruno Haible  <bruno@clisp.org>
125432         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
125433         modifications.
125434         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
125436 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125438         * modules/xvasprintf: New file.
125439         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
125441 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125443         * lib/xvasprintf.h: New file.
125444         * lib/xvasprintf.c: New file.
125445         * lib/xasprintf.c: New file.
125447 2004-09-08  Bruno Haible  <bruno@clisp.org>
125449         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
125451 2004-09-08  Bruno Haible  <bruno@clisp.org>
125453         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
125454         length is > INT_MAX.
125455         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
125456         more.
125458 2004-09-08  Bruno Haible  <bruno@clisp.org>
125460         * lib/stdint_.h: New file, taken from GNU clisp.
125462 2004-09-08  Bruno Haible  <bruno@clisp.org>
125463             Oskar Liljeblad  <oskar@osk.mine.nu>
125465         * modules/stdint: New file.
125466         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
125468 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125470         Import from coreutils.
125471         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
125472         strings on unbounded length.  alloca's performance benefits aren't
125473         that important here.
125474         (V_STRDUP): Remove.
125475         (parse_with_separator): New function, with most of the internals
125476         of the old parse_user_spec.  Allow user to omit both user and group,
125477         for compatibility with FreeBSD.
125478         Clone only the user name, not the entire spec.
125479         Do not set *uid, *gid unless entirely successful.
125480         Avoid memory leak in some failing cases.
125481         Fix regression for USER.GROUP reported by Dmitry V. Levin in
125482         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
125483         (parse_user_spec): Rewrite to use parse_with_separator.
125485 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125487         * modules/userspec: Don't depend on alloca.
125489 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125491         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
125493 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
125495         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
125496         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
125497         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
125499 2004-08-16  Simon Josefsson  <jas@extundo.com>
125501         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
125502         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
125503         Add --dry-run for --import.
125504         Let user provided command line parameters override configure.ac
125505         settings.
125507 2004-08-12  Simon Josefsson  <jas@extundo.com>
125509         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
125510         as discussed with Paul Eggert in threads rooted at
125511         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
125512         and
125513         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
125514         Before, the test was empty, and relied on ELIDE_CODE in source
125515         code.)
125516         (gl_PREREQ_GETOPT): New macro.
125517         (gl_GETOPT): Use them.
125519 2004-08-12  Simon Josefsson  <jas@extundo.com>
125521         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
125522         * lib/getopt_.h: Renamed from getopt.h.
125524 2004-08-12  Simon Josefsson  <jas@extundo.com>
125526         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
125527         Change default library name from libfoo to libgnu.
125528         Now, if you have a configure.ac that says:
125529                 gl_SOURCE_BASE(gl)
125530                 gl_M4_BASE(gl/m4)
125531                 gl_MODULES(error getopt etcetera)
125532                 gl_INIT
125533         you can import all you need by running:
125534                 ../gnulib/gnulib-tool --import
125536         * modules/getopt (Files): Rename getopt.h to getopt_.h.
125537         (Makefile.am): Rewrite, use logic from argz.
125538         (Include): Use <getopt.h> instead of "getopt.h".
125540 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125542         * modules/argp (Files): Add m4/unlocked-io.m4.
125543         (Depends-on): Add extensions.
125545 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125547         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
125548         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
125549         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
125550         Check for program_invocation_name, program_invocation_short_name,
125551         flockfile, funlockfile, features.h, _getopt_long_only_r.
125553 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125555         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
125556         its complicated substitute.
125557         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
125558         and program_invocation_name.
125559         (__argp_basename) [!_LIBC]: Remove; the only use was
125560         replaced by its body.
125561         (__argp_short_program_name): Change condition from
125562         !defined __argp_short_program_name to
125563         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
125564         to match argp-namefrob.h.
125565         (__argp_failure): Don't assume strerror_r returns char *.
125566         * lib/argp-parse.c (N_): Define unconditionally.
125567         (argp_default_options): Fill out initializers with 0 to avoid
125568         gcc warnings.
125570 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125572         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
125573         getopt1.c.
125575 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125577         Merge from coreutils.
125579         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
125581         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
125582         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
125584 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125586         Merge from coreutils.
125588         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
125589         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
125590         for Reliant Unix 5.43.
125592         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
125593         (union fooround): Use uintmax_t, not long int.
125594         The rest is a merge from libc:
125595         [defined _LIBC]: Include <shlib-compat.h>.
125596         (_obstack) [defined _LIBC]: Remove after 2.3.4.
125598         * lib/settime.c (settime): Recode to avoid warning with
125599         Sun Forte C 6U2.
125601         * lib/strverscmp.c: Convert to UTF-8.
125603 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125605         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
125606         m4/uintmax_t.m4.
125608 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125610         * modules/xalloc-die: New file.
125611         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
125613         * modules/md5 (Files): Add m4/uint32_t.m4.
125614         * modules/sha1: Renamed from modules/sha.
125615         (Files):
125616         Rename lib/sha.h to lib/sha1.h.
125617         Rename lib/sha.c to lib/sha1.c.
125618         Rename m4/sha.m4 to m4/sha1.m4.
125619         (lib_SOURCES): Likewise.
125620         (configure.ac): Rename gl_SHA to gl_SHA1.
125621         (Include): sha.h -> sha1.h.
125623 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125625         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
125626         * m4/sha1.m4: Renamed from sha.m4.
125627         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
125629 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125631         * lib/obstack.h (obstack_empty_p):
125632         Don't assume that chunk->contents is suitably aligned.
125633         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
125634         Likewise. Problem reported by Benno in
125635         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
125637         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
125638         readable.  This could be improved further but it'd take some work.
125640 2004-08-08  Simon Josefsson  <jas@extundo.com>
125642         * modules/xgethostname (Depends-on): Remove exit and error (not
125643         used).
125645         * modules/getpass-gnu: Add getpass.h.
125646         (Depends-on): Add stdbool.
125647         * modules/getpass: Add getpass.h.
125649 2004-08-08  Simon Josefsson  <jas@extundo.com>
125651         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
125652         Check getpass declaration.
125654 2004-08-08  Simon Josefsson  <jas@extundo.com>
125656         * lib/xgethostname.c: Don't include error.h (not used).
125658         * lib/getpass.h: Add.
125659         * lib/getpass.c: Include getpass.h first.
125661 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
125663         * lib/xalloc-die.c: New file.
125664         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
125665         All uses removed.
125666         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
125667         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
125668         xalloc-die.c.
125669         (_, N_, xalloc_die): Move to xalloc-die.c.
125670         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
125671         so that we needn't mess with xalloc_msg_memory_exhausted.
125673         * lib/sha1.h: Renamed from sha.h.
125674         (SHA1_H): Renamed from _SHA_H.
125675         (sha1_ctx): Renamed from sha_ctx.
125676         (sha1_init_ctx): Renamed from sha_init_ctx.
125677         (sha1_process_block): Renamed from sha_process_block.
125678         (sha1_process_bytes): Renamed from sha_process_bytes.
125679         (sha1_finish_ctx): Renamed from sha_finish_ctx.
125680         (sha1_read_ctx): Renamed from sha_read_ctx.
125681         (sha1_stream): Renamed from sha_stream.
125682         (sha1_buffer): Renamed from sha_buffer.
125683         * lib/sha1.c: Likewise; renamed from sha.c.
125684         Do not include <sys/types.h>.
125685         Include <stddef.h> rather than <stdlib.h>.
125687 2004-08-08  Bruno Haible  <bruno@clisp.org>
125689         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
125690         FILESYSTEM_PREFIX_LEN.
125691         * lib/progreloc.c: Likewise.
125692         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
125694 2004-08-06  Simon Josefsson  <jas@extundo.com>
125696         * modules/progname (Depends-on): Don't depend on stdbool.
125698 2004-08-06  Simon Josefsson  <jas@extundo.com>
125700         * modules/getsubopt: New file.
125701         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
125702         getsubopt.
125704 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125706         More merge from coreutils.
125708         * m4/utimens.m4, m4/utimecmp.m4: New files.
125709         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
125710         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
125711         prereq.m4, sha.m4: Import changes from coreutils.
125713 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125715         More merge from coreutils.
125716         * modules/raise, modules/readtokens0, modules/utimens:
125717         * modules/utimecmp, module/xnanosleep: New files.
125718         * modules/strftime: Add lib/strftime.h.
125719         Change include from <time.h> to "strftime.h".
125720         * modules/yesno: Add lib/yesno.h.
125721         * modules/backupfile: Remove lib/addext.c.
125722         * modules/euidaccess: Add stat-macros.h.
125723         * modules/canonicalize, modules/euidaccess,
125724         modules/filemode, modules/lchown, modules/makepath,
125725         modules/rmdir, modules/stat: Likewise.
125727 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125729         Merge from tar.
125730         * lib/argp-help.c (make_hol, hol_append): Don't assume that
125731         SIZE_MAX is a valid preprocessor constant.
125732         (__argp_basename): Change from "#ifndef _LIBC"
125733         to "#ifndef __argp_short_program_name", so that
125734         we don't compile these functions for tar.
125736         More merges from coreutils.
125737         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
125738         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
125739         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
125740         * lib/addext.c: Remove; no longer needed.
125741         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
125742         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
125743         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
125744         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
125745         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
125746         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
125747         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
125748         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
125749         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
125750         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
125751         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
125752         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
125753         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
125754         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
125755         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
125756         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
125757         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
125758         Import changes from coreutils.
125760 2004-08-05  Simon Josefsson  <jas@extundo.com>
125762         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
125764 2004-08-05  Simon Josefsson  <jas@extundo.com>
125766         * m4/getsubopt.m4: New file.
125768 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125770         Merge from coreutils.
125772         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
125773         * m4/getcwd-path-max.m4: New files.
125775         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
125776         FILESYSTEM_PREFIX_LEN ->
125777         FILE_SYSTEM_PREFIX_LEN.
125778         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
125779         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
125780         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
125781         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
125783         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
125784         prerequisite modules now handle the DOS stuff.
125785         Don't check for unistd.h.
125787 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125789         Merge from coreutils.
125791         * lib/.gdb-history: Remove; this doesn't belong here.
125793         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
125794         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
125795         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
125796         * lib/getcwd.c: New files.
125798         * lib/dirname.h: Include <stdbool.h>.
125799         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
125800         for consistency with POSIX terminology.  All uses changed.
125801         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
125802         (strip_trailing_slashes): Use bool for booleans.
125803         * lib/stripslash.c (strip_trailing_slashes): Likewise.
125805         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
125806         sometimes returns a positive errno value even when it succeeds.
125807         (print_errno_message) [!LIBC]: Fall back on strerror if
125808         __strerror_r fails.
125810         * lib/path-concat.c (mempcpy): Don't define if a system header defines
125811         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
125812         (longest_relative_suffix): New function.
125813         (path_concat): Use it.  Assume first argument is not NULL.
125814         Port to DOS.  Omit redundant separators.
125815         Report an error instead of returning NULL.
125816         Use mempcpy instead of memcpy.
125817         (xpath_concat): Remove: not declared or used.
125819         * lib/same.h: Include <stdbool.h>
125820         (same_name): Return bool, not int.
125821         * lib/same.c (same_name): Likewise.
125822         (errno): Don't declare; we assume C89 or better now.
125824         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
125825         if not already defined.
125827         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
125828         * lib/dup-safer.c (errno): Likewise.
125830 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125832         Merge from coreutils.
125833         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
125834         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
125835         * modules/path-concat: Don't depend on strdup.
125837 2004-08-03  Simon Josefsson  <jas@extundo.com>
125839         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
125840         * lib/progname.h: Don't include stdbool.h.
125842 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125844         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
125845         * MODULES.html.sh (func_all_modules): Remove fatal.
125847 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125849         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
125851 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125853         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
125854         working.
125856 2004-08-02  Simon Josefsson  <jas@extundo.com>
125858         * lib/getsubopt.h: New file, with comments from Bruno Haible.
125859         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
125860         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
125862 2004-08-01  Simon Josefsson  <jas@extundo.com>
125864         * lib/xgetdomainname.c: Include stdlib.h, for free().
125866 2004-07-19  Bruno Haible  <bruno@clisp.org>
125868         * MODULES.html.sh (func_all_modules): Add dummy.
125870 2004-07-16  Simon Josefsson  <jas@extundo.com>
125872         * modules/dummy: New file.
125874 2004-07-16  Simon Josefsson  <jas@extundo.com>
125876         * lib/dummy.c: New file.
125878 2004-07-16  Bruno Haible  <bruno@clisp.org>
125880         * lib/backupfile.h: Add extern "C" for C++.
125881         * lib/closeout.h: Likewise.
125882         * lib/copy-file.h: Likewise.
125883         * lib/findprog.h: Likewise.
125884         * lib/full-write.h: Likewise.
125885         * lib/pathname.h: Likewise.
125886         * lib/progname.h: Likewise.
125887         * lib/stpcpy.h: Likewise.
125888         * lib/stpncpy.h: Likewise.
125889         * lib/strcase.h: Likewise.
125890         * lib/strstr.h: Likewise.
125891         * lib/xalloc.h: Likewise.
125893         * lib/mbswidth.h: Add extern "C" for C++.
125894         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
125896 2004-07-13  Robert Millan  <robertmh@gnu.org>
125898         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
125900 2004-07-09  Simon Josefsson  <jas@extundo.com>
125902         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
125903         failed without this.)
125905 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125907         * modules/chown (Files): Add lib/fchown-stub.c, since
125908         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
125910 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125912         * lib/fchown-stub.c: New file.
125914 2004-06-24  Jim Meyering  <jim@meyering.net>
125916         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
125918 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125920         * modules/argz: Omit "#include".
125922         * MODULES.html.sh (func_all_modules): Add calloc, to match
125923         2004-06-01 addition of calloc module.
125925 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125927         * m4/argz.m4: New file, which is autoupdated from libtool.
125929 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125931         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
125932         libtool.
125934 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125936         * config/srclist-update: Don't insist on "USA." before the
125937         close-comment, as libtool omits the period and puts the */ on a
125938         separate line.
125939         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
125940         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
125942 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
125944         * modules/argz: New file.
125945         * MODULES.html.sh (func_all_modules): Add argz.
125947 2004-06-12  Jim Meyering  <jim@meyering.net>
125948         and  Paul Eggert  <eggert@cs.ucla.edu>
125950         * modules/hash (Files): Add lib/xalloc.h.
125951         * modules/pipe (Depends-on): Add wait-process.
125952         * modules/stat (Depends-on): Add xalloc.
125953         * modules/userspec (Files): Add lib/userspec.h.
125954         * modules/xstrto
125956         Upgrade from gettext-0.13.
125957         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
125958         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
125959         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
125961 2004-06-10  Jim Meyering  <jim@meyering.net>
125963         * lib/calloc.c: New file.
125965 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
125967         * lib/getdate.y (yylex): Allow space between sign and number.
125968         Problem reported by Dan Jacobson.
125970 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125972         Merge from coreutils CVS.
125974         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
125975         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
125976         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
125977         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
125978         xstrtol.m4: Fix copyright date and/or serial number.
125980         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
125981         See if we need an fchown replacement.
125982         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
125983         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
125984         and use the replacement function if we detect either defect.
125986         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
125987         gl_UTIMECMP.
125989 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125990         and  Jim Meyering  <jim@meyering.net>
125992         Merge from coreutils CVS.
125994         * lib/stat-macros.h: New file, with contents from file-type.h
125995         and coreutils' system.h.
125996         * lib/file-type.c: Include "stat-macros.h".
125997         * lib/file-type.h (file_type): Move all macro definitions to new file,
125998         stat-macros.h.
126000         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
126001         Wrap old code with this conditional.
126002         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
126003         function that does not dereference symlinks.
126004         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
126006         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
126007         dependency problems.
126008         (xreadlink): Accept new arg SIZE, for efficiency.
126009         All decls and uses changed.
126010         * lib/xreadlink.h: Include <stddef.h>, for size_t.
126012         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
126013         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
126015         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
126016         sysexits.h.
126018 2004-06-01  Jim Meyering  <jim@meyering.net>
126020         * m4/calloc.m4: New file.
126022 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
126024         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
126025         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
126026         Also, fix a typo in a diagnostic.
126028 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
126030         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
126031         or AC_FUNC_REALLOC.
126033 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
126035         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
126036         macros to be defined.
126037         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
126038         the allocator returns NULL because the requested size is zero.
126040 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
126042         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
126043         var.  Add comment explaining why libc still defines it.  This
126044         merges the following patch from glibc:
126045         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
126047 2004-05-20  Andreas Schwab  <schwab@suse.de>
126049         * m4/free.m4: Replace free if it not known to work, not the other
126050         way round.
126052 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
126054         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
126055         present in glibc since revision 1.1 of this file.
126056         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
126057         obstack_alignment_mask, obstack_alloc, obstack_base,
126058         obstack_blank, obstack_blank_fast, obstack_chunk_size,
126059         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
126060         obstack_grow0, obstack_init, obstack_int_grow,
126061         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
126062         obstack_next_free, obstack_object_size, obstack_ptr_grow,
126063         obstack_ptr_grow_fast, obstack_room): Remove declarations of
126064         nonexistent functions.
126066 2004-05-18  Karl Berry  <karl@gnu.org>
126068         * config/srclist.txt: break link for vasnprintf.c.
126070 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
126072         Port obstack to the AS/400, where pointers are 16 bytes wide and
126073         you cannot cast an integer to a valid pointer.  This patch is
126074         currently waiting to be integrated into glibc; see
126075         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
126077         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
126078         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
126079         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
126080         (struct obstack): temp member is now a union of a pointer and
126081         an integer, instead of an integer.  All integer uses changed.
126082         This does not affect the physical layout of struct obstack,
126083         except on hosts (like the AS/400) where the size or alignment of
126084         void * is greater than that of ptrdiff_t.
126085         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
126086         __STDC__)]: Store temporary in pointer member of union, not
126087         integer member.
126088         * lib/obstack.c: Include <stddef.h>, for offsetof.
126089         (struct fooalign): Remove; it doesn't need a name.
126090         (union fooround): Change double to long double, and add void *.
126091         (DEFAULT_ALIGNMENT): Use offsetof to compute.
126092         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
126093         not a macro.  Hence the values are always int; so remove all
126094         casts-to-int in uses.
126096 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
126098         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
126099         we can get this patch merged into glibc.
126101 2004-05-17  Derek R. Price  <derek@ximbiot.com>
126102             Paul Eggert  <eggert@cs.ucla.edu>
126104         * m4/argp: Depend on alloca.
126106 2004-05-17  Derek R. Price  <derek@ximbiot.com>
126107             Paul Eggert  <eggert@cs.ucla.edu>
126109         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
126110         freecoding.
126112 2004-05-17  Bruno Haible  <bruno@clisp.org>
126114         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
126115         precision that consists of a '.' followed by an empty digit string.
126116         Patch by Tor Lillqvist <tml@iki.fi>.
126118 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
126120         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
126121         for backward compatibility with older code.  We need our own
126122         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
126123         it under some other name, and our alloca.h will define it.
126125 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
126126             Derek Price  <derek@ximbiot.com>
126128         * lib/alloca.c: Include <alloca.h>, to get our interface.
126129         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
126130         include <alloca.h> first.  Use C89 prototype for alloca; this
126131         requires including <stddef.h> for size_t.  Use extern "C" if C++.
126132         Use #elif for simplicity, since we can assume C89 now.
126133         Don't try to source the system alloca.h since it will not be found
126134         and to prevent recursively including its replacement.
126135         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
126136         * lib/regex.c: Likewise.
126138 2004-05-16  Derek Price  <derek@ximbiot.com>
126139             Paul Eggert  <eggert@cs.ucla.edu>
126141         getline cleanup.  This changes the getndelim2 API: both order of
126142         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
126143         no delimiter).
126145         * lib/getline.c: Don't include stddef.h or stdio.h, since our
126146         interface does that.
126147         (getline): Always use getdelim, so that we don't have two
126148         copies of this code.
126149         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
126150         if available.
126151         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
126152         (GETNDELIM2_MAXIMUM): New macro.
126153         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
126154         instead of the old practice of delim2==0.  All callers changed.
126155         Return -1 on overflow, instead of returning junk.
126156         Do not set *linesize unless allocation succeeds.
126157         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
126158         that we include sys/types.h.
126159         * lib/getnline.h: Likewise.
126160         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
126161         (getndelim2): Reorder arguments.
126162         * lib/getnline.c (getnline, getndelim):
126163         Don't discard the NMAX argument.
126164         (getnline): Invoke getndelim, to avoid code duplication.
126165         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
126166         of (size_t) -1 by callers of the getnline family.
126168 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
126170         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
126171         Check for gettimeofday.
126172         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
126173         Check for settimeofday, stime.
126175 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
126177         * lib/nanosleep.c (suspended): Change its type from int to
126178         sig_atomic_t volatile.
126179         (first_call): Make it private to rpl_nanosleep, and have it
126180         be zero initially as that's a bit faster.
126181         (my_usleep): Round up fractional times instead of truncating them,
126182         as this is the usual meaning for 'sleep'.
126184         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
126185         doesn't work.
126186         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
126187         (ENOSYS): Define if not defined.
126188         (settime): Fall back on stime if it exists and settimeofday fails.
126189         But don't bother with fallbacks if a method fails with errno == EPERM.
126191 2004-05-11  Jim Meyering  <jim@meyering.net>
126193         Prior to this change, the save_cwd caller required read access to the
126194         current directory on most systems (ones with the fchdir function).
126196         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
126197         fails, try write-only, and finally, resort to using xgetcwd.
126199 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
126201         * lib/obstack.c, obstack.h: Import changes from libc.
126203 2004-04-28  Bruno Haible  <bruno@clisp.org>
126205         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
126206         also implicitly appends .exe to executables.
126207         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
126208         accepts Windows pathnames.
126209         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
126210         Treat Cygwin like Windows, since it now accepts Windows pathnames.
126211         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
126212         Treat Cygwin like Windows, since it now accepts Windows pathnames.
126213         Reported by Derek Robert Price <derek@ximbiot.com>.
126215 2004-04-21  Karl Berry  <karl@gnu.org>
126217         * config/srclist.txt (localcharset.c): break sync.
126219 2004-04-20  Paul Eggert  <eggert@twinsun.com>
126221         * m4/host-os.m4: Add a copyright notice.
126223 2004-04-20  Jim Meyering  <jim@meyering.net>
126225         Change UTILS_ to gl_ in AC_DEFINE'd names.
126226         Change utils_- and jm_-prefixed variables, too.
126227         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
126228         UTILS_FUNC_MKDIR_TRAILING_SLASH.
126229         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
126231         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
126232         Don't emit trailing blanks.
126233         Also rename jm_-prefixed variables to have gl_ prefix.
126235         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
126236         Also rename jm_-prefixed variables to have gl_ prefix.
126238         * m4/jm-macros.m4: Reflect the renamings.
126239         * m4/prereq.m4: Likewise.
126241 2004-04-20  Jim Meyering  <jim@meyering.net>
126243         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
126244         memory.
126246 2004-04-20  Jim Meyering  <jim@meyering.net>
126247             Bruno Haible  <bruno@clisp.org>
126249         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
126250         memory when realloc fails.
126252 2004-04-19  Jim Meyering  <jim@meyering.net>
126254         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
126255         now that readutmp.c may call `free (0)'.
126257 2004-04-19  Bruno Haible  <bruno@clisp.org>
126259         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
126260         * m4/inttypes_h.m4: Likewise.
126261         * m4/stdint_h.m4: Likewise.
126262         * m4/intmax_t.m4: Likewise.
126263         * m4/uintmax_t.m4: Likewise.
126265 2004-04-18  Jim Meyering  <jim@meyering.net>
126267         * m4/prereq.m4: Don't forbid jm_ prefix.
126269         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
126270         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
126271         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
126272         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
126273         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
126274         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
126275         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
126276         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
126277         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
126278         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
126279         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
126280         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
126281         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
126282         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
126283         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
126284         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
126285         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
126286         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
126287         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
126289 2004-04-18  Jim Meyering  <jim@meyering.net>
126291         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
126292         failure, don't leak memory and do call END_UTMP_ENT.
126294 2004-04-16  Jim Meyering  <jim@meyering.net>
126296         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
126297         coreutils' stat program.
126298         (gl_PREREQ): Don't require jm_PREREQ_STAT.
126300 2004-04-11  Paul Eggert  <eggert@twinsun.com>
126302         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
126303         C89.
126304         (CHAR_BIT): Remove, since we assume C89.
126305         Include <stdint.h> if available, as per current Autoconf CVS advice.
126307 2004-03-31  Jim Meyering  <jim@meyering.net>
126309         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
126310         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
126311         * m4/xalloc.m4: Likewise.
126313 2004-03-30  Paul Eggert  <eggert@twinsun.com>
126315         Merge from coreutils.
126317         * m4/inttostr.m4: New file.
126318         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
126319         Require AM_STDBOOL_H and gl_TIMESPEC instead.
126320         Require gl_CLOCK_TIME.
126321         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
126323 2004-03-30  Paul Eggert  <eggert@twinsun.com>
126325         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
126326         not bool, to be more consistent with Unix conventions.
126327         Suggested by Bruno Haible.
126329         Merge from coreutils.
126331         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
126332         * lib/umaxtostr.c: New files.
126334         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
126335         the usual <time.h> dance.
126336         (get_date): Change signature to support fractional time stamps.
126337         All callers changed.
126338         * lib/getdate.y: Include "getdate.h" first, as we can now
126339         assume C89 and don't need to worry about 'const'.
126340         Similarly, include "unlocked-io.h" near start, not in middle.
126341         Include <limits.h>.
126342         (textint.value): Use long int rather than int.
126343         (textint.digits): Use size_t rather than int.
126344         (BILLION, LOG10_BILLION): New constants.
126345         (parser_control): New member rel_ns.  Members day_ordinal,
126346         time_zone, month, day, hour, minutes, rel_year, rel_month,
126347         rel_day, rel_hour, rel_minutes, rel_seconds
126348         are now long int, not int.  Member seconds is now struct timespec,
126349         not int.  New member timespec_seen.  Members dates_seen, days_seen,
126350         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
126351         not int.
126352         (%union.intval): Now long int, not int.
126353         New member timespec.
126354         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
126355         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
126356         (spec): Now is a timespec or an item list.
126357         (timespec, items): New nonterminals.
126358         (time, rel, relunit, number, get_date):
126359         Add support for fractional seconds.
126360         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
126361         (gmtime, localtime, mktime): Remove decls; not needed with C89.
126362         (to_hour): First arg is now long int, not int.
126363         (to_year): Returns long int, not int.
126364         Don't treat year -70 like 70.
126365         (tm_diff): Returns long int, not int.
126366         (lookup_word): Use bool instead of int when appropriate.
126367         (yylex): Use size_t for count, not int.
126368         Detect overflow when parsing large integer constants.
126369         Add support for fractions.
126370         (get_date): Make pointers 'const' if possible.
126371         Use more-portable code to detect integer overflow.
126372         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
126373         Don't use ctime; it's not reliable if the year has >4 digits.
126375         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
126376         This is for compatibility with BSD.
126378         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
126379         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
126380         From coreutils' system.h.
126382         * lib/userspec.c: Don't include "posixver.h".
126383         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
126384         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
126385         compatible extension.  Simplify code by removing a boolean int
126386         that was always nonzero if a string was nonnull.
126388 2004-03-30  Jim Meyering  <jim@meyering.net>
126390         Merge from coreutils.
126392         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
126393         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
126394         on some systems one must include <grp.h> before it.
126395         Reported by Christian Krackowizer.
126397 2004-03-30  Jim Meyering  <jim@meyering.net>
126399         Merge from coreutils.
126401         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
126403         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
126404         an empty input stream.
126406         * lib/readtokens.c: Include <stdbool.h>.
126407         (readtoken): Use `size_t' rather than int/long.
126408         All callers adjusted.
126409         Use `bool' rather than `int' where appropriate.
126410         Use memset rather than an explicit loop.
126411         Use x2nrealloc rather than xrealloc.
126412         Allow the use of `\0' as a delimiter.
126413         (readtokens): Likewise.
126414         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
126416 2004-03-30  Jim Meyering  <jim@meyering.net>
126418         * m4/realloc.m4: Remove file, since now it does no more than
126419         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
126420         the `configure.ac' section of module/realloc.
126421         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
126423 2004-03-30  Bruno Haible  <bruno@clisp.org>
126425         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
126426         nonnull.
126428 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126430         Merge changes to getloadavg.c from coreutils and Emacs.
126432         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
126433         Define to an expression, not to the empty string.
126434         Include cloexec.h and xalloc.h.
126435         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
126436         Use set_cloexec_flag rather than rolling our own.
126437         * lib/cloexec.c, lib/cloexec.h: New files.
126439 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126441         * m4/cloexec.m4: New file.
126443 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126445         * lib/getopt.h: Sync with libc CVS.
126447 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126448             Bruno Haible  <bruno@clisp.org>
126450         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
126451         mbswidth.
126453 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126454             Bruno Haible  <bruno@clisp.org>
126456         * lib/mbswidth.h: Include <wchar.h> only if
126457         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
126458         <wchar.h>.
126459         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
126461 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126463         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
126464         Sync with libc CVS.
126465         * lib/getopt_int.h: New file, also synced from libc.
126467 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126469         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
126470         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
126471         Bring back getopt.c, getopt.h, getopt1.c.
126473 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126475         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
126476         All uses changed.  Check for sa_sigaction member; this fixes
126477         a bug first reported by Jason Andrade in
126478         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126480 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126482         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
126483         '#if' expressions.  Unlike the code it replaces, it does not
126484         depend on (defined _SC_PAGESIZE).  However, it does depend on
126485         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
126486         first reported by Jason Andrade in
126487         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126489 2004-02-25  Simon Josefsson  <jas@extundo.com>
126491         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
126493 2004-02-25  Simon Josefsson  <jas@extundo.com>
126495         * lib/strdup.h: New file.
126496         * lib/strdup.c: Include it.
126497         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
126498         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
126500 2004-02-23  Karl Berry  <karl@gnu.org>
126502         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
126503         (from fencepost.gnu.org:/gd/gnuorg).
126505 2004-02-23  Karl Berry  <karl@gnu.org>
126507         * config/srclistvars.sh (GNUORG) [karl]: redefine.
126508         * config/srclist.txt: add maintain/standards documents.
126510 2004-02-18  Bruno Haible  <bruno@clisp.org>
126512         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
126513         Reported by Derek Robert Price <derek@ximbiot.com>.
126515 2004-02-16  Karl Berry  <karl@gnu.org>
126517         * config/mkinstalldirs, install-sh: update from automake.
126519 2004-02-06  Karl Berry  <karl@gnu.org>
126521         * m4/po.m4: update from gettext 0.14.1.
126523 2004-02-06  Karl Berry  <karl@gnu.org>
126525         * lib/config.charset: update from gettext 0.14.1.
126527 2004-02-05  Paul Eggert  <eggert@twinsun.com>
126529         Add comments and code, prompted by suggestions from Bruno Haible
126530         for sh-quote.
126531         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
126532         describing the enum quoting_style values.
126533         * lib/quotearg.c (quotearg_alloc): New function.
126534         (quotearg_buffer_restyled): Treat lone { and } as special.
126535         Treat = as special.  Work around bug with older shells
126536         that "see" a '\' that is really the 2nd byte of a multibyte char.
126537         Quote empty string with shell_quoting_style.
126539 2004-02-03  Bruno Haible  <bruno@clisp.org>
126541         * m4/pipe.m4: New file, from GNU gettext.
126543 2004-02-03  Bruno Haible  <bruno@clisp.org>
126545         * lib/pipe.h: New file, from GNU gettext.
126546         * lib/pipe.c: New file, from GNU gettext.
126548 2004-01-27  Bruno Haible  <bruno@clisp.org>
126550         * m4/execute.m4: New file, from GNU gettext.
126552 2004-01-27  Bruno Haible  <bruno@clisp.org>
126554         * lib/execute.h: New file, from GNU gettext.
126555         * lib/execute.c: New file, from GNU gettext.
126556         * lib/w32spawn.h: New file, from GNU gettext.
126558 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126560         Merge from diffutils.
126562         * lib/file-type.c (file_type): Add typed memory objects.
126563         * lib/file-type.h (S_TYPEISTMO): New macro.
126565         * lib/c-stack.h (c_stack_action): Remove argv argument.
126566         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
126567         (die): Don't calculate message unless segv_action returns.
126568         (get_stack_location, min_address_from_argv, max_address_from_argv,
126569         volatile stack_base, volatile_stack_size): Remove.
126570         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
126571         that every segmentation violation is a stack overflow.  (Ouch!)
126572         See Debian bug 136249 (still outstanding) for more info about why
126573         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
126575 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126577         Exit-status fix from coreutils.
126579         Use exit_failure consistently in place of EXIT_FAILURE,
126580         so that program exit statuses are consistent on failure.
126582         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
126583         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
126584         * lib/argmatch.h: Comment fix to match the above.
126585         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
126586         Now a macro referring to exit_failure, instead of a separate
126587         variable.  Include "exitfail.h" to get it.
126588         * lib/xstrtol.h: Include "exitfail.h".
126589         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
126591         * lib/long-options.c (parse_long_options): Use prototype
126592         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
126593         for clarity.
126595 2004-01-21  Jim Meyering  <jim@meyering.net>
126597         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
126598         so as not to conflict with a different-sized __mktime_internal
126599         function in GNU libc.
126600         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
126601         Problem building statically-linked `ls' reported by Michael Brunnbauer.
126603 2004-01-20  Karl Berry  <karl@gnu.org>
126605         * config/config.guess: update from config.
126607         * config/srclistvars.sh: GNUWWWLICENSES for karl.
126609 2004-01-20  Bruno Haible  <bruno@clisp.org>
126611         Safer stack allocation.
126612         * lib/setenv.c: Include allocsa.h.
126613         (alloca): Remove fallback definition.
126614         (freea): Remove macro.
126615         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
126616         instead of freea.
126618 2004-01-20  Bruno Haible  <bruno@clisp.org>
126620         * m4/eealloc.m4: New file, from GNU gettext.
126622 2004-01-20  Bruno Haible  <bruno@clisp.org>
126624         * m4/allocsa.m4: New file, from GNU gettext.
126626 2004-01-20  Bruno Haible  <bruno@clisp.org>
126628         * lib/xallocsa.h: New file, from GNU gettext.
126629         * lib/xallocsa.c: New file, from GNU gettext.
126631 2004-01-20  Bruno Haible  <bruno@clisp.org>
126633         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
126635 2004-01-20  Bruno Haible  <bruno@clisp.org>
126637         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
126638         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
126639         specially.
126641 2004-01-20  Bruno Haible  <bruno@clisp.org>
126643         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
126644         patch.
126646 2004-01-20  Bruno Haible  <bruno@clisp.org>
126648         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
126650 2004-01-20  Bruno Haible  <bruno@clisp.org>
126652         * lib/eealloc.h: New file.
126654 2004-01-20  Bruno Haible  <bruno@clisp.org>
126656         * lib/binary-io.h: Avoid warnings on Cygwin.
126658 2004-01-20  Bruno Haible  <bruno@clisp.org>
126660         * lib/allocsa.h: New file, from GNU gettext.
126661         * lib/allocsa.c: New file, from GNU gettext.
126663 2004-01-18  Karl Berry  <karl@gnu.org>
126665         * doc/gpl.texi, doc/lgpl.texi: new files.
126667 2004-01-18  Karl Berry  <karl@gnu.org>
126669         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
126670         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
126672 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126674         Merge from coreutils.
126676         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
126677         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
126678         (gl_DEFAULT_POSIX2_VERSION): Move
126679         the documentation from 'configure' into 'config.hin',
126680         so that 'configure --help' isn't burdened by it and
126681         we don't have to worry about its formatting there.
126682         Reword the documentation so that it's more succinct
126683         and can be run together into a single paragraph.
126684         * m4/same.m4 (gl_SAME): Check for pathconf.
126686 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126688         Merge from coreutils.
126690         * lib/posixver.c: Include posixver.h.
126692         * lib/same.c: Include <stdbool.h>, <limits.h>.
126693         (_POSIX_NAME_MAX): Define if not defined.
126694         (MIN): New macro.
126695         (same_name): If file names are silently truncated, report
126696         that the file names are the same if they are the same after
126697         the silent truncation.
126699         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
126700         conversion function.
126701         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
126702         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
126703         longer needed.
126705 2004-01-15  Jim Meyering  <jim@meyering.net>
126707         Merge from coreutils.
126709         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
126710         if no library is required.
126711         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
126712         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
126713         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
126714         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
126715         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
126716         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
126717         value, $ac_cv_search_crypt, if it's "none required".
126718         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
126719         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
126720         not gl_FUNC_GETLOADAVG.
126721         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
126722         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
126724 2004-01-15  Jim Meyering  <jim@meyering.net>
126726         Merge from coreutils.
126728         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
126729         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
126730         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
126732         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
126733         optional configure-time default.
126735         * lib/version-etc.c (version_etc_copyright): Update copyright date.
126737         * lib/xreadlink.c (xreadlink): Correct outdated comment.
126739 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
126741         Merge from coreutils.
126743         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
126744         value, $ac_cv_search_nanosleep, if it's "none required".
126746 2004-01-14  Paul Eggert  <eggert@twinsun.com>
126748         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
126749         with like-named macro in fnmatch.c.
126750         (EXT): Use an internal constant instead.
126752         Merge fnmatch patches from glibc.
126753         * lib/fnmatch.c (mbsinit): Remove define.
126754         Add libc_hidden_ver (__fnmatch, fnmatch).
126755         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
126756         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
126758 2004-01-14  Karl Berry  <karl@gnu.org>
126760         * config/install-sh: update from automake.
126762 2004-01-13  Karl Berry  <karl@gnu.org>
126764         * config/install-sh: update from automake.
126766 2004-01-09  Karl Berry  <karl@gnu.org>
126768         * config/install-sh: update from automake.
126770 2004-01-05  Karl Berry  <karl@gnu.org>
126772         * config/config.{sub,guess}: update from config.
126774 2003-12-31  Karl Berry  <karl@gnu.org>
126776         * config/depcomp: update from automake.
126778 2003-12-14  Karl Berry  <karl@gnu.org>
126780         * lib/config.charset: update from gettext-runtime.
126782 2003-12-03  Paul Eggert  <eggert@twinsun.com>
126784         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
126785         Bug reported by Alfred M. Szmidt.
126787 2003-12-03  Bruno Haible  <bruno@clisp.org>
126789         * m4/gettext.m4: Upgrade from gettext-0.13.
126790         * m4/po.m4: Upgrade from gettext-0.13.
126791         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
126792         * m4/intmax.m4: New file, from gettext-0.13.
126793         * m4/printf-posix.m4: New file, from gettext-0.13.
126795 2003-11-29  Karl Berry  <karl@gnu.org>
126797         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
126799 2003-11-25  Paul Eggert  <eggert@twinsun.com>
126800             Bruno Haible  <bruno@clisp.org>
126802         * lib/printf-parse.h: Don't include sys/types.h.
126803         (ARG_NONE): New macro.
126804         (char_directive): Change type of *arg_index fields to size_t.
126805         * lib/printf-parse.c: Don't include sys/types.h.
126806         (SSIZE_MAX): Remove macro.
126807         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
126808         Remove unnecessary overflow check.
126809         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
126810         fields.
126812 2003-11-25  Bruno Haible  <bruno@clisp.org>
126814         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
126816 2003-11-25  Bruno Haible  <bruno@clisp.org>
126818         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
126819         gt_TYPE_SSIZE_T.
126821 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126823         * modules/alloca: Remove dependency on xalloc.
126825 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126827         * lib/alloca.c: Remove dependency on xalloc module.
126828         (xalloc_die): Remove.
126829         (memory_full) [!defined emacs]: New macro.
126830         [!defined emacs]: Don't include xalloc.h.
126831         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
126832         address arithmetic overflows.  Change datatypes a bit to avoid
126833         unnecessary casts.
126835 2003-11-22  Jim Meyering  <jim@meyering.net>
126837         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
126838         s/size/size_t/.
126840 2003-11-21  Karl Berry  <karl@gnu.org>
126842         * config/config.{sub,guess}: update from config.
126844 2003-11-18  Karl Berry  <karl@gnu.org>
126846         * config/config.{sub,guess}: update from config.
126848         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
126850 2003-11-17  Paul Eggert  <eggert@twinsun.com>
126852         * README: Mention that S+T cannot overflow if S is the size of
126853         an existing object and T is sufficiently small.
126855 2003-11-17  Jim Meyering  <jim@meyering.net>
126857         On systems without utime and without a utimes function capable of
126858         dealing with a NULL struct utimbuf* argument, this utime replacement
126859         could -- in unusual circumstances -- leak a file descriptor.
126860         * lib/utime.c: Include <unistd.h> and <errno.h>.
126861         (utime_null): Be sure to close `fd' and to preserve errno.
126862         Reported by Geoff Collyer via Arnold Robbins.
126864 2003-11-17  Bruno Haible  <bruno@clisp.org>
126866         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
126867         (Depends-on): Add xsize.
126869 2003-11-17  Bruno Haible  <bruno@clisp.org>
126871         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
126873 2003-11-17  Bruno Haible  <bruno@clisp.org>
126875         * lib/vasnprintf.c (alloca): Remove fallback definition.
126876         (freea): Remove definition.
126877         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
126878         Reported by Paul Eggert.
126880 2003-11-16  Paul Eggert  <eggert@twinsun.com>
126881             Bruno Haible  <bruno@clisp.org>
126883         Protect against address arithmetic overflow.
126884         * lib/printf-args.h: Include stddef.h.
126885         (arguments): Change type of field 'count' to size_t.
126886         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
126887         'unsigned int' where appropriate.
126888         * lib/printf-parse.h: Include sys/types.h.
126889         (char_directive): Change type of *arg_index fields to ssize_t.
126890         (char_directives): Change type of fields 'count', max_*_length to
126891         size_t.
126892         * lib/printf-parse.c: Include sys/types.h and xsize.h.
126893         (SSIZE_MAX): Define fallback value.
126894         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
126895         instead of 'int' where appropriate. Check a_allocated, d_allocated
126896         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
126897         * lib/vasnprintf.c: Include xsize.h.
126898         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
126899         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
126900         overflow. Avoid wraparound when converting a width or precision from
126901         decimal to binary.
126903 2003-11-16  Bruno Haible  <bruno@clisp.org>
126905         Update from GNU gettext.
126906         * lib/printf-parse.c: Generalize to it can be compiled for wide
126907         strings.
126908         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
126909         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
126910         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
126911         SNPRINTF): New macros.
126912         Don't include <alloca.h> if the file is used inside libintl.
126913         (local_wcslen): New function, for Solaris 2.5.1.
126914         (VASNPRINTF): Use it instead of wcslen.
126916 2003-11-16  Bruno Haible  <bruno@clisp.org>
126918         * lib/xsize.h (xmax): New function.
126919         (xsum, xsum3, xsum4): Declare as "pure" functions.
126921 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126923         * modules/xalloc (Files): Undo latest change, since xalloc.h
126924         no longer needs SIZE_MAX or PTRDIFF_MAX.
126926 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126928         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
126929         gl_PTRDIFF_MAX.
126931 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126933         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
126934         "return", to pacify some unknown compiler.  Problem reported
126935         by Joerg Schilling.
126937 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126939         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
126940         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
126941         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
126942         heuristic is just as accurate as far as we know, and it removes a
126943         dependency on size_max.m4 and ptrdiff_max.m4.
126945 2003-11-11  Bruno Haible  <bruno@clisp.org>
126947         * modules/xsize (Files): Add m4/size_max.m4.
126948         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
126950 2003-11-11  Bruno Haible  <bruno@clisp.org>
126952         * m4/size_max.m4: New file.
126953         * m4/ptrdiff_max.m4: New file.
126954         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
126955         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
126956         (gl_XALLOC): Invoke it.
126958 2003-11-11  Bruno Haible  <bruno@clisp.org>
126960         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
126961         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
126962         defined.
126964 2003-11-10  Paul Eggert  <eggert@twinsun.com>
126966         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
126967         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
126968         rejected some allocations of exactly SIZE_MAX - 2 bytes.
126969         From Bruno Haible.
126970         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
126971         not (size_t) -1, since it's defined here.
126973 2003-11-09  Karl Berry  <karl@gnu.org>
126975         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
126977 2003-11-06  Paul Eggert  <eggert@twinsun.com>
126979         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
126980         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
126981         Reject sizes of exactly SIZE_MAX bytes.
126982         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
126983         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
126985 2003-11-05  Bruno Haible  <bruno@clisp.org>
126987         * lib/xsize.h: Include limits.h, to avoid a possible collision with
126988         SIZE_MAX defined in <limits.h> on Solaris.
126990 2003-11-04  Jim Meyering  <jim@meyering.net>
126992         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
126993         variable names, rather than @VAR@.
126994         * modules/poll: Likewise.
126996 2003-11-04  Bruno Haible  <bruno@clisp.org>
126998         * modules/xsize: New file.
126999         * modules/linebreak: Depend on xsize.
127000         * MODULES.html.sh (func_all_modules): Add xsize.
127002 2003-11-04  Bruno Haible  <bruno@clisp.org>
127004         * m4/xsize.m4: New file.
127006 2003-11-04  Bruno Haible  <bruno@clisp.org>
127008         * lib/xsize.h: New file.
127009         * lib/linebreak.c: Include xsize.h.
127010         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
127011         argument for overflow.
127012         Suggested by Paul Eggert.
127014 2003-11-03  Karl Berry  <karl@gnu.org>
127016         * config/config.{guess,sub}: update from config.
127018 2003-11-03  Jim Meyering  <jim@meyering.net>
127020         * modules/userspec (lib_SOURCES): Add userspec.h.
127021         (Include): Add "userspec.h".
127022         Improve description.
127024 2003-11-03  Jim Meyering  <jim@meyering.net>
127026         * lib/userspec.c: Include "userspec.h".
127027         * lib/userspec.h: New file.
127029 2003-11-03  Bruno Haible  <bruno@clisp.org>
127031         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
127033 2003-11-03  Bruno Haible  <bruno@clisp.org>
127035         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
127036         available, to avoid (extremely rare) race condition.
127037         Suggested by Paul Eggert.
127039 2003-11-02  Karl Berry  <karl@gnu.org>
127041         * config/srclist.txt (vasprintf.c): sync broken, sigh.
127043 2003-10-31  Paul Eggert  <eggert@twinsun.com>
127045         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
127046         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
127047         (read_filesystem_list): Set and use me_type_malloced.
127048         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
127049         whatever the type happens to be), for brevity and consistency.
127050         Check for size calculation overflow on Alphas running OSF/1.
127052 2003-10-31  Jim Meyering  <jim@meyering.net>
127054         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
127056         * lib/linebuffer.c: Include <string.h> for declaration of memset.
127058 2003-10-30  Paul Eggert  <eggert@twinsun.com>
127059             Bruno Haible  <bruno@clisp.org>
127061         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
127062         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
127064 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
127066         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
127067         netbsd*-gnu*.  Suggested by Robert Millan.
127069 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127071         * modules/group-member: Depend on stdbool.
127073 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127075         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
127077 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127079         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
127080         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
127081         after the 'gnu' in these cases.  This fixes some bugs in the
127082         previous change, and is based on suggestions by Robert Millan.
127084 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127086         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
127087         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
127088         no longer needed.
127089         * lib/quotearg.c (quotearg_n_options): Use it.
127090         * lib/group-member.c: Include <stdbool.h>.
127091         (free_group_info): Arg is now const *; don't free arg.
127092         (get_group_info): Now returns bool and accepts struct group_info *,
127093         rather than returning a malloc'ed struct group_info *.
127094         All uses changed.  Check for overflow in internal size calculation.
127096         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
127097         rather than xmalloc/xrealloc.
127098         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
127099         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
127100         conformance bug: the old code used a pointer after freeing the
127101         storage that it addressed.
127102         * lib/hash.c (hash_initialize): Simplify the code by using
127103         xalloc_oversized rather than doing it by hand.
127104         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
127105         the buffer preserved.  Use free and xmalloc instead.
127106         * lib/quotearg.c (quotearg_n_options): Likewise.
127107         Use a simpler test for size overflow.  Don't use xalloc_oversized
127108         because unsigned int might be wider than size_t (!); this suggests
127109         that we should switch from unsigned int to size_t for slot numbers.
127111 2003-10-28  Paul Eggert  <eggert@twinsun.com>
127113         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
127114         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
127115         NetBSD kernels.  Requested by Richard Stallman.
127117 2003-10-27  Paul Eggert  <eggert@twinsun.com>
127119         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
127120         to allocate the returned structure.  Do not allocate a subarray,
127121         as x2nrealloc will do that.
127122         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
127123         instead of xnrealloc.
127124         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
127126 2003-10-27  Bruno Haible  <bruno@clisp.org>
127128         * lib/stdbool_.h: Better support for BeOS.
127130 2003-10-26  Paul Eggert  <eggert@twinsun.com>
127132         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
127133         now uses inline.
127135 2003-10-26  Paul Eggert  <eggert@twinsun.com>
127137         * lib/xalloc.h (xalloc_oversized): New static inline function, for
127138         callers that want to do their own size-overflow checking.  Include
127139         <stdbool.h>, since xalloc_oversized returns bool.
127140         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
127141         to use xalloc_oversized.
127143         Add two functions x2realloc, x2nrealloc, for programs that grow
127144         arrays dynamically by doubling their sizes.
127145         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
127146         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
127147         New functions.
127149         Port to C99 semantics for 'inline' of external functions.
127150         Bug reported by Bruno Haible.
127151         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
127152         with the old contents of xnmalloc.
127153         (xnmalloc, xmalloc): Use it.
127154         (xnrealloc_inline): New static inline function,
127155         with the old contents of xnrealloc.
127156         (xnrealloc, xrealloc): Use it.
127158         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
127159         that.
127161 2003-10-26  Karl Berry  <karl@gnu.org>
127163         * config/srclist.txt (COPYING.DOC): no longer available from
127164         /gd/gnuorg; don't know where the ultimate source is.
127166 2003-10-25  Paul Eggert  <eggert@twinsun.com>
127168         Fix several address-calculation bugs in the hash modules,
127169         plus some minor code cleanup.
127171         * lib/hash.h: Include <stdbool.h>, for bool.
127172         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
127173         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
127174         hash_get_n_entries, hash_get_max_bucket_length,
127175         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
127176         hash_rehash): Use size_t rather than unsigned.
127177         * lib/hash.c (struct hash_table, hash_get_n_buckets,
127178         hash_get_n_buckets_used, hash_get_n_entries,
127179         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
127180         hash_get_entries, hash_do_for_each, hash_string, is_prime,
127181         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
127182         Likewise.
127183         (SIZE_MAX): Define if not defined.
127184         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
127185         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
127186         hash_print):
127187         Use const * when possible.
127188         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
127189         (check_tuning): Fix bug: if tuning parameters were very close to
127190         0 or 1, rounding errors could have caused subscript violations.
127191         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
127192         (hash_initialize): Add 'fail:' label
127193         to free table and return NULL, and use it to simplify code.
127194         Use calloc rather than clearing the storage ourself.
127195         (hash_initialize, hash_rehash): Check for arithmetic overflow in
127196         buffer size calculations.
127197         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
127198         Include <stddef.h>, for size_t.
127199         * lib/hash-pjw.c (hash_pjw): Likewise.
127200         Switch to method described by Bruno Haible.
127201         Include <limits.h>, for CHAR_BIT.
127202         (SIZE_BITS): New macro.
127204 2003-10-23  Paul Eggert  <eggert@twinsun.com>
127206         * m4/getline.m4 (AM_FUNC_GETLINE):
127207         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
127208         hosts.  Problem reported by Derek Robert Price in
127209         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
127210         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
127211         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
127213 2003-10-21  Paul Eggert  <eggert@twinsun.com>
127215         * lib/getndelim2.c (getndelim2): When size calculation overflows,
127216         ceiling the allocation at NMAX bytes rather than silently
127217         discarding input bytes before NMAX is reached.  This makes
127218         a difference only if NMAX exceeds SIZE_MAX / 2.
127220         * lib/obstack.c: Merge from glibc.
127221         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
127222         Add libc_hidden_def (_obstack_newchunk).
127223         (_obstack_free) [! defined _LIBC]: Remove.
127224         [defined _LIBC]: Make a strong alias from obstack_free, rather than
127225         a clone of the function body.
127226         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
127227         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
127229         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
127230         glibc.
127231         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
127232         arg to memcpy.
127234         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
127235         (obstack_ptr_grow_fast, obstack_int_grow_fast):
127236         Don't use lvalue casts, as GCC plans to remove support for them
127237         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
127238         was also present in the non-GCC version, indicating that this
127239         code had always been buggy and had never been widely used.
127240         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
127241         Use the fast variant of each macro, rather than copying the
127242         definiens of the fast variant; that way, we'll be more likely to
127243         catch future bugs in the fast variants.
127245 2003-10-20  Bruno Haible  <bruno@clisp.org>
127247         * modules/wait-process: New file.
127248         * MODULES.html.sh (func_all_modules): Add wait-process.
127250 2003-10-20  Bruno Haible  <bruno@clisp.org>
127252         * m4/wait-process.m4: New file.
127254 2003-10-20  Bruno Haible  <bruno@clisp.org>
127256         * lib/wait-process.h: New file, from GNU gettext.
127257         * lib/wait-process.c: New file, from GNU gettext.
127259 2003-10-19  Jim Meyering  <jim@meyering.net>
127261         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
127262         HPUX 10.20.
127264 2003-10-18  Karl Berry  <karl@gnu.org>
127266         * config/config.guess: update from config.
127268 2003-10-16  Paul Eggert  <eggert@twinsun.com>
127270         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
127271         (getgroups): First arg is int, not size_t.
127272         Don't let 'free' mangle errno.
127274 2003-10-16  Paul Eggert  <eggert@twinsun.com>
127276         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
127278 2003-10-16  Karl Berry  <karl@gnu.org>
127280         * config/config.{guess,sub}: update from config.
127282 2003-10-16  Jim Meyering  <jim@meyering.net>
127284         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
127285         memcpy.
127287 2003-10-15  Paul Eggert  <eggert@twinsun.com>
127289         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
127290         (SIZE_MAX): Remove.
127291         (new_exclude, add_exclude_file): Initial size no longer needs to
127292         be a power of 2.
127293         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
127294         our own address arithmetic overflow checking.
127296         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
127297         (fnmatch): Do not alloca more than 2000 wide characters;
127298         instead, use malloc for large buffers.
127299         Check for address arithmetic overflow, and return -1
127300         with errno set to ENOMEM in that case.
127301         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
127302         (NEW_PATTERN): Do not alloca more than 8000 bytes;
127303         instead, return -1.  Check for address arithmetic overflow.
127305 2003-10-14  Paul Eggert  <eggert@twinsun.com>
127307         Handle invalid suffixes and overflow independently, so that
127308         callers can treat them independently as needed.  Fix some bugs in
127309         suffix handling, e.g., "100k@" was not diagnosed as an invalid
127310         suffix for a human-readable blocksize.  The major caller-visible
127311         change is the addition of a new
127312         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
127313         that both overflow and suffix chars were found.
127315         * lib/human.c (humblock): Don't check separately for invalid suffix
127316         char; that is xstrtoumax's job (now that its bug is fixed).
127317         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
127318         INTMAX_MAX]: New macros.
127319         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
127320         TYPE_MAXIMUM): New macros.
127321         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
127322         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
127323         if overflow occurs, as it's what __strtol does and it's more useful
127324         in practice.
127325         (__xstrtol): If __strtol reports some error other than ERANGE,
127326         reflect it to the caller as LONGINT_INVALID.  If it reports
127327         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
127328         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
127329         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
127330         value.
127331         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
127332         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
127333         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
127334         [defined UINTMAX_MAX]: New macros.
127336 2003-10-14  Bruno Haible  <bruno@clisp.org>
127338         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
127340 2003-10-14  Bruno Haible  <bruno@clisp.org>
127342         * m4/sig_atomic_t: New file, from GNU gettext.
127343         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
127345 2003-10-14  Bruno Haible  <bruno@clisp.org>
127347         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
127348         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
127349         Also use volatile where needed.
127351 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127353         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
127354         Change maintainer from Bruno Haible to 'all'.
127356 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127358         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
127360 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127362         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
127363         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
127364         and define in terms of the other primitives.
127365         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
127366         (SIZE_MAX): Define if not already defined.
127367         (array_size_overflow): New function.
127368         (xalloc_die): Abort instead of exiting if 'error' returns.
127369         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
127370         (xmalloc, xrealloc): Use them.
127371         (xcalloc): Check for address arithmetic overflow.
127372         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
127373         a bit faster than strcpy.
127375 2003-10-10  Simon Josefsson  <jas@extundo.com>
127377         * modules/argp (Depends-on): Add restrict and strcase.
127379 2003-10-10  Simon Josefsson  <jas@extundo.com>
127381         * m4/argp.m4: Add AC_C_INLINE.
127383 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127385         Merge getpass from libc, plus a few fixes.
127387         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
127388         Include <stdbool.h>.
127389         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
127390         __fsetlocking to empty.
127391         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
127392         do include <bits/libc-lock.h>.
127393         Do not include <fcntl.h>; not needed.
127394         [_LIBC]: Include <wchar.h>.
127395         (NOTCANCEL_MODE): New macro.
127396         (flockfile, funlockfile) [_LIBC]: New macros.
127397         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
127398         [!_LIBC]: New macros.
127399         (call_fclose): New function.
127400         (getpass): Use it.  Save tty stream separately; this simplifies the
127401         code and makes it more reliable if stdin happens to equal stdout.
127402         Invoke __fsetlocking on tty.
127403         Handle thread cancellation if needed.
127404         Namespace cleanup (use __tcgetattr, __getline).
127405         Use bool for Booleans.
127406         [USE_IN_LIBIO]: Handle wide streams.
127407         [!_LIBC]: Unconditionally do the fseek, since we don't know what
127408         stream might go where.
127410         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
127411         doesn't have to include <stdio.h> before us.
127412         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
127413         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
127414         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
127415         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
127416         if not declared, so that we can use getpass.c code from libc without
127417         rewriting it.
127418         (flockfile, ftrylockfile, funlockfile): New macros.
127420 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127422         * modules/getpass: Depend on stdbool.
127424 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127426         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
127428 2003-10-07  Karl Berry  <karl@gnu.org>
127430         * config/config.{guess,sub}: update from config.
127432 2003-10-06  Jim Meyering  <jim@meyering.net>
127433             Bruno Haible  <bruno@clisp.org>
127435         This lets translators provide better translations for the
127436         "Written by ..." part of --version output.
127437         * lib/version-etc.h: Include stdarg.h.
127438         (version_etc_copyright): Declare as readonly.
127439         (version_etc): Make this function variadic with a NULL-terminated list
127440         of author name strings.
127441         (version_etc_va): New declaration.
127442         * lib/version-etc.c: Include stdarg.h, stdlib.h.
127443         (version_etc_copyright): Declare as readonly.
127444         (version_etc_va): New function. Provide a different translatable string
127445         for each possible number of authors < 10. Abbreviate when there are 10
127446         authors or more.
127447         (version_etc): Make this function variadic. Call version_etc_va.
127448         Suggestion from Gary V. Vaughan.
127450         * lib/long-options.h (parse_long_options): Change prototype: the
127451         authors string is moved to the end and becomes variadic.
127452         * lib/long-options.c: Include stdarg.h.
127453         (parse_long_options): Make this function variadic, too.
127454         Call version_etc_va, not version_etc.
127456 2003-10-06  Bruno Haible  <bruno@clisp.org>
127458         * modules/version-etc-2: Remove file.
127459         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
127461 2003-10-06  Bruno Haible  <bruno@clisp.org>
127463         * modules/fatal-signal: New file.
127464         * MODULES.html.sh (func_all_modules): Add fatal-signal.
127466 2003-10-06  Bruno Haible  <bruno@clisp.org>
127468         * m4/fatal-signal.m4: New file.
127469         * m4/signalblocking.m4: New file, from GNU gettext.
127471 2003-10-06  Bruno Haible  <bruno@clisp.org>
127473         * lib/version-etc-2.h: Remove file.
127474         * lib/version-etc-2.c: Remove file.
127476 2003-10-06  Bruno Haible  <bruno@clisp.org>
127478         * lib/fatal-signal.h: New file, from GNU gettext.
127479         * lib/fatal-signal.c: New file, from GNU gettext.
127481 2003-10-05  Paul Eggert  <eggert@twinsun.com>
127483         * README: Rework advice for preventing empty .o files.
127484         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
127485         not <sys/types.h>.
127487 2003-10-04  Karl Berry  <karl@gnu.org>
127489         * lib/argp*: update from libc.
127491 2003-10-04  Karl Berry  <karl@gnu.org>
127493         * config/config.{guess,sub}: update from config.
127495 2003-10-02  Bruno Haible  <bruno@clisp.org>
127497         * modules/lchown (Include): Add lchown.h.
127498         * modules/time_r (Include): Use "..." syntax.
127499         * modules/xgetdomainname (Include): Add xgetdomainname.h.
127501 2003-10-01  Simon Josefsson  <jas@extundo.com>
127503         * MODULES.html.sh (func_all_modules): Move gethostname from section
127504         'based on' to section 'lacking' POSIX:2001.
127506 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
127508         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
127509         to output mode on the same stream.
127511 2003-09-29  Paul Eggert  <eggert@twinsun.com>
127513         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
127514         Fix arg typo in previous patch.
127516 2003-09-28  Jim Meyering  <jim@meyering.net>
127518         * lib/error.c: Correct cpp indentation.
127520 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127522         * modules/free: New file.
127524 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127526         * m4/free.m4: New file.
127528 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127530         * lib/minmax.h (MIN, MAX)
127531         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
127532         Omit the special code that used __typeof__, since we worry that
127533         it could be more trouble than it's worth.  See:
127534         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
127535         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
127537         * lib/free.c: New file.
127539 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
127541         Trivial fixes to Makefile.am parts of module listings.
127542         * modules/strstr: Append strstr.h to lib_SOURCES.
127543         * modules/strcase: Likewise, for strcase.h.
127545 2003-09-27  Karl Berry  <karl@gnu.org>
127547         * config/mkinstalldirs: update from automake.
127549 2003-09-26  Paul Eggert  <eggert@twinsun.com>
127551         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
127552         (error_tail): Do not loop, reallocating temporary buffer, since
127553         the output cannot contain more wide characters than the input
127554         contains bytes, the size must be big enough already.  This avoids
127555         one potential size overflow calculation.  Check for size overflow
127556         when calculating temporary buffer size.  Free temporary buffer
127557         when done, if it was allocated with malloc; this plugs a memory
127558         leak.  Remove casts from void * to pointers, that are no longer
127559         needed now that we're assuming C89 or better.
127561         Merge error changes from glibc.
127563         * lib/error.c, error.h: Update copyright notice header to match glibc.
127564         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
127565         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
127566         Disable cancellation while printing error.
127567         * lib/error.h: Prepend __ to parameter names.
127569 2003-09-26  Jim Meyering  <jim@meyering.net>
127571         * lib/error.c (error_tail): Move some declarations
127572         into inner scope where the local variables are used.
127574 2003-09-26  Bruno Haible  <bruno@clisp.org>
127576         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
127577         stpncpy().
127578         Don't define stpncpy through config.h; it's now done through stpncpy.h.
127580 2003-09-26  Bruno Haible  <bruno@clisp.org>
127582         * lib/stpncpy.h (gnu_stpncpy): New declaration.
127583         (stpncpy): Define as alias for gnu_stpncpy.
127584         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
127586 2003-09-25  Simon Josefsson  <jas@extundo.com>
127588         * lib/xgetdomainname.h: New file.
127589         * lib/xgetdomainname.c: New file.
127591 2003-09-25  Simon Josefsson  <jas@extundo.com>
127592             Bruno Haible  <bruno@clisp.org>
127594         * modules/getdomainname: New file.
127595         * modules/xgetdomainname: New file.
127596         * MODULES.html.sh (func_all_modules): Add getdomainname,
127597         xgetdomainname.
127599 2003-09-25  Simon Josefsson  <jas@extundo.com>
127600             Bruno Haible  <bruno@clisp.org>
127602         * m4/getdomainname.m4: New file.
127604 2003-09-25  Simon Josefsson  <jas@extundo.com>
127605             Bruno Haible  <bruno@clisp.org>
127607         * lib/getdomainname.h: New file.
127608         * lib/getdomainname.c: New file.
127610 2003-09-25  Karl Berry  <karl@gnu.org>
127612         * lib/argp-fmtstream.c, argp-help.c: update from libc.
127614 2003-09-25  Karl Berry  <karl@gnu.org>
127616         * config/install-sh: update from automake.
127618 2003-09-25  Bruno Haible  <bruno@clisp.org>
127620         * modules/version-etc-2: New file, from modules/version-etc with
127621         modifications.
127622         * MODULES.html.sh (func_all_modules): Add version-etc-2.
127624 2003-09-25  Bruno Haible  <bruno@clisp.org>
127626         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
127627         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
127629 2003-09-24  Simon Josefsson  <jas@extundo.com>
127631         * modules/xgethostname: Add xgethostname.h.
127633 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127635         * lib/linebuffer.c (freebuffer): Don't free the argument, just
127636         the buffer associated with the argument.  Bug reported by
127637         Simon Josefsson.
127639 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127641         * README: Document assumptions that 'int' is at least 32 bits
127642         wide, that integer arithmetic is 2's complement without overflow,
127643         that there are no holes in integer values, that adding sizes of
127644         two nonoverlapping objects can't overflow, and that all-bits-zero
127645         yields scalar zero.  Fix spelling and capitalization typos.
127647 2003-09-19  Karl Berry  <karl@gnu.org>
127649         * lib/argp.h: update from libc.
127651 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127653         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
127654         to avoid spurious warnings like "AC_RUN_IFELSE was called before
127655         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
127657 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127659         * gnulib-tool: Use "test -h", not "test -L", for portability
127660         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
127661         (tags_regexp): Remove, since \| doesn't conform to POSIX.
127662         (sed_extract_prog): Issue s commands one-by-one, rather than
127663         using \| in one s command.
127665 2003-09-16  Paul Eggert  <eggert@twinsun.com>
127667         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
127668         input error, instead of returning NULL the next time we are called
127669         (and therefore losing track of errno).
127671 2003-09-16  Bruno Haible  <bruno@clisp.org>
127673         * gnulib-tool (func_create_testdir): Warn about duplicated
127674         dependencies.
127676 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127678         * modules/argmatch, modules/fatal, modules/obstack,
127679         modules/xalloc, modules/xgethostname: Sort dependencies by
127680         importance, not alphabetically.
127682 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127684         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
127685         fails, so that the caller gets the proper errno.
127687         * lib/readutmp.c (read_utmp): Likewise.
127688         Check for fstat error.  Close stream and free storage
127689         when failing.
127691 2003-09-14  Karl Berry  <karl@gnu.org>
127693         * config/srclist.txt (strdup.c): disable for c89 changes.
127695 2003-09-14  Jim Meyering  <jim@meyering.net>
127697         * lib/getloadavg.c: Correct cpp indentation.
127698         * lib/strdup.c: Likewise.
127699         * lib/vasnprintf.c: Likewise.
127701 2003-09-14  Bruno Haible  <bruno@clisp.org>
127703         * modules/fwriteerror: New file.
127704         * MODULES.html.sh (func_all_modules): Add fwriteerror.
127706 2003-09-14  Bruno Haible  <bruno@clisp.org>
127708         * lib/fwriteerror.h: New file.
127709         * lib/fwriteerror.c: New file.
127711 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127713         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
127714         modules/xgethostname, modules/xalloc: Depend on exit.
127716 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127718         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
127720         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
127721         and AC_MINIX, too, so that their extensions are available.
127723         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
127724         This macro has been superseded by gl_BACKUPFILE.
127726         More patches to assume C89 or better.
127728         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
127730         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
127731         unconditionally.
127732         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
127733         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
127734         Include <string.h>, <stdlib.h> unconditionally.
127735         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
127736         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
127737         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
127738         headers or for string.h.
127739         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
127740         or strtoul.
127742         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
127743         headers.
127744         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
127745         * m4/userspec.m4 (gl_USERSPEC): Likewise.
127746         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
127747         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
127748         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
127749         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
127750         memcpy, memset.
127751         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
127752         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
127753         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
127754         strtol.
127755         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
127756         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
127757         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
127758         strtoul.
127760 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127762         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
127763         * lib/obstack.c [!defined _LIBC]: Likewise.
127764         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
127765         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
127766         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
127768         More changes to assume C89 or better.
127770         * lib/error.c (error_tail): Assume vprintf.
127772         * lib/argmatch.c (getenv): Remove decl.
127773         * lib/progreloc.c (get_full_program_name): Define via prototype.
127774         * lib/setenv.c (clearenv): Likewise.
127775         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
127776         needed.
127777         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
127778         (malloc, memcpy): Remove decls.
127779         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
127780         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
127781         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127782         (memcpy): Remove macro.
127783         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
127784         (__P): Remove.  All uses removed.
127785         (PTR): Remove.  All uses changed to void *.
127786         (CHAR_BIT, NULL): Remove.
127787         (spaces, zeros, memset_space, memset_zero)
127788         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
127789         Remove.
127790         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
127791         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
127792         Define with prototype.
127793         Remove now-unnecessary prototype decl.
127794         (extra_args_spec): Assume ANSI C.  All uses changed.
127795         (extra_args_spec_iso): Remove.
127796         (my_strftime, emacs_strftimeu): Define via prototype.
127797         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
127798         unconditionally.
127799         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
127800         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
127801         (strtoul, strtol): Remove decls.
127802         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
127803         LONG_MAX): Remove.
127804         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127805         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
127806         (LOCALE_PARAM_PROTO): New macro.
127807         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
127808         (INTERNAL (strtol), strtol): Define with a prototype.
127809         (PARAMS): Remove.  All uses removed.
127810         * lib/tempname.c: Include <string.h> unconditionally.
127811         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
127812         * lib/xgethostname.c (main): Define with a prototype.
127813         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
127814         Include <stdlib.h> unconditionally.
127815         (calloc, malloc, realloc, free): Remove decls.
127816         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
127817         Include <stdlib.h> unconditionally.  Sort include file names.
127818         (strtod): Remove.
127819         (xstrtod): Define with a prototype.
127820         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
127821         (strtol, strtoul): Remove decls.
127823 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127825         More patches to assume C89 or better.
127826         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
127827         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
127828         string.h, memchr, STDC_HEADERS.
127830 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127832         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
127833         Include <stdlib.h>, <string.h> unconditionally.
127834         Remove now-unnecessary cast to char *.
127835         * lib/strnlen.c: Include <string.h> unconditionally.
127836         * lib/yesno.c (yesno): Define with a prototype.
127838 2003-09-11  Bruno Haible  <bruno@clisp.org>
127840         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
127842 2003-09-10  Jim Meyering  <jim@meyering.net>
127844         * lib/error.c: Correct indentation of cpp directives.
127846 2003-09-10  Bruno Haible  <bruno@clisp.org>
127848         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
127849         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
127850         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
127851         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
127852         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
127853         <stdlib.h> and <string.h> checks.
127854         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
127855         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
127857 2003-09-10  Bruno Haible  <bruno@clisp.org>
127859         * lib/strcspn.c: Include <string.h> unconditionally.
127860         * lib/strpbrk.c: Include <string.h> unconditionally.
127861         * lib/strstr.c: Include <string.h> unconditionally.
127862         * lib/unicodeio.c: Include <string.h> unconditionally.
127863         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
127864         * lib/unsetenv.c: Likewise.
127865         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
127866         * lib/yesno.c: Include <stdlib.h> unconditionally.
127867         (rpmatch): Add prototype.
127869 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127871         More patches to assume C89 or better.
127872         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
127873         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
127874         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
127875         or for string.h.
127876         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
127877         stdlib.h.
127878         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
127879         C headers.
127880         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
127881         string.h.
127882         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
127883         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
127884         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
127885         or for string.h.
127886         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
127887         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
127888         C headers.
127889         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
127890         memcpy.
127891         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
127892         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
127893         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
127894         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
127895         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
127896         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
127897         string.h, free.
127898         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
127899         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
127900         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
127901         C headers, or for string.h.
127902         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
127903         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
127904         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
127905         headers, memory.h, stdlib.h, string.h, strings.h.
127906         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
127907         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
127908         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
127909         strchr.
127910         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
127911         headers, memory.h, string.h.
127912         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
127913         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
127914         free.
127915         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
127916         headers.
127917         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
127918         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
127919         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
127920         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
127921         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
127923 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127925         More K&R removal.
127927         * lib/acosl.c (main): Use a prototype.
127928         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
127929         tanl.c: Likewise.
127931         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
127933         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
127934         (getopt, etopt_long, getopt_long_only, _getopt_internal)
127935         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
127936         with a prototype.
127937         * lib/getopt.c (const): Remove macro.
127938         Include <string.h> unconditionally.
127939         (my_index): Remove; all uses changed to strchr.
127940         (strlen): Remove decl.
127941         (exchange): Remove forward decl; no longer needed.
127942         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
127943         Define with prototype.
127944         * lib/getopt1.c (const): Remove macro.
127945         (getopt_long, getopt_long_only, main): Define with prototype.
127947         * lib/getugroups.c: Include <string.h> unconditionally.
127949         * lib/getusershell.c: Include <stdlib.h> unconditionally.
127950         (getusershell, setusershell, endusershell, readname, main):
127951         Define with prototypes.
127953         * lib/group-member.c: Include group-member.h first.
127954         Include <stdlib.h> unconditionally.
127956         * lib/hard-locale.c: Include hard-locale.h first.
127957         Include <stdlib.h>, <string.h> unconditionally.
127959         * lib/hash.c (free, malloc): Remove decls.
127960         Include <stdlib.h> unconditionally.
127962         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
127963         (getenv): Do not declare.
127965         * lib/idcache.c: Include <string.h> unconditionally.
127967         * lib/long-options.c: Include long-options.h first, to test interface.
127968         Include <stdlib.h> unconditionally.
127970         * lib/makepath.c: Include makepath.h first, to test interface.
127971         Include <stdlib.h> and <string.h> unconditionally.
127973         * lib/linebuffer.c: Include <stdlib.h>.
127974         (free): Remove decl.
127976         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
127977         stddef.h. rpl_malloc returns void *, not char *.
127978         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
127979         prototype.
127981         * lib/md5.h: Include <limits.h> unconditionally.
127982         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
127983         (__P): Remove; all uses removed.
127984         * lib/md5.c: Include "md5.h" first.
127985         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
127986         md5_buffer, md5_process_bytes, md5_process_block):
127987         Define with prototypes.
127988         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
127989         * lib/sha.c: Include "sha.h" first.
127990         Include <stdlib.h>, <string.h> unconditionally.
127992         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
127993         * lib/memcmp.c (__ptr_t): Likewise.
127994         * lib/memrchr.c (__ptr_t): Likewise.
127995         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
127996         Include <string.h> unconditionally.
127997         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
127998         * lib/memchr.c: Include <stdlib.h> unconditionally.
127999         * lib/memchr.c (LONG_MAX): Remove.
128000         * lib/memrchr.c (LONG_MAX): Likewise.
128001         * lib/memchr.c (__memchr): Define via a prototype.
128002         * lib/memrchr.c (__memrchr): Likewise.
128003         * lib/memcmp.c (__P): Remove, and remove all uses.
128004         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
128005         Remove forward decls; no longer needed.
128006         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
128007         Use types required by C89 in prototype.
128009         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
128010         * lib/savedir.c: Likewise.
128011         * lib/mkdir.c (free): Remove decl.
128012         * lib/rmdir.c (rmdir): Define with a prototype.
128013         * lib/savedir.c: Include savedir.h first, to test interface.
128015         * lib/mktime.c (STDC_HEADERS): Remove.
128016         Include <stdlib.h>, <string.h> unconditionally.
128018         * lib/modechange.c: Include <stdlib.h> unconditionally.
128019         (malloc): Remove decl.
128021         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
128022         (free): Remove decl.
128024         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
128025         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
128026         (This type really should be intptr_t, but that's a C99ism.)
128027         (_obstack_memcpy): Remove: all uses changed to memcpy.
128028         Include <string.h> unconditionally.
128029         (struct obstack): Assume __STDC__ for types of members
128030         chunkfun, freefun, extra_arg.
128031         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
128032         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
128033         obstack_begin, obstack_specify_allocation,
128034         obstack_specify_allocation_with_arg, obstack_chunkfun,
128035         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
128036         Remove unprototyped decls and the macros that use them.
128037         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
128038         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
128039         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
128040         (defined __STDC__ && __STDC__)]:
128041         Remove nonprototyped code.
128042         Include <stdlib.h> unconditionally.
128043         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
128044         _obstack_allocated_p, _obstack_free, obstack_free,
128045         _obstack_memory_used, print_and_abort):
128046         Define using prototypes.
128047         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
128048         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
128049         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
128050         obstack_next_free, obstack_object_size, obstack_room) [0]:
128051         Remove unused, unprototyped code.
128053         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
128055         * lib/physmem.c (physmem_total, physmem_available, main): Define
128056         with prototypes.
128058         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
128059         (main): Define with a prototype.
128061         * lib/posixver.c (getenv): Remove decl.
128063         * lib/putenv.c (malloc): Returns void *, not char *.
128064         Include <string.h> unconditionally.
128065         (strchr, memcpy, NULL): Do not define.
128067         * lib/readtokens.c: Include readtokens.h first, to test interface.
128068         Include <stdlib.h>, <string.h> unconditionally.
128069         (init_tokenbuffer): Define with a prototype.
128071         * lib/regex.c (PARAMS): Remove.  All uses removed.
128072         All uses of _RE_ARGS removed, too.
128073         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
128074         unconditionally.
128075         (bzero): Assume memset exists.
128076         (memcmp, memcpy, NULL): Remove.
128077         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
128078         char, or assignments to local vars of type signed char.
128079         (init_syntax_once, PREFIX(extract_number_and_incr),
128080         PREFIX(print_partial_compiled_pattern),
128081         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
128082         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
128083         PREFIX(regex_grow_registers), PREFIX(regex_compile),
128084         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
128085         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
128086         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
128087         wcs_compile_range, byte_compile_range, truncate_wchar,
128088         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
128089         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
128090         count_mbs_length, wcs_re_match_2_internal,
128091         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
128092         PREFIX(alt_match_null_string_p),
128093         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
128094         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
128095         regfree, PREFIX(extract_number)): Define with prototype.  Remove
128096         now-unnecessary declaration, if any.
128097         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
128098         regcomp, regexec):
128099         Remove now-unnecessary casts among pointer types.
128100         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
128102         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
128103         (free): Remove decl.
128105         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
128107         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
128108         (free): Remove decl.
128110         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
128111         * lib/xgetcwd.c: Likewise.
128113         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
128114         (free): Remove decl.
128116         * lib/strchrnul.c (strchrnul): Define with a prototype.
128117         Fix bug: c_in was not converted to char before searching.
128119         The following changes are not K&R related:
128121         * lib/group-member.h: Include <sys/types.h>, so that this file is
128122         self-contained.
128123         * lib/makepath.h: Likewise.
128125         * lib/getusershell.c (readname, default_index, line_size, readname):
128126         Use size_t, not int, for sizes.
128127         (readname): If the size overflows, report an error instead of
128128         looping forever.
128130 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128132         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
128133         libc.
128135 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128137         * README: New section: portability guidelines.
128139 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
128141         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
128142         C89 spec.
128144 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
128146         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
128148 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128150         Assume C89 or better; remove K&R cruft.
128151         A few of these changes were first proposed by Derek Robert Price
128152         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
128154         * lib/addext.c: Include <string.h> unconditionally.
128155         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
128156         Don't declare getenv or malloc.
128158         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
128159         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
128160         (NULL): Remove.
128161         (find_stack_direction, alloca): Use prototypes.
128163         * lib/atexit.c (atexit): Define using a prototype.
128165         * lib/basename.c, dirname.c, stripslash.c:
128166         Include <string.h> unconditionally.
128168         * lib/bcopy.c: Include <stddef.h>.
128169         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
128171         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
128173         * lib/error.h (error, error_at_line, error_print_progname)
128174         [! (defined (__STDC__) && __STDC__)]: Remove decls.
128175         * lib/error.c: Include error.h first, to check interface.
128176         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
128177         (VA_START): Remove; all uses changeed to va_start.
128178         (exit, strerror): Remove decls.
128179         (error_print_progname): Prototype uncondionally.
128180         Don't include <errno.h>; no longer needed.
128181         (private_strerror): Remove.
128182         (error_tail): Always define.
128183         (error, error_at_line): Assume C89 or better; always use prototypes.
128184         * lib/fatal.c: Include "fatal.h" first, to test interface.
128185         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
128186         (VA_START): Remove; all uses changed to va_start.
128187         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
128188         this case.
128189         (exit): Remove decl.
128190         (fatal): Prototype unconditionally.  Assume va_start works.
128191         Abort at end, to pacify gcc.
128193         * lib/euidaccess.c (main): Define with a prototype.
128195         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
128197         * lib/exitfail.c: Include <stdlib.h> unconditionally.
128199         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
128200         prototypes.
128201         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
128202         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
128203         (getenv): Remove decl.
128204         (fnmatch): Define using a prototype.
128205         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
128206         (FCT): Define using a prototype.
128208         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
128210         * lib/gethostname.c: Include <stddef.h>.
128211         (gethostname): Define with prototype.  Length is size_t, not int.
128213 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128215         Assume C89 or better; remove K&R cruft.
128216         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
128217         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
128218         string.h, getenv, malloc.
128219         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
128220         headers.
128221         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
128222         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
128223         do not check for strerror.
128224         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
128225         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
128226         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
128227         do not check for doprnt or vprintf.
128228         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
128229         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
128231 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128233         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
128234         getversion.c should have been removed then, but was accidentally
128235         preserved.
128237         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
128238         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
128240 2003-09-08  Karl Berry  <karl@gnu.org>
128242         * config/config.sub, config.guess, srclistvars.sh: update from savannah
128243                 config, forget about prep.
128245         * config/depcomp, missing: update from automake.
128247 2003-09-07  Paul Eggert  <eggert@twinsun.com>
128249         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
128250         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
128252 2003-09-07  Paul Eggert  <eggert@twinsun.com>
128254         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
128255         copy_tm_result.  Bug reported by Simon Josefsson in
128256         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
128258 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128260         * m4/time_r.m4: New file.
128261         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
128262         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
128263         is. Check for timegm declaration.
128264         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
128265         Do not check for gmtime_r.
128266         Replace mktime if __mktime_internal does not exist and if mktime
128267         hasn't been replaced already.
128269 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128271         * lib/time_r.c, lib/time_r.h: New files.
128273         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
128274         __localtime_r.
128275         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
128276         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
128278         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
128279         __gmtime_r.
128280         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
128281         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
128282         Include <time_r.h>.
128284         * lib/timegm.c: Switch to glibc implementation, with the following
128285         changes:
128286         [defined HAVE_CONFIG_H]: Include <config.h>.
128287         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
128288         (__mktime_internal) [!defined _LIBC]: New decl.
128289         (__gmtime_r) [!defined _LIBC]: New macro and function.
128290         (timegm): Use a prototype, since gnulib assumes C89.
128291         Do not bother declaring tmp to be const, as it's not really usefu.
128292         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
128293         (timegm): Declare only if HAVE_DECL_TIMEGM.
128295 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128297         * MODULES.html.sh (func_all_modules): Add time_r.
128298         * modules/time_r: New file.
128299         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
128300         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
128302 2003-09-03  Paul Eggert  <eggert@twinsun.com>
128304         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
128305         Bug reported by Lute Kamstra in
128306         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
128308         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
128309         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
128310         course with correspondingly smaller numbers for tomorrow and
128311         yesterday.  From Tadayoshi Funaba.  Originally installed into
128312         sh-utils on 1999-08-07, but the patch got lost (I guess during the
128313         coreutils merge?).
128315 2003-08-31  Simon Josefsson  <jas@extundo.com>
128317         * modules/timegm: New file.
128318         * MODULES.html.sh (func_all_modules): Add timegm.
128320 2003-08-31  Simon Josefsson  <jas@extundo.com>
128322         * m4/timegm.m4: New file.
128324 2003-08-31  Simon Josefsson  <jas@extundo.com>
128326         * lib/timegm.h: New file.
128327         * lib/timegm.c: New file.  Based on
128328         wget-1.8.2/src/http.c:mktime_from_utc.
128330 2003-08-31  Karl Berry  <karl@gnu.org>
128332         * lib/argp.h: update from libc.
128334 2003-08-28  Bruno Haible  <bruno@clisp.org>
128336         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
128337         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
128338         followed by '#define fnmatch fnmatch_posix' gives an error.
128340 2003-08-28  Bruno Haible  <bruno@clisp.org>
128342         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
128343         warning on QNX, which defines O_BINARY to 000000.
128345 2003-08-27  Jim Meyering  <jim@meyering.net>
128347         * m4/mkstemp.m4: Require that the system mkstemp be able to create
128348         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
128349         would fail after 32.  Reported by Danny Levinson.  Details here:
128350         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
128352 2003-08-24  Bruno Haible  <bruno@clisp.org>
128354         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
128355         MSVC7 <stdio.h> is included later.
128357 2003-08-22  Simon Josefsson  <jas@extundo.com>
128359         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
128361 2003-08-20  Karl Berry  <karl@gnu.org>
128363         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
128365 2003-08-20  Bruno Haible  <bruno@clisp.org>
128367         * modules/progname: New file.
128368         * MODULES.html.sh (func_all_modules): Add progname.
128370 2003-08-20  Bruno Haible  <bruno@clisp.org>
128372         * lib/progname.h: New file, from GNU gettext.
128373         * lib/progname.c: New file, from GNU gettext.
128374         * lib/progreloc.c: New file, from GNU gettext.
128376 2003-08-19  Jim Meyering  <jim@meyering.net>
128378         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
128379         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
128381 2003-08-19  Bruno Haible  <bruno@clisp.org>
128383         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
128384         more.
128386 2003-08-19  Bruno Haible  <bruno@clisp.org>
128388         * lib/xstrdup.c: Assume <string.h> exists.
128390 2003-08-18  Paul Eggert  <eggert@twinsun.com>
128392         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
128393         in makefile rules.
128395 2003-08-18  Jim Meyering  <jim@meyering.net>
128397         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
128398         * m4/lib-ld.m4: Likewise.
128400 2003-08-18  Jim Meyering  <jim@meyering.net>
128402         * lib/setenv.h: Indent nested cpp directive.
128403         * lib/vasnprintf.c: Remove trailing blanks.
128405 2003-08-17  Simon Josefsson  <jas@extundo.com>
128407         * modules/xstrndup: New file.
128408         * MODULES.html.sh (func_all_modules): Add xstrndup.
128410 2003-08-17  Simon Josefsson  <jas@extundo.com>
128412         * modules/argp: Fix autoconf macro name. Add more dependencies.
128414 2003-08-17  Simon Josefsson  <jas@extundo.com>
128416         * m4/xstrndup.m4: New file.
128418 2003-08-17  Simon Josefsson  <jas@extundo.com>
128420         * m4/argp.m4: New file.
128422 2003-08-17  Simon Josefsson  <jas@extundo.com>
128423             Bruno Haible  <bruno@clisp.org>
128425         * lib/xstrndup.h: New file.
128426         * lib/xstrndup.c: New file.
128428 2003-08-17  Bruno Haible  <bruno@clisp.org>
128430         * modules/strndup (Files, Include): Add lib/strndup.h.
128432 2003-08-17  Bruno Haible  <bruno@clisp.org>
128434         * modules/euidaccess (Files): Add lib/euidaccess.h.
128436 2003-08-17  Bruno Haible  <bruno@clisp.org>
128438         * lib/strndup.h: New file.
128440 2003-08-17  Bruno Haible  <bruno@clisp.org>
128442         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
128443         like AC_GNU_SOURCE.
128444         * modules/extensions (configure.ac): Comment out the invocation of
128445         gl_USE_SYSTEM_EXTENSIONS.
128447 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128449         Merges from coreutils, etc.
128450         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
128451         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
128452         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
128453         fixing a typo.
128454         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
128455         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
128457 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128459         Document merge from coreutils.
128460         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
128461         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
128462         * modules/utime: Add m4/utimes-null.m4.
128464 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128466         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
128467         space, undoing this 2003-08-12 change:
128468         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128470 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128472         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
128473         strtoul.c from libc, undoing this 2003-08-12 change:
128474         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128476 2003-08-16  Jim Meyering  <jim@meyering.net>
128478         Merges from coreutils.
128479         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
128480         prefix.  Adjust cache variables similarly.  Create 500 rather than
128481         just 300 files, to exercise bug on Darwin6.5, too.
128482         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
128483         $missing_dir.
128484         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
128485         AM_SYS_POSIX_TERMIOS.
128486         Reported by mkc@mathdogs.com.
128487         Also change use of $am_cv_sys_posix_termios
128488         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
128489         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
128490         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
128491         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
128492         in /proc/mounts until it finds one with matching device number.  This
128493         is unnecessary when the FILE argument *is* a mount point.  No stat call
128494         is necessary in that case.  So, disable the statvfs-testing code on
128495         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
128496         as RedHat bug# 84846.
128497         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128498         to 1MB, so as not to render systems with no stack size limit (e.g.,
128499         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128500         Include <unistd.h>.  On some systems,
128501         it is required for the definition of _SC_PAGESIZE.
128503 2003-08-16  Jim Meyering  <jim@meyering.net>
128505         Merge from coreutils.
128506         * lib/xstrtoimax.c: #else #if -> #elif.
128507         * lib/xstrtoumax.c: Likewise.
128509 2003-08-16  Jim Meyering  <jim@meyering.net>
128511         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
128512         * m4/utimes.m4: Removed.
128513         * m4/utimes-null.m4: Renamed from utimes.m4.
128515         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128516         to 1MB, so as not to render systems with no stack size limit (e.g.,
128517         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128518         Include <unistd.h>.  On some systems,
128519         it is required for the definition of _SC_PAGESIZE.
128521 2003-08-16  Jim Meyering  <jim@meyering.net>
128522         and Paul Eggert  <eggert@cs.ucla.edu>
128524         Merges from coreutils, etc.
128526         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
128527         using the latest version from cvs.  This avoids problems with #line
128528         directives using a vendor (Sun) compiler.
128529         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
128530         Don't set GETGROUPS_LIB here; now it's
128531         done via getgroups.m4's wrapper function.
128532         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
128533         rather than just in sh-util/configure.in, so that the
128534         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
128535         same.
128536         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
128537         AC_FUNC_GETLOADAVG where to find getloadavg.c.
128538         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
128539         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
128540         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
128541         Remove code that is now done by the newly-required macros.
128542         Append $(EXEEXT) to DF_PROG.
128543         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
128544         Do not invoke or require the following here,
128545         since prereq.m4 or some gnulib .m4 now does this for us:
128546         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
128547         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
128548         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
128549         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
128550         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
128551         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
128552         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
128553         AC_FUNC_OBSTACK.
128554         Do not replace the following functions, as this is now the job
128555         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
128556         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
128557         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
128558         atexit getpass, strdup, getpagesize.
128559         Replace 'raise'.
128560         Do not check for the following functions, as this is now the job
128561         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
128562         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
128563         setregid.
128564         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
128565         Check for sys/sysctl.h.
128566         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
128567         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
128568         of checking for ssize_t ourselves.
128570         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
128571         Require every macro that gnulib/modules/* suggests for us.
128572         (jm_PREREQ_ADDEXT): New macro.
128573         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
128574         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
128576         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
128577         (gl_PHYSMEM): Use it.
128578         Also check for `table' function.
128579         Check for new headers and functions.
128580         Add check for sys/sysmp.h.
128581         With suggestions from Kaveh Ghazi.
128582         Ignore headers that are present but cannot be compiled.  This
128583         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
128584         C 5.4.
128586 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128588         Document merge from coreutils.
128589         * modules/userspec: Depend on posixver.
128590         * modules/strftime: Depend on tzset.
128592 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128594         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
128595         rather than tab, after '#' in shell-script copyright notices.
128596         Suggested by Bruno Haible.
128598 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128600         * config/srclist-update: Use three spaces, rather than tab, after '#'
128601         in shell-script copyright notices.  Suggested by Bruno Haible.
128602         Remove unnecessary parenthesization in regular expression.
128604 2003-08-15  Jim Meyering  <jim@meyering.net>
128606         Merge from coreutils.
128607         * lib/xgethostname.c: Include <stdlib.h>.
128608         (xghostname): Don't exit for anything other than memory-related
128609         failure; just return NULL.
128610         * lib/userspec.c: Include "posixver.h".
128611         (parse_user_spec): Accept `.' as a separator only
128612         in pre-POSIX-200112 mode.
128613         * lib/strtoimax.c: Use #elif rather than #else #if.
128614         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
128615         Remove function, now that we can rely on a working tzset function.
128616         [!_LIBC]: Ensure that the required autoconf test has been run.
128617         [!defined _NL_CURRENT && HAVE_STRFTIME]:
128618         Use underlying_strftime for %r.
128619         * lib/sha.c: Merge in some clean-up and optimization changes from
128620         glibc.
128621         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
128622         Ensure that it is a multiple of 64.
128623         Rearrange loop exit tests so as to avoid performing an
128624         additional fread after encountering an error or EOF.
128625         * lib/realloc.c: Update copyright date.
128627 2003-08-15  Jim Meyering  <jim@meyering.net>
128628         and Paul Eggert  <eggert@twinsun.com>
128630         Merge from coreutils.
128631         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
128632         member but strut utmpx does not.  Needed for AIX 4.3.3.
128633         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
128635 2003-08-15  Jim Meyering  <jim@meyering.net>
128636         and Paul Eggert  <eggert@cs.ucla.edu>
128638         Merges from coreutils, etc.
128639         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
128640         Require gl_FUNC_TZSET_CLOBBER.
128641         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
128642         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
128643         members.
128645 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128647         Help the merge from coreutils.
128648         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
128649         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
128650         * m4/tzset.m4: Use it too.
128652 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128654         * modules/tzset: New file.
128656 2003-08-14  Jim Meyering  <jim@meyering.net>
128658         Merges from coreutils.
128659         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
128660         variable names, rather than @FNMATCH_H@.
128661         * modules/alloca: Likewise for $(ALLOCA_H).
128663         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
128664         the three copies of the literal target, `fnmatch.h'.
128665         * modules/alloca (alloca.h): Likewise.
128667 2003-08-14  Jim Meyering  <jim@meyering.net>
128669         Merge from coreutils.
128670         * m4/tzset.m4: New file.
128671         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
128672         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
128673         otherwise, AIX 5.1 systems would end up using the latter.
128674         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
128675         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
128676         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
128677         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
128679 2003-08-14  Jim Meyering  <jim@meyering.net>
128681         Merge from coreutils.
128682         * lib/obstack.h: Whitespace changes.
128683         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
128684         and xcalloc return values.
128685         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
128686         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
128687         hang on OSF/1 5.1 for DIR on both local and remote file systems.
128688         Reported by (and fix confirmed by) Nelson H. F. Beebe.
128689         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128690         error from mntctl.
128691         Use mntctl's return value to drive the entry-processing loop, since
128692         we can't rely on the value of the vmt_length member in the last
128693         entry.  On some systems doing so could result in exhausting
128694         virtual memory.  Based in part on a patch from Mike Jetzer.
128696 2003-08-14  Jim Meyering  <jim@meyering.net>
128697         and Paul Eggert  <eggert@twinsun.com>
128699         Merges from coreutils, plus other fixes.
128700         * lib/physmem.c: Merge in portability changes from gcc/libiberty
128701         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
128702         for credits and details.  Thanks to Kaveh Ghazi for helping
128703         to keep these files in sync.
128704         (ARRAY_SIZE): Define it.
128705         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
128706         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
128707         (memcasecmp): Don't assume size_t fits in unsigned int.
128708         Remove casts and duplicate code.
128709         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
128710         (memcpy): Remove definition.
128711         Merge in some clean-up and optimization changes from glibc.
128712         [BLOCKSIZE]: Move definition to top of file.
128713         Ensure that it is a multiple of 64.
128714         Rearrange loop exit tests so as to avoid performing an
128715         additional fread after encountering an error or EOF.
128716         * lib/md5.h (md5_uintptr): Define.
128717         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
128718         return to the initial working directory.  Preserve errno
128719         for caller.
128720         * lib/idcache.c: Include "xalloc.h".
128721         (xmalloc, xrealloc): Remove decls.
128722         (getuser): Remove casts no longer required in C89.
128723         * lib/human.c: Include stdio.h, for sprintf.
128724         * lib/group-member.c: Include "xalloc.h".
128725         (xmalloc, xrealloc): Remove decls.
128726         (get_group_info): Remove casts no longer required in C89.
128727         * lib/getusershell.c (readname): Remove casts no longer required in
128728         C89.
128729         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
128730         * lib/getline.c: Whitespace fix, from coreutils.
128732 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128734         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
128735         Check for isascii.
128737         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128738         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128739         Undo previous (whitespace-only) change.
128741 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128743         * lib/exclude.c: Include <ctype.h>
128744         (IN_CTYPE_DOMAIN): New macro.
128745         (is_space): New fn.
128746         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
128747         and empty lines.
128749         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128750         Undo previous (whitespace-only) change.
128752 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128754         * config/srclist-update: Change update back to the old behavior,
128755         leaving whitespace alone.  Use one 'sed' command rather than a
128756         pipeline.
128757         (fixlicense): Now a variable, not a function.
128758         (remove_trailing_blanks): Remove.
128759         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
128760         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128761         Undo previous (whitespace-only) change.
128763 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128765         Merge from coreutils.
128766         * modules/euidaccess: Add lib_SOURCES, include for new
128767         file euidaccess.h
128769 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128771         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128772         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128773         Normalize leading white space and remove trailing white space.
128775         Merge from coreutils
128776         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
128778         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
128779         0.12.1.  These files are now being upgraded automatically by
128780         ../config/srclist-update.
128782 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128784         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128785         Normalize leading white space and remove trailing white space.
128786         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
128787         notice, as per ../config/srclist-update.
128789         Merge from coreutils.
128790         * lib/euidaccess.h: New file.
128791         * lib/euidaccess.c: Include it.
128792         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
128793         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
128794         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
128796 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128798         * config/srclist-update: Add copyright notice.
128799         (remove_id_lines, remove_trailing_blanks): New constants.
128800         (fixfile): Use them to normalize spacing a bit in copied files.
128801         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128802         Normalize leading white space and remove trailing white space.
128804         * config/texinfo.tex: Sync with texinfo.
128806         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
128807         strtoul.c from libc, to merge coreutils whitespace changes.
128809         * config/srclist.txt: Get the following m4 files from gettext:
128810         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
128811         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
128812         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
128813         wint_t.m4.
128815 2003-08-12  Karl Berry  <karl@gnu.org>
128817         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
128818         been made.
128820 2003-08-11  Paul Eggert  <eggert@twinsun.com>
128822         * modules/gnu-source, m4/gnu-source.m4:
128823         Remove; we're assuming Autoconf 2.54 or later now.
128824         Suggested by Bruno Haible.
128825         * MODULES.html.sh (func_all_modules): Remove gnu-source.
128827 2003-08-11  Bruno Haible  <bruno@clisp.org>
128829         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
128831 2003-08-11  Bruno Haible  <bruno@clisp.org>
128833         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
128834         (vasnprintf): Use it instead of wcslen.
128836 2003-08-11  Bruno Haible  <bruno@clisp.org>
128838         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
128839         value to ensure that _Bool promotes to int. Use #define for _Bool when
128840         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
128842 2003-08-10  Karl Berry  <karl@gnu.org>
128844         * lib/regex.h: update from libc (whitespace fix).
128846 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128848         Merge some files from coreutils.  These changes were
128849         originally made by Jim Meyering.
128850         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
128851         many older Unixes require this.
128852         * lib/alloca.c (alloca): Remove cast to argument of free;
128853         no longer needed in C89.
128854         * lib/alloca_.h, regex.h: Fix white space to match
128855         what GNU indent does.
128857 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128859         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
128860         apparently Emacs's Unicode mode got confused before my 2003-08-05
128861         checkin.
128863 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128865         * m4/extensions.m4: New file.
128866         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
128867         Require gl_USE_SYSTEM_EXTENSIONS.
128868         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
128869         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
128871 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128873         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
128874         * modules/extensions, modules/gnu-source: New files.
128875         * modules/timespec, modules/unlocked-io: Depend on extensions.
128877 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128879         * modules/restrict: New file.
128880         * MODULES.html.sh (func_all_modules): Add restrict.
128881         * modules/regex: Depend on restrict.
128883 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128885         * m4/restrict.m4: New file.
128886         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
128888 2003-08-07  Bruno Haible  <bruno@clisp.org>
128890         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
128891         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
128893 2003-08-07  Bruno Haible  <bruno@clisp.org>
128895         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
128896         makes the module 'getndelim2' compatible with the module 'getline'.
128898 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128900         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
128901         byte with "\201" to avoid glitches when editing that source file
128902         with multi-gnome-terminal.
128904 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128906         * lib/bumpalloc.h: Remove.
128908 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128910         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
128911         * modules/bumpalloc: Remove.
128913 2003-08-04  Paul Eggert  <eggert@twinsun.com>
128915         * lib/getloadavg.c: Change copyright notice and spacing to conform to
128916         GNU coding style.
128918         Merge from coreutils.
128919         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
128920         1. From glibc.
128921         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
128922         from Karl Berry, implemented by Jim Meyering.
128923         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
128924         from Dmitry V. Levin.
128925         Remove anachronistic cast of xrealloc.
128926         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
128927         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
128928         type. Otherwise, it wouldn't compile with at least /bin/cc on
128929         ymp-cray-unicos9.0.2.X.
128930         Combine two mostly-identical uses of alloca into one.
128931         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
128933 2003-08-04  Dave Love  <d.love@dl.ac.uk>
128935         [From Emacs.]
128937         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
128938         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
128939         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
128940         obsolete NLIST_NAME_UNION.
128941         [__GNU__]: Undef BSD and FSCALE.
128942         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
128944 2003-08-03  Paul Eggert  <eggert@twinsun.com>
128946         * lib/stdbool_.h (_Bool): Make it signed char, instead of
128947         an enum type, so that it's guaranteed to promote to int.  See:
128948         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
128950 2003-08-03  Karl Berry  <karl@gnu.org>
128952         * config/depcomp: update from automake.
128954 2003-07-31  Paul Eggert  <eggert@twinsun.com>
128956         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
128957         (strerror): Don't assume that a printable int fits in 14 bytes.
128959 2003-07-31  Bruno Haible  <bruno@clisp.org>
128961         * modules/getpass-gnu: New file.
128962         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
128964 2003-07-31  Bruno Haible  <bruno@clisp.org>
128966         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
128968 2003-07-24  Karl Berry  <karl@gnu.org>
128970         * config/missing: update from automake.
128972 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
128973             Bruno Haible  <bruno@clisp.org>
128975         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
128976         * lib/getline.c (getline, getdelim): Likewise.
128977         Remove _GNU_SOURCE define; now it's defined in config.h through
128978         m4/getline.m4.
128980 2003-07-23  Karl Berry  <karl@gnu.org>
128982         * config/config.sub: update from prep.
128984 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128986         * modules/xalloc (Depends-on): Add exitfail.
128987         * modules/xmemcoll: Likewise.
128989 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128991         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
128992         over-parenthesization in macros.
128994         Sync with coreutils.
128996         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
128997         required by C99.
128999         Use `exit_failure' for xalloc and xmemcoll instead of their own
129000         private exit-failure variables.
129001         * lib/xalloc.h (xalloc_exit_failure): Remove.
129002         * lib/xmalloc.c: Likewise.  Include exitfail.h.
129003         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
129004         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
129005         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
129006         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
129008 2003-07-20  Jim Meyering  <jim@meyering.net>
129010         * modules/closeout (Depends-on): Add exitfail.
129011         Suggestion from Bruno Haible.
129013 2003-07-19  Karl Berry  <karl@gnu.org>
129015         * config/config.sub: update from prep.
129017 2003-07-18  Paul Eggert  <eggert@twinsun.com>
129019         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
129020         Remove.
129021         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
129022         to test that it can stand by itself.  Include "exitfail.h".
129023         Clients should set exit_failure instead.
129024         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
129026 2003-07-18  Bruno Haible  <bruno@clisp.org>
129028         * modules/getndelim2: New file.
129029         * modules/getline: Share files with module getndelim2.
129030         * modules/getnline: Depend on getndelim2 instead of sharing files with
129031         it. Add getnline.c to lib_SOURCES.
129032         * MODULES.html.sh (func_all_modules): Add getndelim2.
129034 2003-07-18  Bruno Haible  <bruno@clisp.org>
129036         * m4/getndelim2.m4: New file.
129037         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
129038         invoke gl_PREREQ_GETNDELIM2.
129039         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
129040         gl_PREREQ_GETNDELIM2.
129041         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
129042         gl_GETNDELIM2.
129044 2003-07-18  Bruno Haible  <bruno@clisp.org>
129046         * lib/getndelim2.h: New file.
129047         * lib/getndelim2.c: Make into a module of its own. Include config.h,
129048         getndelim2.h.
129049         (getndelim2): Make non-static. Change return type to ssize_t.
129050         * lib/getline.h: Change argument names.
129051         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
129052         * lib/getnline.c: Include getndelim2.h.
129054 2003-07-18  Andreas Schwab  <schwab@suse.de>
129056         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
129058 2003-07-17  Karl Berry  <karl@gnu.org>
129060         * config/config.sub: update from prep.
129062 2003-07-17  Bruno Haible  <bruno@clisp.org>
129064         * modules/getnline: New file.
129065         * modules/getline: Add lib/getndelim2.c to source file list.
129066         * MODULES.html.sh (func_all_modules): Add getnline.
129068 2003-07-17  Bruno Haible  <bruno@clisp.org>
129070         * m4/getnline.m4: New file.
129072 2003-07-17  Bruno Haible  <bruno@clisp.org>
129074         * m4/Makefile.am.in: Remove file.
129075         * m4/Makefile.am: Remove file.
129076         * m4/Makefile.in: Remove file.
129078 2003-07-17  Bruno Haible  <bruno@clisp.org>
129080         * lib/getnline.h: New file.
129081         * lib/getnline.c: New file.
129082         * lib/getndelim2.c: New file, extracted from getline.c.
129083         (getndelim2): Renamed from getdelim2, with added nmax argument.
129084         * lib/getline.c: Include getndelim2.c.
129085         (getdelim2): Moved out to getndelim2.c.
129086         (getline, getdelim): Update.
129088 2003-07-17  Bruno Haible  <bruno@clisp.org>
129090         * lib/Makefile.am: Remove file.
129091         * lib/Makefile.in: Remove file.
129093 2003-07-17  Bruno Haible  <bruno@clisp.org>
129095         * configure.in: Remove file.
129096         * Makefile.in: Remove file.
129098 2003-07-17  Bruno Haible  <bruno@clisp.org>
129100         * MODULES.html.sh: Put the </BODY> right before </HTML>.
129102 2003-07-16  Karl Berry  <karl@gnu.org>
129104         * config/srclist-update: was running fixlicense twice, which caused
129105                 texinfo.tex to be nullified for some reason.  Simplify,
129106                 $gplsrc is no longer needed as far as I can see?
129108 2003-07-16  Jim Meyering  <jim@meyering.net>
129110         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
129112 2003-07-15  Paul Eggert  <eggert@twinsun.com>
129114         * config/srclist.txt: Get the following files from gettext-runtime/intl
129115         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
129116         ref-del.sin.  From Bruno Haible.
129117         * config/srclist-update (fixfile): Change grep pattern again, since the
129118         previous fix didn't work (there was another trailing $).  Use
129119         '[$]' to escape the $s.
129121 2003-07-15  Karl Berry  <karl@gnu.org>
129123         * lib/vasnprintf.c: update from gettext.
129125 2003-07-15  Karl Berry  <karl@gnu.org>
129127         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
129128         gets expanded when surrounded by '$'.
129130 2003-07-15  Jim Meyering  <jim@meyering.net>
129132         * modules/save-cwd: Don't depend on error.  From Derek Price.
129134 2003-07-15  Jim Meyering  <jim@meyering.net>
129136         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
129138 2003-07-14  Simon Josefsson  <jas@extundo.com>
129140         * modules/mempcpy: New file.
129141         * MODULES.html.sh (func_all_modules): Add mempcpy.
129143 2003-07-14  Simon Josefsson  <jas@extundo.com>
129145         * m4/mempcpy.m4: New file.
129147 2003-07-14  Simon Josefsson  <jas@extundo.com>
129149         * lib/mempcpy.h: New file.
129150         * lib/mempcpy.c: New file.
129152 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129154         * modules/getdate, modules/posixtm: Depend on mktime.
129156 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129158         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
129159         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
129160         unicodeio.c, unicodeio.h, unlocked-io.h:
129161         Switch from LGPL to GPL.
129163 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129165         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
129166         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
129167         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
129168         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
129169         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
129170         updated automatically by ../config/srclist-update.  This changes
129171         their license from LPGL to GPL.
129173 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129175         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
129176         assumed to refer to the root of the most recent stable gettext version.
129177         * config/srclistvars.sh: Add defaults for eggert.
129178         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
129179         Match "This program" as well as "The program".  This is needed
129180         for gettext.
129182 2003-07-14  Jim Meyering  <jim@meyering.net>
129184         Don't emit diagnostics.  Let callers do that.
129185         * lib/save-cwd.c: Don't include "error.h".
129186         (save_cwd): Don't call error.  Ensure that errno is valid
129187         when returning nonzero.
129189         * lib/save-cwd.h (restore_cwd): Update prototype.
129190         * lib/save-cwd.c (restore_cwd): Remove two parameters.
129191         Simplify.  Don't call error upon failure.  Let callers do that.
129192         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
129193         when auditing is enabled.  But don't bother updating the #if.
129195 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
129197         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
129198         it breaks C++ compilation.
129199         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
129201 2003-07-10  Simon Josefsson  <jas@extundo.com>
129203         * modules/strchrnul (Makefile.am): Add strchrnul.h.
129205 2003-07-10  Jim Meyering  <jim@meyering.net>
129207         * m4/clock_time.m4: Remove trailing blank.
129208         * m4/intmax_t.m4: Likewise.
129210 2003-07-10  Jim Meyering  <jim@meyering.net>
129212         * lib/vasnprintf.c: Remove trailing blanks.
129213         Make cpp indentation consistent.
129215 2003-07-09  Paul Eggert  <eggert@twinsun.com>
129217         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
129218         posixver.c, strftime.c, strnlen.c, strverscmp.c:
129219         Switch from LGPL to GPL.
129221 2003-07-09  Paul Eggert  <eggert@twinsun.com>
129223         * config/srclist.txt: Sort sublists.  Add
129224         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
129225         that differ from gnulib for one reason or another; we'd like this list
129226         to be smaller but for now let's document what we have.
129228 2003-07-08  Paul Eggert  <eggert@twinsun.com>
129230         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
129231         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
129232         and sweeter "eval x=$x".
129233         * config/srclist.txt: Get lib/argp* from glibc.
129235 2003-07-07  Paul Eggert  <eggert@twinsun.com>
129237         * lib/mktime.c: Fix some boundary cases and remove need for floating
129238         point.
129240         Issue a compile-time diagnostic if time_t is floating point, or if
129241         two's complement arithmetic is not in effect, or if arithmetic
129242         right shift does not propagate the sign.  These assumptions were
129243         all in the original code but they weren't checked.
129245         (TIME_T_MIDPOINT, verify): New macros.
129246         (__isleap): Remove; it has integer overflow problems.
129247         (leapyear): New function, without those problems.
129248         (ydhms_tm_diff): Remove; splitting into two parts.
129249         (ydhms_diff): New function, containing the arithmetic part of
129250         the old ydhms_tm_diff function.  Issue a compile-time
129251         diagnostic if we are not using C99 integer division.
129252         Avoid casts when possible.
129253         (guess_time_tm): New function, containing the checking part of
129254         the old ydhms_tm_diff function.  Return the new value, rather than
129255         the difference between it and the old.  Accept a new argument T
129256         so that *T specifies the old value.  Check for overflow in the result.
129258         (__mktime_internal): Use a time_t offset, not a long int offset.
129259         This undoes the 2003-06-04 change, which is no longer needed now
129260         that we have better overflow checking.
129261         (localtime_offset): Likewise.
129263         (__mktime_internal): Avoid harmful overflow on hosts where time_t
129264         and long are 64-bit but int is only 32-bit.
129265         (ydhms_diff): Use long int to store year1 and yday1.
129266         Issue a compile-time diagnostic if long int is not wide enough.
129268         (__mktime_internal): Use long int to store adjusted year and yday.
129269         Use plain C rather than preprocessor commands, if that doesn't
129270         affect efficiency.
129271         Check for overflow (and try to repair) after each probe
129272         rather than checking only at the very end.  This avoids some bugs
129273         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
129274         does not equal GMT offset at maximum time).
129275         Use integer to check for overflow rather than floating point; this
129276         is more portable to non-IEEE hosts, and is a tad faster.
129277         When we detect that we are oscillating between two values,
129278         don't check whether tm_isdst has the requested value, since
129279         we already know the answer.  When tm_isdst has the wrong value,
129280         use a different heuristic to find the right one, based on the
129281         extreme values actually observed in practice in tz2003a,
129282         rather than the (overly optimistic) "previous 3 calendar quarters".
129284         (not_equal_tm, print_tm, check_result): Use "const T" rather than
129285         "T const" to accommodate glibc style.
129286         (check_result): Use less-confusing report format.  "long" -> "long int.
129287         (main): Likewise.
129288         Don't loop if the iteration overflows time_t.
129289         Allow a negative step in the iteration.
129291 2003-07-06  Karl Berry  <karl@gnu.org>
129293         * config/depcomp: update from automake.
129294         * config/config.sub: update from prep.
129296 2003-07-03  Karl Berry  <karl@gnu.org>
129298         * config/config.guess: update from prep.
129300 2003-07-01  Paul Eggert  <eggert@twinsun.com>
129302         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
129303         xreadlink.c now includes it unconditionally.
129305 2003-07-01  Paul Eggert  <eggert@twinsun.com>
129307         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
129308         having it depend on HAVE_SYS_TYPES_H.
129310 2003-07-01  Bruno Haible  <bruno@clisp.org>
129312         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
129313         <sys/types.h> should be sufficient.
129314         Reported by Paul Eggert.
129316 2003-06-26  Karl Berry  <karl@gnu.org>
129318         * config/depcomp: update from automake.
129320 2003-06-26  Bruno Haible  <bruno@clisp.org>
129322         * modules/human: Depend on module stdbool.
129324 2003-06-25  Bruno Haible  <bruno@clisp.org>
129326         * modules/readlink: New file.
129327         * modules/xreadlink: Depend on it.
129328         * MODULES.html.sh (func_all_modules): Add readlink.
129330 2003-06-25  Bruno Haible  <bruno@clisp.org>
129332         * m4/readlink.m4: New file.
129334 2003-06-25  Bruno Haible  <bruno@clisp.org>
129336         * lib/readlink.c: New file.
129338 2003-06-22  Karl Berry  <karl@gnu.org>
129340         * config/srclist.txt: update mkinstalldirs from automake.
129341         * config/mkinstalldirs: update.
129343 2003-06-22  Bruno Haible  <bruno@clisp.org>
129345         Portability to mingw32.
129346         * m4/ssize_t.m4: New file, from GNU gettext.
129347         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
129348         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
129350 2003-06-22  Bruno Haible  <bruno@clisp.org>
129352         * modules/safe-read: Add m4/ssize_t.m4.
129353         * modules/xreadlink: Add m4/ssize_t.m4.
129355 2003-06-20  Bruno Haible  <bruno@clisp.org>
129357         Assume C89, so PARAMS isn't needed.
129358         * lib/unicodeio.h (PARAMS): Remove.
129359         * lib/unicodeio.c: Don't use PARAMS.
129361 2003-06-18  Karl Berry  <karl@gnu.org>
129363         * config/config.{guess,sub}: update from prep.
129365 2003-06-18  Jim Meyering  <jim@meyering.net>
129367         Merge changes from coreutils.
129368         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
129369         Remove explicit declarations of xmalloc and realloc.
129370         Include xalloc.h.
129371         (read_utmp): Remove anachronistic cast of xmalloc.
129373 2003-06-17  Paul Eggert  <eggert@twinsun.com>
129375         Assume C89, so PARAMS isn't needed.
129376         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
129377         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
129378         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
129379         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
129380         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
129381         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
129382         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
129383         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
129384         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
129385         lib/xstrtod.h, lib/xstrtol.h: Likewise.
129386         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
129387         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
129388         no longer needed. Anyway, config.h should always be included before any
129389         other file.
129391 2003-06-11  Simon Josefsson  <jas@extundo.com>
129393         * modules/sysexits: New file.
129394         * MODULES.html.sh (func_all_modules): Add sysexits.
129396 2003-06-11  Simon Josefsson  <jas@extundo.com>
129398         * lib/sysexit_.h: New file.
129400 2003-06-11  Derek Price  <derek@ximbiot.com>
129402         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
129403         necessary.
129405 2003-06-11  Bruno Haible  <bruno@clisp.org>
129407         * m4/sysexits.m4: New file.
129409 2003-06-10  Simon Josefsson  <jas@extundo.com>
129411         * lib/argp.h: New file, from glibc.
129412         * lib/argp-ba.c: New file, from glibc.
129413         * lib/argp-eexst.c: New file, from glibc.
129414         * lib/argp-fmtstream.c: New file, from glibc.
129415         * lib/argp-fmtstream.h: New file, from glibc.
129416         * lib/argp-fs-xinl.c: New file, from glibc.
129417         * lib/argp-help.c: New file, from glibc.
129418         * lib/argp-namefrob.h: New file, from glibc.
129419         * lib/argp-parse.c: New file, from glibc.
129420         * lib/argp-pv.c: New file, from glibc.
129421         * lib/argp-pvh.c: New file, from glibc.
129422         * lib/argp-xinl.c: New file, from glibc.
129424 2003-06-10  Simon Josefsson  <jas@extundo.com>
129426         * modules/strchrnul: New file.
129428 2003-06-10  Simon Josefsson  <jas@extundo.com>
129430         * modules/argp: New file.
129432 2003-06-10  Simon Josefsson  <jas@extundo.com>
129434         * m4/strchrnul.m4: New file.
129436 2003-06-10  Simon Josefsson  <jas@extundo.com>
129438         * lib/strchrnul.h: New file.
129439         * lib/strchrnul.c: New file.
129441 2003-06-10  Bruno Haible  <bruno@clisp.org>
129443         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
129445 2003-06-07  Karl Berry  <karl@gnu.org>
129447         * config/config.{guess,sub}: update from prep.
129449 2003-06-07  Jim Meyering  <jim@meyering.net>
129451         * modules/strtod: Use $(...) notation, not @...@ for
129452         AC_REPLACE'd variables.
129453         * modules/localcharset: Likewise.
129455 2003-06-07  Jim Meyering  <jim@meyering.net>
129457         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
129458         in place of my name in the copyright comment.
129459         Remove definition and uses of __P.
129461         From coreutils.
129462         * lib/stat.c: Don't declare xmalloc explicitly.
129463         Instead, include "xalloc.h".
129464         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
129465         xrealloc, and xcalloc return values.
129466         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
129467         Improve comment.
129468         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
129470 2003-06-07  Bruno Haible  <bruno@clisp.org>
129472         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
129473         avoid AC_CONFIG_LINKS.
129474         * modules/fnmatch (Makefile.am): Use explicit creation rule for
129475         fnmatch.h, to avoid AC_CONFIG_LINKS.
129476         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
129478 2003-06-07  Bruno Haible  <bruno@clisp.org>
129480         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
129481         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
129482         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129483         directory.
129484         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
129485         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129486         directory.
129488 2003-06-06  Jim Meyering  <jim@meyering.net>
129490         Merge from coreutils.
129491         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
129492         Consolidate declarations and initializations of *_base* locals.
129494         Merge from coreutils.
129495         This avoids a core dump on systems without GNU putenv,
129496         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
129497         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
129498         (unsetenv): New static function, from GNU libc.
129499         (rpl_putenv): Use it.
129501         * lib/modechange.c: Remove trailing blanks.
129503         Merge from coreutils.
129504         * lib/fsusage.c: Remove declaration of statfs.
129505         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
129507         * lib/posixtm.c: Include <stdbool.h> unconditionally.
129509 2003-06-06  Jim Meyering  <jim@meyering.net>
129511         * lib/stdbool_.h: Renamed from stdbool.h.in.
129513 2003-06-06  Jim Meyering  <jim@meyering.net>
129514             Bruno Haible  <bruno@clisp.org>
129516         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
129517         Adjust Makefile.am snippet not to redirect directly to target.
129518         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
129520 2003-06-05  Paul Eggert  <eggert@twinsun.com>
129522         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
129523         mismatch, look in future quarters as well as past.  This fixes a
129524         bug when processing fall-backwards gaps immediately after a long
129525         period of daylight-saving time.
129527         * lib/mktime.c: Assume freestanding C89 or better.
129528         (HAVE_LIMITS_H): Remove.  Assume it's 1.
129529         (__P): Remove; not used.
129530         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
129531         (mktime, not_equal_tm, print_tm, check_result,
129532         main): Use prototypes.  Use const * where appropriate.
129533         (main): Fix typo in testing code that uncovered by above changes.
129534         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
129536 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129538         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
129539         locale.h, localeconv.  This merges changes from coreutils.
129541         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
129542         It can be removed after the next Autoconf is released.
129543         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
129544         needed.
129546 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129548         * lib/mktime.c: Fix Debian bug 177940
129549         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
129550         (localtime_offset): Now long int, not time_t, because we want it
129551         to be guaranteed to be signed.  All uses changed.
129552         (__mktime_internal): If overflow would occur when adding offset,
129553         don't add it.
129555         Merge 'human' changes from coreutils.  Rewrite to support
129556         locale-specific notations like thousands separators.
129557         * lib/human.c: Simplify authorship notice.
129558         Include human.h immediately after config.h.
129559         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
129560         <limits.h>: Do not include, since human.h does.
129561         (SIZE_MAX, UINTMAX_MAX): New macros.
129562         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
129563         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
129564         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
129565         (power_letter): Renamed from suffixes.
129566         (generate_suffix_backwards): Remove.
129567         (adjust_value): Now takes int style (because of human.h changes)
129568         and long double value (for greater precision on some platforms).
129569         (group_number): New function.
129570         (human_readable): Use it.  Use integer options, not enum.
129571         Put the options before the sizes in the arg list.
129572         Support all the new options.
129573         The old human_readable function has been removed;
129574         use inttostr.h instead.
129575         (human_readable, default_block_size, humblock):
129576         Use uintmax_t, not int, for block sizes.
129577         (human_readable_inexact, block_size_types): Remove.
129578         (block_size_opts): New constant.
129579         (human_options): Renamed from human_block_size, with new signature
129580         that allows block sizes up to UINTMAX_MAX.  All callers changed.
129581         * lib/human.h: Add copyright and authorship notice.
129582         Include <limits.h> and <stdbool.h> unconditionally.
129583         (PARAMS): Remove.  All uses removed.
129584         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
129585         (enum human_inexact_style): Remove tag; now a nameless enum.
129586         (human_floor, human_ceiling, human_round_to_even): Now have
129587         values 2, 0, 1 rather than -1, 1, 0.
129588         (human_group_digits, human_suppress_point_zero, human_autoscale,
129589         human_base_1024, human_SI, human_B): New constants.
129590         (human_readable_inexact, human_block_size): Remove.
129591         (human_readable): Size args are now uintmax_t, not int.
129592         (human_options): New decl.
129594         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
129595         unnecessary now that we assume C89 or better.  This change
129596         imported from coreutils.
129598         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129599         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
129600         in the 2003-05-30 sync from glibc.
129602         .h files should stand alone, but we shouldn't include <sys/types.h>
129603         if we can get away with just <stddef.h>.
129605         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
129606         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
129607         rather than <sys/types.h>, as we merely need size_t.
129608         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
129609         to get size_t.
129610         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
129611         Include <stdio.h>, to get FILE.
129612         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
129613         memcasecmp.h has included <stddef.h> and all we need is size_t.
129614         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
129615         our interface, instead of including <sys/types.h>
129617 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129619         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
129620         now, as glibc mktime is buggy on non-glibc systems.
129622 2003-06-03  Karl Berry  <karl@gnu.org>
129624         * config/config.sub: update from prep.
129626 2003-06-02  Paul Eggert  <eggert@twinsun.com>
129628         [from coreutils]
129629         Fix some minor time-related bugs with POSIX time arguments.
129630         Some valid time stamps were being rejected (notably -1, and
129631         time stamps before 1900 on 64-bit hosts).  And some invalid
129632         time stamps were being accepted, e.g. September 31.
129634         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
129635         that we can return (time_t) -1 successfully.
129636         * lib/posixtm.c: Likewise.
129637         [HAVE_STDBOOL_H]: Include <stdbool.h>.
129638         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
129639         (t): Remove static var.
129640         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
129641         of static var.  All uses changed.
129642         (year): Do not reject years before 1900; they can occur with
129643         64-bit time_t.
129644         (posix_time_parse): Do not check for out-of-range components;
129645         that is now the caller's responsibility, since our checks were
129646         only approximations.
129647         (posixtime): Use mktime to check for out-of-range components,
129648         since it knows them exactly.
129649         If mktime returns (time_t) -1, check whether an error actually occurred
129650         by invoking localtime on -1.
129651         (main) [TEST_POSIXTIME]: Check for input data errors, and report
129652         posixtime failures better.
129653         Improve the test data (in comments only).
129655 2003-06-02  Karl Berry  <karl@gnu.org>
129657         * config/mkinstalldirs (version): new variable.
129658         (--version): new option.
129659         (usage): improve message.
129661 2003-05-30  Karl Berry  <karl@gnu.org>
129663         * lib/mktime.c: update from libc.
129665 2003-05-30  Bruno Haible  <bruno@clisp.org>
129667         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
129668         * config/config.rpath: Upgrade to gettext-0.12.1.
129670 2003-05-30  Bruno Haible  <bruno@clisp.org>
129672         * m4/gettext.m4: Upgrade to gettext-0.12.1.
129673         * m4/nls.m4: New file, from gettext-0.12.1.
129674         * m4/po.m4: New file, from gettext-0.12.1.
129675         * m4/progtest.m4: Upgrade to gettext-0.12.1.
129677 2003-05-30  Bruno Haible  <bruno@clisp.org>
129679         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
129680         * lib/localcharset.h: Likewise.
129681         * lib/localcharset.c: Likewise.
129683 2003-05-29  Karl Berry  <karl@gnu.org>
129685         * config/config.rpath: update from gettext.
129687 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129689         Assume the headers required for C89 freestanding compilers.
129690         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
129691         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
129692         * m4/human.m4 (gl_HUMAN): Likewise.
129693         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
129694         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
129695         * m4/userspec.m4 (gl_USERSPEC): Likewise.
129696         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
129697         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
129698         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
129700 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129702         Assume the headers required for C89 freestanding compilers.
129703         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
129704         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
129705         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
129706         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
129707         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
129708         define, since <limits.h> is guaranteed to do that.
129709         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
129710         * lib/exclude.c: Include <stdbool.h> unconditionally.
129711         * lib/tempname.c: Include <stddef.h> unconditionally.
129712         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
129713         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
129714         <stddef.h> does that.
129715         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
129716         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
129717         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
129718         needed.
129719         * lib/xstrtol.c: Likewise.
129720         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
129721         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
129723         * lib/addext.c (addext): Use assignment rather than cast, to avoid
129724         warnings on some platforms.
129726         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129727         arbitrarily.
129729 2003-05-26  Jim Meyering  <jim@meyering.net>
129731         Merge in a change from coreutils:
129732         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
129733         that is guaranteed to be `no'.  Use `no_such_member' to indicate
129734         that condition, rather than `-1' which is slightly misleading.
129735         Change the name of the cache variable to have the gl_ prefix.
129736         Prompted by a patch from Richard Dawe for DJGPP.
129738 2003-05-24  Karl Berry  <karl@gnu.org>
129740         * config/config.guess: update from prep.
129742 2003-05-22  Karl Berry  <karl@gnu.org>
129744         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
129746 2003-05-20  Karl Berry  <karl@gnu.org>
129748         * config/config.guess: update from prep.
129750 2003-05-18  Karl Berry  <karl@gnu.org>
129752         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
129753         might actually be set by the user.
129755         * config/depcomp, install-sh, mdate-sh: update from automake.
129757 2003-05-17  Bruno Haible  <bruno@clisp.org>
129759         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
129760         invalid expansion for AC_EGREP_CPP.
129761         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
129762         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
129763         Suggested by Akim Demaille <akim@epita.fr> in
129764         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
129766 2003-05-12  Jim Meyering  <jim@meyering.net>
129768         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
129769         the space-padded-by-default conversion specifiers, %e, %k, %l.
129771 2003-05-12  Bruno Haible  <bruno@clisp.org>
129773         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
129774         the string is longer than 4 KB.
129776 2003-05-11  Karl Berry  <karl@gnu.org>
129778         * config/config.{guess,sub}: update from prep.
129780 2003-05-09  Bruno Haible  <bruno@clisp.org>
129782         * modules/error: Add m4/strerror_r.m4 to file list.
129784 2003-05-03  Bruno Haible  <bruno@clisp.org>
129786         Upgrade to Unicode-4.0.
129787         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
129788         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
129789         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
129790         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
129791         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
129792         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
129793         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
129794         Change width of U+E0100..U+E01EF from 1 to 0.
129796 2003-04-25  Jim Meyering  <jim@meyering.net>
129798         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
129799         of type size_t, not int.
129801 2003-04-25  Bruno Haible  <bruno@clisp.org>
129803         * lib/copy-file.c: Include <stddef.h>, for size_t.
129805 2003-04-21  Paul Eggert  <eggert@twinsun.com>
129807         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
129808         code which expansion is under static control.  Patch imported from
129809         Akim Demaille's patch to Bison; see
129810         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
129812 2003-04-14  Bruno Haible  <bruno@clisp.org>
129814         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
129816 2003-04-11  Jim Meyering  <jim@meyering.net>
129818         Merge changes from Coreutils.
129820         2003-03-22  Jim Meyering  <jim@meyering.net>
129822         * lib/strftime.c (widen): Cast alloca return value to proper type.
129824         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
129826         From GNU libc.
129827         * lib/strftime.c (my_strftime): Handle very large width
129828         specifications for numeric values correctly.  Improve checks for
129829         overflow.
129831         2003-01-19  Jim Meyering  <jim@meyering.net>
129833         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
129834         definitions.
129835         (nl_get_alt_digit) [! defined my_strftime]: Define.
129836         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
129837         _nl_get_alt_digit and _nl_get_walt_digit.
129839         * lib/strftime.c (my_strftime): Merge in locale-related changes from
129840         libc. These changes have no effect outside of _LIBC.
129842 2003-04-10  Bruno Haible  <bruno@clisp.org>
129844         * modules/findprog: New file.
129845         * MODULES.html.sh (func_all_modules): Add it.
129847 2003-04-10  Bruno Haible  <bruno@clisp.org>
129849         * m4/findprog.m4: New file.
129850         * m4/eaccess.m4: New file.
129852 2003-04-10  Bruno Haible  <bruno@clisp.org>
129854         * lib/findprog.h: New file, from GNU gettext.
129855         * lib/findprog.c: New file, from GNU gettext.
129857 2003-04-05  Jim Meyering  <jim@meyering.net>
129859         Merge changes from Coreutils.
129861         * lib/exclude.h (PARAMS): Remove definition and uses.
129862         * lib/exclude.c: Remove uses of `PARAMS'.
129864         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
129865         Add test-cases for DOS filenames. Declare program_name.
129866         (main): Set up program_name.  Patch by Rich Dawe.
129868         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
129869         error from mntctl.
129870         Use mntctl's return value to drive the entry-processing loop, since
129871         we can't rely on the value of the vmt_length member in the last
129872         entry.  On some systems doing so could result in exhausting
129873         virtual memory.  Based in part on a patch from Mike Jetzer.
129875 2003-04-04  Bruno Haible  <bruno@clisp.org>
129877         * modules/linebreak: New file.
129878         * MODULES.html.sh (func_all_modules): Add it.
129880 2003-04-04  Bruno Haible  <bruno@clisp.org>
129882         * m4/linebreak.m4: New file.
129884 2003-04-04  Bruno Haible  <bruno@clisp.org>
129886         * lib/linebreak.h: New file, from GNU gettext.
129887         * lib/linebreak.c: New file, from GNU gettext with slight
129888         modifications.
129889         * lib/lbrkprop.h: New file, from GNU gettext.
129891 2003-04-03  Bruno Haible  <bruno@clisp.org>
129893         * modules/utf8-ucs4: New file.
129894         * modules/utf16-ucs4: New file.
129895         * modules/ucs4-utf8: New file.
129896         * modules/ucs4-utf16: New file.
129897         * MODULES.html.sh (func_all_modules): Add them.
129899 2003-04-03  Bruno Haible  <bruno@clisp.org>
129901         * m4/utf-ucs4.m4: New file.
129902         * m4/ucs4-utf.m4: New file.
129904 2003-04-03  Bruno Haible  <bruno@clisp.org>
129906         * lib/utf8-ucs4.h: New file, from GNU gettext.
129907         * lib/utf16-ucs4.h: New file, from GNU gettext.
129908         * lib/ucs4-utf8.h: New file, from GNU gettext.
129909         * lib/ucs4-utf16.h: New file, from GNU gettext.
129911 2003-04-02  Bruno Haible  <bruno@clisp.org>
129913         * modules/binary-io: New file.
129914         * MODULES.html.sh (func_all_modules): Add it.
129916 2003-04-02  Bruno Haible  <bruno@clisp.org>
129918         * lib/binary-io.h: New file, from GNU gettext.
129920 2003-04-01  Bruno Haible  <bruno@clisp.org>
129922         * modules/pathname: New file.
129923         * MODULES.html.sh (func_all_modules): Add it.
129925 2003-04-01  Bruno Haible  <bruno@clisp.org>
129927         * lib/pathname.h: New file, from GNU gettext.
129928         * lib/concatpath.c: New file, from GNU gettext.
129930 2003-03-30  Bruno Haible  <bruno@clisp.org>
129932         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
129934 2003-03-30  Bruno Haible  <bruno@clisp.org>
129936         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
129937         function chown() doesn't exist.
129939 2003-03-28  Bruno Haible  <bruno@clisp.org>
129941         * modules/copy-file: New file.
129942         * MODULES.html.sh (func_all_modules): Add it.
129944 2003-03-28  Bruno Haible  <bruno@clisp.org>
129946         * m4/copy-file.m4: New file.
129948 2003-03-28  Bruno Haible  <bruno@clisp.org>
129950         * lib/copy-file.h: New file, from GNU gettext.
129951         * lib/copy-file.c: New file, from GNU gettext.
129953 2003-03-18  Jim Meyering  <jim@meyering.net>
129955         * lib/quote.c (quote_n): Fix typo in comment.
129957 2003-03-18  Bruno Haible  <bruno@clisp.org>
129959         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
129960         checking.
129961         * m4/onceonly_2_57.m4: Likewise.
129963 2003-03-17  Bruno Haible  <bruno@clisp.org>
129965         * m4/onceonly.m4: Require autoconf 2.54 or newer.
129966         (m4_quote): Remove macro.
129967         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
129969 2003-03-14  Jim Meyering  <jim@meyering.net>
129971         Merge changes from Coreutils.
129972         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
129973         to be const, in order to avoid warnings.
129974         (obstack_room): Likewise.
129975         (obstack_empty_p): Likewise.
129977 2003-03-14  Bruno Haible  <bruno@clisp.org>
129979         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
129980         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
129982 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129984         Merge changes from Bison.
129985         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
129986         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
129987         when compiling Bison 1.875's `bitset bset = obstack_alloc
129988         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
129989         * lib/hash.c: Include <stdbool.h> unconditionally.
129991 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129993         * m4/onceonly.m4 (m4_quote): New macro.
129994         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
129995         Quote AC_FOREACH variable-expansions properly.
129997 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129999         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
130001 2003-03-09  Paul Eggert  <eggert@twinsun.com>
130003         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
130004         Reported by Bruce Becker; see:
130005         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
130007 2003-03-03  Paul Eggert  <eggert@twinsun.com>
130008             Bruno Haible  <bruno@clisp.org>
130010         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
130011         Reported by John Hughes, see
130012         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
130014 2003-02-20  Bruno Haible  <bruno@clisp.org>
130016         * MODULES.html.sh (func_all_modules): Add poll.
130018 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
130020         * modules/poll: New file.
130022 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
130024         * lib/poll_.h: New file.
130025         * lib/poll.c: New file.
130027 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
130029         * m4/poll.m4: New file.
130031 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
130033         * modules/mathl: New file.
130035 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
130037         * lib/mathl.h: New file.
130038         * lib/acosl.c: New file.
130039         * lib/asinl.c: New file.
130040         * lib/atanl.c: New file.
130041         * lib/ceill.c: New file.
130042         * lib/cosl.c: New file.
130043         * lib/expl.c: New file.
130044         * lib/floorl.c: New file.
130045         * lib/frexpl.c: New file.
130046         * lib/ldexpl.c: New file.
130047         * lib/logl.c: New file.
130048         * lib/sincosl.c: New file.
130049         * lib/sinl.c: New file.
130050         * lib/sqrtl.c: New file.
130051         * lib/tanl.c: New file.
130052         * lib/trigl.c: New file.
130053         * lib/trigl.h: New file.
130055 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
130057         * m4/mathl.m4: New file.
130059 2003-02-18  Bruno Haible  <bruno@clisp.org>
130061         * MODULES.html.sh (func_all_modules): Add mathl.
130063 2003-02-17  Bruno Haible  <bruno@clisp.org>
130065         * modules/mkdtemp: New module.
130066         * MODULES.html.sh (func_all_modules): Add it.
130068 2003-02-17  Bruno Haible  <bruno@clisp.org>
130070         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
130072 2003-02-17  Bruno Haible  <bruno@clisp.org>
130074         * lib/mkdtemp.h: New file, from GNU gettext.
130075         * lib/mkdtemp.c: New file, from GNU gettext.
130077 2003-02-02  Jim Meyering  <jim@meyering.net>
130079         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
130080         e.g. glibc-2.2.93.
130082 2003-01-31  Bruno Haible  <bruno@clisp.org>
130084         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
130085         'rpl_rename'.
130086         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
130087         'rpl_strnlen'.
130088         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
130089         'rpl_strtod'.
130090         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
130091         'rpl_utime'.
130093 2003-01-31  Bruno Haible  <bruno@clisp.org>
130095         * lib/rename.c: #undef rename before defining rpl_rename.
130096         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
130098 2003-01-30  Bruno Haible  <bruno@clisp.org>
130100         * modules/vasnprintf, modules/vasprintf: New modules.
130101         * MODULES.html.sh (func_all_modules): Add them.
130103 2003-01-30  Bruno Haible  <bruno@clisp.org>
130105         * m4/signed.m4: New file, from GNU gettext.
130106         * m4/longdouble.m4: New file, from GNU gettext.
130107         * m4/wchar_t.m4: New file, from GNU gettext.
130108         * m4/wint_t.m4: New file, from GNU gettext.
130109         * m4/vasnprintf.m4: New file.
130110         * m4/vasprintf.m4: New file.
130112 2003-01-30  Bruno Haible  <bruno@clisp.org>
130114         * lib/printf-args.h: New file, from GNU gettext.
130115         * lib/printf-args.c: New file, from GNU gettext.
130116         * lib/printf-parse.h: New file, from GNU gettext.
130117         * lib/printf-parse.c: New file, from GNU gettext.
130118         * lib/vasnprintf.h: New file, from GNU gettext.
130119         * lib/vasnprintf.c: New file, from GNU gettext.
130120         * lib/asnprintf.c: New file, from GNU gettext.
130121         * lib/vasprintf.h: New file, from GNU gettext with modifications.
130122         * lib/vasprintf.c: New file, from GNU gettext.
130123         * lib/asprintf.c: New file, from GNU gettext.
130125 2003-01-29  Bruno Haible  <bruno@clisp.org>
130127         * modules/stpncpy: New module.
130128         * MODULES.html.sh (func_all_modules): Add it.
130130 2003-01-29  Bruno Haible  <bruno@clisp.org>
130132         * m4/stpncpy.m4: New file.
130134 2003-01-29  Bruno Haible  <bruno@clisp.org>
130136         * lib/stpncpy.h: New file, from GNU gettext with modifications.
130137         * lib/stpncpy.c: New file, from GNU gettext with modifications.
130139 2003-01-28  Bruno Haible  <bruno@clisp.org>
130141         * modules/c-ctype: New module.
130142         * MODULES.html.sh (func_all_modules): Add it.
130144 2003-01-28  Bruno Haible  <bruno@clisp.org>
130146         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
130147         Paul Eggert.
130148         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
130149         Paul Eggert.
130151 2003-01-27  Bruno Haible  <bruno@clisp.org>
130153         * modules/xsetenv: New module.
130154         * MODULES.html.sh (func_all_modules): Add it.
130156 2003-01-27  Bruno Haible  <bruno@clisp.org>
130158         * lib/xsetenv.h: New file, from GNU gettext.
130159         * lib/xsetenv.c: New file, from GNU gettext.
130161 2003-01-23  Jim Meyering  <jim@meyering.net>
130163         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
130164         from working on systems without dirfd (at least Irix and OSF1/Tru64).
130166 2003-01-23  Bruno Haible  <bruno@clisp.org>
130168         * modules/minmax: New module.
130169         * MODULES.html.sh (func_all_modules): Add it.
130171 2003-01-23  Bruno Haible  <bruno@clisp.org>
130173         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
130174         Eggert.
130176 2003-01-22  Bruno Haible  <bruno@clisp.org>
130178         * modules/exit: New module.
130179         * MODULES.html.sh (func_all_modules): Add it.
130181 2003-01-22  Bruno Haible  <bruno@clisp.org>
130183         * lib/exit.h: New file, from GNU gettext.
130185 2003-01-19  Bruno Haible  <bruno@clisp.org>
130187         * gnulib-tool: Recognize option --extract-maintainer.
130188         (func_get_maintainer): New function.
130189         * modules/*: Add Maintainer entry.
130191 2003-01-16  Jim Meyering  <jim@meyering.net>
130193         * m4/regex.m4: The `regex' struct is both input and output.
130194         Initialize it before each use.  Patch by Tim Waugh.
130196 2003-01-16  Bruno Haible  <bruno@clisp.org>
130198         * MODULES.html.sh: Add a table of contents. Add the module name as
130199         leftmost column. Add hyperlinks.
130201 2003-01-15  Bruno Haible  <bruno@clisp.org>
130203         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
130205 2003-01-15  Bruno Haible  <bruno@clisp.org>
130207         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
130208         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
130209         suffix.
130211 2003-01-15  Bruno Haible  <bruno@clisp.org>
130213         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
130215 2003-01-15  Bruno Haible  <bruno@clisp.org>
130217         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
130218         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
130220 2003-01-14  Jim Meyering  <jim@meyering.net>
130222         * lib/same.c (same_name): Tweak a comment.
130224 2003-01-14  Bruno Haible  <bruno@clisp.org>
130226         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
130227         when a string comparison is sufficient.
130229 2003-01-14  Bruno Haible  <bruno@clisp.org>
130231         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
130232         'unsigned int'.
130234 2003-01-14  Bruno Haible  <bruno@clisp.org>
130236         * lib/hash-pjw.c: Add comment about low quality of this function.
130238 2003-01-13  Bruno Haible  <bruno@clisp.org>
130240         * modules/stpcpy: Distribute lib/stpcpy.h.
130241         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
130243 2003-01-13  Bruno Haible  <bruno@clisp.org>
130245         * modules/*: Add a description.
130246         * modules/strpbrk: Fix Makefile.am snippet.
130247         * modules/strtoimax: Fix dependencies.
130248         * modules/strtoumax: Likewise.
130250 2003-01-13  Bruno Haible  <bruno@clisp.org>
130252         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
130253         * modules/alloca (Makefile.am): All object files depend on alloca.h.
130254         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
130256 2003-01-13  Bruno Haible  <bruno@clisp.org>
130258         * gnulib-tool (func_create_testdir): Store config/* files in the main
130259         directory.
130260         * config.rpath: Move to ...
130261         * config/config.rpath: ... here.
130262         * modules/gettext: Contains config/config.rpath, not config.rpath.
130263         * modules/iconv: Likewise.
130265 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130267         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130268         to avoid collisions with libcurses and libreadline.
130270         * m4/getstr.m4: Remove.
130271         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
130273 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130275         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130276         to avoid collisions with libcurses and libreadline.
130278         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
130279         * lib/getstr.h, getstr.c: Remove.
130280         * lib/getline.c: Include "getline.h", to check interface.
130281         Move body of old getstr.c here: this defines MIN_CHUNK and
130282         declares getdelim2, which is renamed from getstr.
130283         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
130285         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
130286         All uses changed.
130287         * lib/linebuffer.h: Likewise.
130288         (readline): Remove backward-compatibility macro.
130290 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130292         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130293         to avoid collisions with libcurses and libreadline.
130294         * getstr: Remove.
130295         * MODULES.html.sh: Remove getstr.
130296         * modules/getline: Depend on unlocked-io, not getstr.
130298 2003-01-12  Jim Meyering  <jim@meyering.net>
130300         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
130302 2003-01-10  Bruno Haible  <bruno@clisp.org>
130304         * modules/alloca: Change Makefile.am requirements. Simplify Include
130305         requirements. Add lib/alloca_.h to file list.
130307 2003-01-10  Bruno Haible  <bruno@clisp.org>
130309         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
130311 2003-01-10  Bruno Haible  <bruno@clisp.org>
130313         * lib/alloca_.h: New file.
130314         * lib/getdate.y: Unconditionally include alloca.h.
130315         * lib/makepath.c: Likewise.
130316         * lib/setenv.c: Likewise.
130317         * lib/userspec.c: Likewise.
130319 2003-01-09  Karl Berry  <karl@gnu.org>
130321         * MODULES.html.sh: include `dirname $0` in PATH, to find
130322         gnulib-tool.
130324 2003-01-09  Bruno Haible  <bruno@clisp.org>
130326         * modules/stdbool: Change configure.ac, Makefile.am requirements.
130327         Simplify Include requirements. Add lib/stdbool.h.in to file list.
130329 2003-01-09  Bruno Haible  <bruno@clisp.org>
130331         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
130333 2003-01-09  Bruno Haible  <bruno@clisp.org>
130335         * lib/stdbool.h.in: New file.
130337 2003-01-09  Bruno Haible  <bruno@clisp.org>
130339         * gnulib-tool (func_all_modules): Ignore files ending in ~.
130340         * MODULES.html.sh: Likewise.
130342 2003-01-08  Jim Meyering  <jim@meyering.net>
130344         * lib/full-write.c: Undefine and define-away `const' after inclusion
130345         of errno.h, not before.  Suggestion from Bruno Haible.
130347 2003-01-08  Bruno Haible  <bruno@clisp.org>
130349         * modules/full-read: Depend on full-write.
130351 2003-01-08  Bruno Haible  <bruno@clisp.org>
130353         * lib/safe-read.c: Include specification header first, to ensure its
130354         selfcontainedness.
130355         * lib/full-write.c: Likewise.
130357 2003-01-07  Jim Meyering  <jim@meyering.net>
130359         * lib/full-write.c: Rework so that it may serve to define full_read,
130360         too.
130361         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
130363 2003-01-07  Bruno Haible  <bruno@clisp.org>
130365         * lib/strtoimax.c: Include <stdint.h> as an alternative to
130366         <inttypes.h>.
130367         * lib/xstrtol.h: Likewise.
130368         * lib/xstrtoimax.c: Likewise.
130369         * lib/xstrtoumax.c: Likewise.
130370         * lib/human.h: Likewise.
130372         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
130373         on systems that have <inttypes.h> but not <stdint.h>.
130375 2003-01-07  Bruno Haible  <bruno@clisp.org>
130377         * MODULES.html.sh: Add copyright notice.
130378         (missed_files): Omit CVS directory entries.
130379         (func_module): Make it work with sed-3.02.
130380         * MODULES.txt: Remove file.
130382 2003-01-06  Jim Meyering  <jim@meyering.net>
130384         * lib/version-etc.c: Update year in translatable copyright string.
130386 2003-01-03  Karl Berry  <karl@gnu.org>
130388         * config/config.{guess,sub}: update from prep.
130390 2003-01-02  Karl Berry  <karl@gnu.org>
130392         * doc/COPYING.DOC: belatedly updated to 1.2.
130394 2003-01-01  Karl Berry  <karl@gnu.org>
130396         * gnulib-tool (func_verify_module): report module name $module in
130397         error message, not $1.
130398         * gnulib-tool (create-testdir): don't complain if destdir couldn't
130399         be created, only if it doesn't exist.
130400         * gnulib-tool (last_checkin_date): don't expand the $Date here.
130402 2002-12-31  Paul Eggert  <eggert@twinsun.com>
130404         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
130406 2002-12-31  Paul Eggert  <eggert@twinsun.com>
130408         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
130409         memcmp if strcoll doesn't work.
130411 2002-12-31  Bruno Haible  <bruno@clisp.org>
130413         * lib/utime.c (utime_null): No need to call ftruncate if the file was
130414         nonempty.
130416 2002-12-31  Bruno Haible  <bruno@clisp.org>
130418         * lib/memcoll.c (STRCOLL): New macro.
130419         (memcoll): Use it.
130421 2002-12-31  Bruno Haible  <bruno@clisp.org>
130423         * lib/localcharset.h: New file.
130424         * lib/localcharset.c: Include it.
130425         * lib/unicodeio.c: Likewise.
130427 2002-12-31  Bruno Haible  <bruno@clisp.org>
130429         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
130430         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
130432 2002-12-31  Bruno Haible  <bruno@clisp.org>
130434         * lib/getline.h: Include <stddef.h>, for size_t.
130436         * lib/unicodeio.h: Include <stddef.h>, for size_t.
130437         * lib/unicodeio.c: Don't include <stddef.h>.
130439 2002-12-31  Bruno Haible  <bruno@clisp.org>
130441         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
130442         HAVE_TM_ZONE.
130444 2002-12-24  Karl Berry  <karl@gnu.org>
130446         * config/config.guess: update from prep.
130448 2002-12-24  Bruno Haible  <bruno@clisp.org>
130450         General infrasructure.
130451         * m4/README: Rewritten.
130452         * m4/onceonly.m4: New file.
130453         * m4/onceonly_2_57.m4: New file.
130455         Module atexit.
130456         * m4/atexit.m4: New file.
130458         Module strtod.
130459         * m4/strtod.m4: New file.
130461         Module strtol.
130462         * m4/strtol.m4: New file.
130464         Module strtoul.
130465         * m4/strtoul.m4: New file.
130467         Module memchr.
130468         * m4/memchr.m4: New file.
130470         Module memcmp.
130471         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
130472         (jm_FUNC_MEMCMP): Invoke it.
130474         Module memcpy.
130475         * m4/memcpy.m4: New file.
130477         Module memmove.
130478         * m4/memmove.m4: New file.
130480         Module memset.
130481         * m4/memset.m4: New file.
130483         Module strcspn.
130484         * m4/strcspn.m4: New file.
130486         Module strpbrk.
130487         * m4/strpbrk.m4: New file.
130489         Module strstr.
130490         * m4/strstr.m4: New file.
130492         Module strerror.
130493         * m4/strerror.m4: New file.
130495         Module mktime.
130496         * m4/mktime.m4: Renamed from jm-mktime.m4.
130497         (gl_PREREQ_MKTIME): New macro.
130498         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
130500         Module malloc.
130501         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
130502         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
130503         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
130505         Module realloc.
130506         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
130507         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
130508         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
130510         Module strftime.
130511         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
130512         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
130513         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
130514         gl_TM_GMTOFF.
130515         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
130517         Module xalloc.
130518         * m4/xalloc.m4: New file.
130520         Module alloca.
130521         * m4/alloca.m4: New file.
130523         Module putenv.
130524         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
130525         (jm_FUNC_PUTENV): Invoke it.
130527         Module setenv.
130528         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
130529         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
130530         when invoked twice.
130531         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
130532         gt_FUNC_SETENV.
130534         Module memrchr.
130535         * m4/memrchr.m4: New file.
130537         Module stpcpy.
130538         * m4/stpcpy.m4: New file.
130540         Module strcase.
130541         * m4/strcase.m4: New file.
130543         Module strdup.
130544         * m4/strdup.m4: New file.
130546         Module strnlen.
130547         * m4/strnlen.m4: New file.
130549         Module strndup.
130550         * m4/strndup.m4: New file.
130552         Module xstrtod.
130553         * m4/xstrtod.m4: New file.
130555         Module xstrtol.
130556         * m4/xstrtol.m4: New file.
130558         Module getdate.
130559         * m4/getdate.m4: New file.
130561         Module unlocked-io.
130562         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
130563         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
130564         * m4/jm-glibc-io.m4n: Remove file.
130566         Module long-options.
130567         * m4/long-options.m4: New file.
130569         Module md5.
130570         * m4/md5.m4: New file.
130572         Module sha.
130573         * m4/sha.m4: New file.
130575         Module getstr.
130576         * m4/getstr.m4: New file.
130578         Module getline.
130579         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
130580         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
130581         <sys/types.h>, for size_t. Use the function name gnu_getline, not
130582         simply getline. Infoke gl_PREREQ_GETLINE.
130584         Module obstack.
130585         * m4/obstack.m4: New file.
130587         Module hash.
130588         * m4/hash.m4: New file.
130590         Module readtokens.
130591         * m4/readtokens.m4: New file.
130593         Module strverscmp.
130594         * m4/strverscmp.m4: New file.
130596         Module stdbool.
130597         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
130598         OSF/1.
130600         Module strtoll.
130601         * m4/strtoll.m4: New file.
130603         Module strtoull.
130604         * m4/strtoull.m4: New file.
130606         Module strtoimax.
130607         * m4/strtoimax.m4: New file.
130609         Module strtoumax.
130610         * m4/strtoumax.m4: New file.
130612         Module xstrtoimax.
130613         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
130614         jm_AC_PREREQ_XSTRTOIMAX.
130615         Moved the strtol prerequisites to strtol.m4.
130616         Moved the strtoll prerequisites to strtoll.m4.
130617         Moved the strtoimax prerequisites to strtoimax.m4.
130619         Module xstrtoumax.
130620         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
130621         jm_AC_PREREQ_XSTRTOUMAX.
130622         Moved the strtoul prerequisites to strtoul.m4.
130623         Moved the strtoull prerequisites to strtoull.m4.
130624         Moved the strtoumax prerequisites to strtoumax.m4.
130626         Module chown.
130627         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
130628         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
130630         Module dup2.
130631         * m4/dup2.m4: New file.
130633         Module ftruncate.
130634         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
130635         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
130637         Module getgroups.
130638         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
130639         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
130641         Module gettimeofday.
130642         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
130643         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
130644         gl_PREREQ_GETTIMEOFDAY.
130646         Module mkdir.
130647         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
130648         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
130650         Module mkstemp.
130651         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
130652         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
130653         jm_AC_TYPE_UINTMAX_T.
130654         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
130656         Module stat.
130657         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
130658         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
130660         Module lstat.
130661         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
130662         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
130664         Module timespec.
130665         * m4/timespec.m4 (gl_TIMESPEC): New macro.
130666         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
130667         * m4/st_mtim.m4: Indentation.
130669         Module nanosleep.
130670         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
130671         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
130672         gl_PREREQ_NANOSLEEP.
130674         Module regex.
130675         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
130676         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
130677         (gl_REGEX): New macro.
130679         Module rename.
130680         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
130681         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
130683         Module rmdir.
130684         * m4/rmdir.m4: New file.
130686         Module utime.
130687         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
130688         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
130689         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
130691         Module dirname.
130692         * m4/dirname.m4: New file.
130694         Module getopt.
130695         * m4/getopt.m4: New file.
130697         Module unistd-safer.
130698         * m4/unistd-safer.m4: New file.
130700         Module fnmatch.
130701         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
130702         declaration.
130703         (gl_PREREQ_FNMATCH_EXTRA): New macro.
130704         (gl_FUNC_FNMATCH_POSIX): New macro.
130705         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
130706         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
130707         simply fnmatch.
130709         Module exclude.
130710         * m4/exclude.m4: New file.
130712         Module human.
130713         * m4/human.m4: New file.
130715         Module acl.
130716         * m4/acl.m4: Nop.
130718         Module backupfile.
130719         * m4/backupfile.m4: New file.
130720         * m4/d-ino.m4: Indentation.
130722         Module fsusage.
130723         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
130724         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
130725         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
130727         Module dirfd.
130728         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
130729         requirements.
130731         Module euidaccess.
130732         * m4/euidaccess.m4: New file.
130734         Module file-type.
130735         * m4/file-type.m4: New file.
130737         Module fileblocks.
130738         * m4/fileblocks.m4: New file.
130740         Module filemode.
130741         * m4/filemode.m4: New file.
130743         Module isdir.
130744         * m4/isdir.m4: New file.
130746         Module lchown.
130747         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
130748         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
130750         Module makepath.
130751         * m4/makepath.m4: New file.
130753         Module modechange.
130754         * m4/modechange.m4: New file.
130756         Module mountlist.
130757         * m4/mountlist.m4: New file.
130758         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
130759         Indentation.
130761         Module path-concat.
130762         * m4/path-concat.m4: New file.
130764         Module pathmax.
130765         * m4/pathmax.m4: New file.
130767         Module same.
130768         * m4/same.m4: New file.
130770         Module save-cwd.
130771         * m4/save-cwd.m4: New file.
130773         Module savedir.
130774         * m4/savedir.m4: New file.
130776         Module xgetcwd.
130777         * m4/xgetcwd.m4: New file.
130778         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
130780         Module xreadlink.
130781         * m4/xreadlink.m4: New file.
130783         Module safe-read.
130784         * m4/safe-read.m4: New file.
130786         Module safe-write.
130787         * m4/safe-write.m4: New file.
130789         Module closeout.
130790         * m4/closeout.m4: New file.
130792         Module stdio-safer.
130793         * m4/stdio-safer.m4: New file.
130795         Module getpass.
130796         * m4/getpass.m4: New file.
130798         Module getugroups.
130799         * m4/getugroups.m4: New file.
130801         Module group-member.
130802         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
130803         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
130805         Module idcache.
130806         * m4/idcache.m4: New file.
130808         Module userspec.
130809         * m4/userspec.m4: New file.
130811         Module gettime.
130812         * m4/clock_time.m4: New file.
130813         * m4/gettime.m4: New file.
130815         Module settime.
130816         * m4/settime.m4: New file.
130818         Module posixtm.
130819         * m4/posixtm.m4: New file.
130821         Module gethostname.
130822         * m4/gethostname.m4: New file.
130824         Module canon-host.
130825         * m4/canon-host.m4: New file.
130827         Module gettext.
130828         * m4/codeset.m4: New file, from gettext-0.11.5.
130829         * m4/gettext.m4: New file, from gettext-0.11.5.
130830         * m4/glibc21.m4: New file, from gettext-0.11.5.
130831         * m4/iconv.m4: New file, from gettext-0.11.5.
130832         * m4/intdiv0.m4: New file, from gettext-0.11.5.
130833         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
130834         * m4/inttypes.m4: New file, from gettext-0.11.5.
130835         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
130836         * m4/isc-posix.m4: New file, from gettext-0.11.5.
130837         * m4/lcmessage.m4: New file, from gettext-0.11.5.
130838         * m4/lib-ld.m4: New file, from gettext-0.11.5.
130839         * m4/lib-link.m4: New file, from gettext-0.11.5.
130840         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
130841         * m4/progtest.m4: New file, from gettext-0.11.5.
130842         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
130843         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
130844         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
130846         Module localcharset.
130847         * m4/localcharset.m4: New file.
130849         Module hard-locale.
130850         * m4/hard-locale.m4: New file.
130852         Module mbswidth.
130853         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
130854         onceonly macros.
130855         * m4/mbrtowc.m4: Add comment.
130857         Module memcasecmp.
130858         * m4/memcasecmp.m4: New file.
130860         Module memcoll.
130861         * m4/memcoll.m4: New file.
130863         Module unicodeio.
130864         * m4/unicodeio.m4: New file.
130866         Module rpmatch.
130867         * m4/rpmatch.m4: New file.
130869         Module yesno.
130870         * m4/yesno.m4: New file.
130872         Module exitfail.
130873         * m4/exitfail.m4: New file.
130875         Module c-stack.
130876         * m4/c-stack.m4 (gl_C_STACK): New macro.
130877         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
130879         Module error.
130880         * m4/error.m4 (gl_ERROR): New macro.
130881         (jm_PREREQ_ERROR): Use onceonly macros.
130883         Module fatal.
130884         * m4/fatal.m4: New file.
130886         Module getloadavg.
130887         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
130888         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
130890         Module getpagesize.
130891         * m4/getpagesize.m4: New file.
130893         Module getusershell.
130894         * m4/getusershell.m4: New file.
130896         Module physmem.
130897         * m4/physmem.m4: New file.
130899         Module posixver.
130900         * m4/posixver.m4: New file.
130902         Module quotearg.
130903         * m4/quotearg.m4: New file.
130905         Module quote.
130906         * m4/quote.m4: New file.
130908         Module readutmp.
130909         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
130911         Module sig2str.
130912         * m4/sig2str.m4: New file.
130914         Other.
130915         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
130916         ulonglong.m4.
130917         * m4/intmax_t.m4: New file.
130918         * m4/d-type.m4: Indentation.
130919         * m4/jm-macros.m4: Update.
130920         * m4/prereq.m4 (jm_PREREQ): Update.
130921         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
130922         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
130923         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
130924         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
130925         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
130926         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
130927         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
130928         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
130929         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
130930         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
130931         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
130932         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
130933         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
130934         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
130935         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
130936         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
130937         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
130938         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
130939         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
130941 2002-12-24  Bruno Haible  <bruno@clisp.org>
130943         * MODULES.txt: Update according to m4/ changes.
130945         Module gettext.
130946         * config.rpath: New file, from gettext-0.11.5.
130948         * modules/*: New module descriptions.
130949         * gnulib-tool: New file.
130950         * MODULES.html.sh: New file.
130952 2002-12-21  Karl Berry  <karl@gnu.org>
130954         * doc/fdl.texi: update to version 1.2.
130956 2002-12-19  Karl Berry  <karl@gnu.org>
130958         * config/config.guess: update from prep.
130960 2002-12-18  Bruno Haible  <bruno@clisp.org>
130962         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
130963         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
130965 2002-12-17  Bruno Haible  <bruno@clisp.org>
130967         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
130968         stdlib.h, string.h.
130970 2002-12-17  Bruno Haible  <bruno@clisp.org>
130972         * lib/canon-host.c (strdup): Remove unused declaration.
130974         * lib/fsusage.c: Include full_read.h.
130975         (get_fs_usage): Use full_read instead of safe_read.
130977         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
130979 2002-12-12  Karl Berry  <karl@gnu.org>
130981         * config/config.guess: update from prep.
130983 2002-12-11  Bruno Haible  <bruno@clisp.org>
130985         * m4/setenv.m4: New file, from gettext-0.11.5.
130987 2002-12-11  Bruno Haible  <bruno@clisp.org>
130989         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
130990         not unsetenv().
130991         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
130992         modifications:
130994         2002-12-11  Bruno Haible  <bruno@clisp.org>
130996                 * setenv.c (alloca): Fall back to malloc.
130997                 (freea): New macro.
130998                 (setenv): Use freea() to free memory allocated with alloca().
131000         2002-11-13  Bruno Haible  <bruno@clisp.org>
131002                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
131003                 function declarations.
131004                 * unsetenv.c (unsetenv): Likewise.
131006         2002-03-04  Bruno Haible  <bruno@clisp.org>
131008                 Portability to AIX 4.3.3.
131009                 * unsetenv.c: New file, extracted from setenv.c.
131010                 * setenv.c: Move the unsetenv() function to unsetenv.c.
131012         2001-12-20  Bruno Haible  <bruno@clisp.org>
131014                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
131015                 use malloc instead. For SunOS 4.
131017         2001-12-11  Bruno Haible  <bruno@clisp.org>
131019                 * setenv.c: Declare alloca.
131020                 (compar_fn_t): New typedef.
131021                 (KNOWN_VALUE, STORE_VALUE): Use it.
131023         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
131024         setenv.h.
131026 2002-12-10  Paul Eggert  <eggert@twinsun.com>
131028         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
131029         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
131030         Choose values that are less likely to collide with system fnmatch
131031         options.
131032         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
131033         defined (e.g., a pure POSIX system).
131034         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
131035         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
131037 2002-12-06  Paul Eggert  <eggert@twinsun.com>
131039         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
131040         a pain in practice to deal with generated m4 files.  This change
131041         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
131043         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
131044         and jm-glibc-io.m4, as they are no longer a special case.
131045         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
131046         kludge and the auto-generation stuff.  Check only whether the
131047         functions are declared, not whether they exist, since older hosts
131048         that don't declare the functions can't use the optimization anyway.
131050 2002-12-06  Jim Meyering  <jim@meyering.net>
131052         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
131054         Merge in changes from libc's misc/error.c, in preparation
131055         for the merge of gnulib's changes back into libc.
131057         * lib/error.c (_): Define only if not already defined.
131058         Move definition to follow all #include directives.
131059         Include unlocked-io.h only if !_LIBC.
131060         [_LIBC]: Include <libio/libioP.h>.
131061         [USE_IN_LIBIO]: Include <libio/iolibio.h>
131062         (fflush): Tweak definition to use INTUSE.
131063         (putc): Define.
131065 2002-12-05  Paul Eggert  <eggert@twinsun.com>
131067         * lib/alloca.c [defined emacs]: Include "lisp.h".
131068         (xalloc_die) [defined emacs]: New macro.
131069         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
131070         [! defined emacs]: Include <xalloc.h>.
131071         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
131072         (pointer): Typedef to POINTER_TYPE *.
131073         (malloc): Remove decl; we now always use xmalloc.
131074         (alloca): Use old-style definition, since Emacs needs this.
131075         Check for arithmetic overflow when computing combined size.
131077 2002-12-04  Paul Eggert  <eggert@twinsun.com>
131079         Do not generate unlocked-io.h automatically, since it's easier to
131080         maintain it by hand.
131082         * lib/unlocked-io.h: New file, from GNU diffutils,
131083         but with proper copyright notice and attribution.
131084         * lib/gen-uio: Remove.
131085         * lib/Makefile.am: Add copyright notice.
131086         (libfetish_a_SOURCES): Add unlocked-io.h.
131087         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
131088         (DISTCLEANFILES, io_functions): Remove macros.
131089         (EXTRA_DIST): Remove gen_uio.
131090         (unlocked-io.h): Remove rule.
131092 2002-12-04  Jim Meyering  <jim@meyering.net>
131094         Reflect the fact that stat.c and lstat.c are no longer generated.
131095         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
131096         (DISTCLEANFILES): Likewise.
131097         (EXTRA_DIST): Likewise.
131098         (all_local): Don't depend on stat.c or lstat.c.
131099         (stat.c, lstat.c): Remove rules.
131100         (EXTRA_DIST): Remove xstat.in.
131102         * lib/xstat.in: Remove file.  Contents moved into stat.c.
131103         * lib/stat.c: New file.  Contents mostly from xstat.in.
131104         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
131105         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
131107         * lib/safe-read.c: Rework so that it may serve to define safe_write,
131108         too.
131109         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
131111 2002-12-03  Jim Meyering  <jim@meyering.net>
131113         * lib/safe-read.c, safe-write.c: Change variable names and comments,
131114         but not semantics, to minimize the differences between these two files.
131115         (safe_read): Change comment to mention SAFE_READ_ERROR.
131117         * lib/safe-read.c (IS_EINTR): Define.
131118         (safe_read): Use IS_EINTR in place of in-function cpp directives.
131120 2002-12-02  Jim Meyering  <jim@meyering.net>
131122         * lib/safe-read.c (EINTR): Define.
131123         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
131124         (INT_MAX): Provide fallback.
131125         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
131127         * lib/safe-read.h (SAFE_READ_ERROR): Define.
131129 2002-12-02  Bruno Haible  <bruno@clisp.org>
131131         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
131132         Define, taken from safe-read.c.
131133         (INT_MAX): Provide fallback.
131134         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
131135         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
131137         * lib/safe-read.c (EINTR): Remove definition.
131138         (safe_read): Don't use EINTR if it is absent.
131140 2002-12-01  Jim Meyering  <jim@meyering.net>
131142         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
131143         zero.
131144         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
131146 2002-11-27  Paul Eggert  <eggert@twinsun.com>
131148         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
131149         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
131150         with `if (! (value < limit)) abort ();', for readability.
131152 2002-11-26  Karl Berry  <karl@gnu.org>
131154         * lib/strdup.c: copy from libc again, with jim's ok.
131155         * lib/.cppi-disable: re-add strdup.c
131157 2002-11-25  Karl Berry  <karl@gnu.org>
131159         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
131160         instead of "strtol.c".
131162 2002-11-25  Karl Berry  <karl@gnu.org>
131164         * config/install-sh: update from automake for variable quoting, $0 in
131165         error msgs, etc.
131167         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
131168         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
131169         entry.
131171 2002-11-25  Jim Meyering  <jim@meyering.net>
131173         * lib/mktime.c: Sync from libc, now that it has the latest fix.
131175 2002-11-24  Karl Berry  <karl@gnu.org>
131177         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
131178         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
131180 2002-11-24  Jim Meyering  <jim@meyering.net>
131182         Update from coreutils:
131184         * lib/mktime.c: Merge in changes from libc.
131186         Avoid a link-time failure on some Linux systems.
131187         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
131188         (otherwise).
131189         (__mon_yday): Declare with the STATIC attribute.
131190         (__mktime_internal): Likewise.
131191         Based on a report from Greg Schafer.
131193 2002-11-23  Jim Meyering  <jim@meyering.net>
131195         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
131196         Use `unsigned', not `int', as type of index.
131198         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
131200         * lib/fsusage.c: Remove unneeded parentheses around operands of
131201         `defined'.
131203 2002-11-22  Paul Eggert  <eggert@twinsun.com>
131205         * lib/quotearg.h: Allow multiple inclusion by surrounding with
131206         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
131207         so that we can be included first.
131208         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
131209         * lib/quotearg.c: Include quotearg.h immediately after config.h.
131210         No need to include stddef.h or sys/types.h any more.
131211         Surround local include files with "", not "<>".
131212         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
131213         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
131214         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
131215         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
131216         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
131217         (ISPRINT): Remove; no longer needed now that we assume C89.
131219         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
131220         Preserve errno.
131222         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
131223         quotearg_char): Use SIZE_MAX rather than
131224         (size_t) -1 when we are talking about "infinity".
131226         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
131228 2002-11-22  Paul Eggert  <eggert@twinsun.com>
131230         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
131231         hint that one should use `if (! x) abort ();' rather than `assert
131232         (x);', and anyway it's one less thing to worry about configuring.
131233         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
131234         hash_rehash, hash_insert): Use abort rather than assert.
131236 2002-11-22  Bruno Haible  <bruno@clisp.org>
131238         * lib/safe-read.h: Assume C89. Add comments.
131239         (safe_read): Change return type to size_t.
131240         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
131241         byte counts > SSIZE_MAX correctly.
131242         * lib/safe-write.h: New file.
131243         * lib/safe-write.c: New file.
131244         * lib/full-read.h: New file.
131245         * lib/full-read.c: New file.
131246         * lib/full-write.h: Assume C89. Add comments.
131247         * lib/full-write.c: Include safe-write.h.
131248         (full_write): Rewritten to use safe_write.
131249         Suggested by Jim Meyering and Paul Eggert.
131251 2002-11-21  Jim Meyering  <jim@meyering.net>
131253         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
131255         Merge in changes from the coreutils.
131257         2002-09-25  Paul Eggert  <eggert@twinsun.com>
131258         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
131259         <stdint.h>.
131260         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
131261         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
131262         int.  Work more efficiently if X is the same width as uintmax_t.
131263         Do not compare X to -1, to avoid bogus compiler warning.
131264         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
131265         Don't assume that f_frsize and f_bsize are the same type.
131267         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
131268         warning on FreeBSD.
131270         * lib/makepath.c (make_path): Restore umask *before* creating the final
131271         component.
131272         (make_path): Minor reformatting.
131274         * lib/xmalloc.c: Adjust to work with new autoconf macros,
131275         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
131276         HAVE_MALLOC/HAVE_REALLOC.
131278         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
131279         dummy ones.  At least on GNU/Linux systems, `auto' means something
131280         else.
131281         From Michael Stone.
131283 2002-11-21  Bruno Haible  <bruno@clisp.org>
131285         Remove case insensitive option matching.
131286         * lib/argmatch.h (argcasematch): Remove declaration.
131287         (ARGCASEMATCH): Remove macro.
131288         (__xargmatch_internal): Remove case_sensitive argument.
131289         (XARGMATCH): Update.
131290         (XARGCASEMATCH): Remove macro.
131291         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
131292         case_sensitive argument.
131293         (argcasematch): Remove function.
131294         (__xargmatch_internal): Remove case_sensitive argument.
131295         (main): Use XARGMATCH instead of XARGCASEMATCH.
131297         * lib/xmalloc.c: Change compile-time error message. Add comment about
131298         required autoconf version.
131300 2002-11-20  Paul Eggert  <eggert@twinsun.com>
131302         Merge argmatch cleanups from Bison.  Assume C89.
131304         * lib/argmatch.c: Include config.h here, not in argmatch.h.
131305         Include stdlib.h, for EXIT_FAILURE.
131306         Always include <string.h>, since we assume C89.
131307         (EXIT_FAILURE): Remove pre-C89 bug workaround.
131308         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
131309         Include <stddef.h> instead, since it's all we need for size_t.
131310         (PARAMS): Remove.  All uses removed.
131311         (ARRAY_CARDINALITY): Do not bother to #undef.
131312         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
131313         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
131314         Remove unnecessary parentheses.
131315         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
131316         Insert necessary parentheses.
131317         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
131318         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
131320 2002-11-19  Bruno Haible  <bruno@clisp.org>
131322         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
131323         * lib/mbswidth.h: Include <stddef.h>, for size_t.
131325         * lib/mbswidth.h (PARAMS): Remove macro.
131326         (mbswidth, mbsnwidth): Use ANSI C function declarations.
131327         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
131329         * lib/gcd.h (PARAMS): Remove macro.
131330         (gcd): Use ANSI C function declarations.
131331         * lib/gcd.c (gcd): Likewise.
131333 2002-11-15  Bruno Haible  <bruno@clisp.org>
131335         * lib/strcspn.c: Include <stddef.h>.
131336         (strcspn): Use ANSI C function declaration. Change return type to
131337         size_t. Use NULL.
131338         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
131339         (strpbrk): Use NULL.
131340         * lib/strpbrk.h (PARAMS): Remove macro.
131341         (strpbrk): Use ANSI C function declaration.
131342         * lib/strstr.c: Don't include <sys/types.h>.
131343         * lib/strstr.h (PARAMS): Remove macro.
131344         (strstr): Use ANSI C function declarations.
131346 2002-11-14  Karl Berry  <karl@gnu.org>
131348         * config/mkinstalldirs: `do' on separate line, instead of
131349         `for var; do'.
131351 2002-11-06  Bruno Haible  <bruno@clisp.org>
131353         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
131354         * lib/gcd.c (gcd): Likewise.
131356 2002-11-05  Bruno Haible  <bruno@clisp.org>
131358         * lib/gcd.h: New file, from gettext-0.11.5.
131359         * lib/gcd.c: New file, from gettext-0.11.5.
131361 2002-11-05  Bruno Haible  <bruno@clisp.org>
131363         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131364         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131365         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131366         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131368         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
131369         <libintl.h>.
131370         * lib/makepath.c: Include gettext.h instead of <locale.h> and
131371         <libintl.h>.
131373         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
131374         * lib/human.c: Include gettext.h instead of <libintl.h>.
131375         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
131376         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
131377         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
131378         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
131379         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
131380         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
131381         (textdomain): Remove definition.
131382         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
131384         * lib/long-options.c: Remove include of <libintl.h> and definition of
131385         _.
131386         * lib/same.c: Remove include of <libintl.h> and definition of _.
131388 2002-11-04  Owen Taylor  <otaylor@redhat.com>
131390         * lib/config.charset: A few additions for Solaris.
131392 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
131394         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
131395         * lib/localcharset.c (locale_charset): Declare as extern "C".
131397 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
131399         * lib/config.charset: msdos in uk_UA uses CP1125.
131401 2002-11-04  Bruno Haible  <bruno@clisp.org>
131403         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
131404         * lib/strcase.h: New file, from GNU gettext-0.11.5.
131405         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
131406         * lib/strstr.h: New file, from GNU gettext-0.11.5.
131407         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
131409 2002-11-04  Bruno Haible  <bruno@clisp.org>
131411         * lib/localcharset.c (locale_charset): Don't return an empty string.
131413 2002-11-04  Bruno Haible  <bruno@clisp.org>
131415         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
131416         aliases.
131418 2002-11-04  Bruno Haible  <bruno@clisp.org>
131420         * lib/config.charset: Update for newest glibc. Add canonical names
131421         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
131423 2002-11-04  Bruno Haible  <bruno@clisp.org>
131425         * lib/config.charset: Add support for NetBSD.
131427 2002-11-04  Bruno Haible  <bruno@clisp.org>
131429         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
131431 2002-11-01  Bruno Haible  <bruno@clisp.org>
131433         * configure.in: Add AC_CONFIG_AUX_DIR call.
131434         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
131435         test/Makefile.
131436         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
131438 2002-09-28  Karl Berry  <karl@gnu.org>
131440         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
131441         installed automake until the next release, since changes have been
131442         made.
131444 2002-09-25  Karl Berry  <karl@gnu.org>
131446         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
131447         * lib/getopt*: copy from libc/posix.
131448         * lib/gettext.h: copy from gettext.
131449         * lib/.cppi-disable: add strdup.c, gettext.h.
131451 2002-09-25  Karl Berry  <karl@gnu.org>
131453         * config/srclist.txt: enable gettext.h check.
131454         * config/config.{guess,sub}: update from prep.
131455         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
131456                 from automake 1.6.3.
131457         See srclist*.
131459 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
131461         * regex.c (PATFETCH): Remove the translating fetch.
131462         (PATFETCH_RAW): Rename to PATFETCH.
131463         (set_image_of_range): New fun.
131464         (SET_RANGE_TABLE_WORK_AREA): Use it.
131465         (regex_compile): Don't translate the pattern chars so eagerly.
131466         Only do it when inserting an `exactn' bytecode or when handling
131467         a char-range.
131468         (mutually_exclusive_p): Avoid empty statement.
131470 2002-07-06  Jim Meyering  <meyering@lucent.com>
131472         * m4/README: Don't mention Makefile.am.in.
131473         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
131475 2002-07-01  Jim Meyering  <meyering@lucent.com>
131477         * lib/c-stack.c: Include sys/time.h.
131478         From Volker Borchert.
131480 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131482         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
131484 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131486         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
131487         New macro.  Use it uniformly instead of
131488         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
131489         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
131490         reported by Vin Shelton.
131492 2002-06-22  Paul Eggert  <eggert@twinsun.com>
131494         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
131495         Do not assume SA_SIGINFO behavior.
131496         Bug reported by Jim Meyering on NetBSD 1.5.2.
131498 2002-06-22  Jim Meyering  <meyering@lucent.com>
131500         * m4/c-stack.m4: New file, from diffutils-2.8.2.
131501         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
131503         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
131504         now that configure.ac uses AC_GNU_SOURCE.
131505         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
131506         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
131508         Update to latest tools.  Suggestions from Paul Eggert.
131509         * m4/stdbool.m4: New file, from diffutils-2.8.2.
131510         * m4/gnu-source.m4: Update from diffutils-2.8.2.
131511         * m4/fnmatch.m4: Likewise.
131512         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
131513         to AC_HEADER_STDBOOL
131515 2002-06-22  Jim Meyering  <meyering@lucent.com>
131517         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
131518         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
131520 2002-06-22  Jim Meyering  <meyering@lucent.com>
131522         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
131524         * lib/exitfail.c, exitfail.h: Likewise.
131525         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
131527         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
131528         of fnmatch.h.
131529         (EXTRA_DIST): Add fnmatch_loop.c.
131530         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
131532         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
131533         * lib/fnmatch.c: Update from diffutils-2.8.2.
131534         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
131535         * lib/fnmatch.h: Remove file.
131537 2002-06-21  Jim Meyering  <meyering@lucent.com>
131539         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
131540         * m4/mbrtowc.m4: Likewise.
131542         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
131543         * m4/mbswidth.m4: Reflect name change:
131544         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
131545         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131547         * m4/lib-link.m4: Update from gettext-0.11.2.
131548         * m4/gettext.m4: Likewise.
131550         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
131551         From Alfred M. Szmidt.
131553 2002-06-18  Paul Eggert  <eggert@twinsun.com>
131555         * lib/file-type.h: Report an error if neither S_ISREG nor
131556         S_IFREG is defined, instead of using a test specific to glibc
131557         2.2.  This should be safe, since POSIX requires S_ISREG and
131558         Unix Version 7 had S_IFREG.  We don't need to check for
131559         <sys/types.h> since we don't use any symbols that it defines.
131561 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
131563         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
131564         $@-t, so that each temporary file name is unique and valid in the first
131565         8 characters, for operation under DOS.
131567 2002-06-15  Paul Eggert  <eggert@twinsun.com>
131569         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
131571 2002-06-15  Jim Meyering  <meyering@lucent.com>
131573         Work even with DJGPP 2.03, which lacks support for symlinks.
131574         From Richard Dawe.
131575         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
131576         is defined.
131577         * lib/lchown.c (S_ISLNK): Likewise.
131579 2002-06-15  Jim Meyering  <meyering@lucent.com>
131581         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
131582         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
131583         have been included before this file.
131585 2002-06-14  Jim Meyering  <meyering@lucent.com>
131587         * lib/file-type.h: Use the version from diffutils-2.8.2.
131588         * lib/file-type.c: Likewise.
131590 2002-06-07  Jim Meyering  <meyering@lucent.com>
131592         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
131593         They're needed at least for NetBSD 1.5.2.
131594         ($statxfs_includes): Include those same headers.
131595         ($statxfs_includes): Include sys/vfs.h if available.
131596         ($statxfs_includes): Likewise for sys/statvfs.h.
131597         Check for the following members in both structs statfs and statvfs:
131598         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
131600 2002-06-01  Jim Meyering  <meyering@lucent.com>
131602         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
131603         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
131605 2002-05-28  Jim Meyering  <meyering@lucent.com>
131607         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
131608         Reported by Volker Borchert.
131610 2002-05-27  Jim Meyering  <meyering@lucent.com>
131612         Fix a problem seen only on nonconforming systems whereby ls.c's
131613         use of localtime, and then of gettimeofday would cause trouble:
131614         the localtime call used to initialize rpl_gettimeofday's save
131615         mechanism would clobber ls's current local time information so
131616         that in any long listing the first file would always be listed
131617         with date 1970-01-01.  Analysis by Volker Borchert.
131619         * lib/gettimeofday.c (localtime): Undefine.
131620         (rpl_localtime): New function.
131622 2002-05-27  Jim Meyering  <meyering@lucent.com>
131624         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
131625         localtime.
131627         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
131628         use the replacement function; it wouldn't resolve at link time.
131629         Reported by Volker Borchert.
131631 2002-05-22  Jim Meyering  <meyering@lucent.com>
131633         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
131634         file-type.h.
131635         * lib/file-type.h: New file.
131636         * lib/file-type.c (file_type): New file/function.  Extracted from
131637         diffutils.
131639 2002-04-30  Jim Meyering  <meyering@lucent.com>
131641         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
131643 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131645         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
131647 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131649         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
131650         Do not check for alloca.h (no longer used) or stdbool.h (was never
131651         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
131653 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131655         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
131657 2002-04-29  Jim Meyering  <meyering@lucent.com>
131659         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
131660         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
131661         Use AC_FUNC_STRNLEN here instead.
131663         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
131664         With autoconf-2.53a, it's part of AC_PROG_CC.
131666 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131668         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
131669         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
131671 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131673         * lib/sig2str.h, lib/sig2str.c: New files.
131674         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
131676 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131678         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
131679         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
131680         of 127, since 64 is the largest conceivable number for ancient
131681         nonstandard hosts.
131682         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
131684 2002-04-28  Jim Meyering  <meyering@lucent.com>
131686         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
131688 2002-04-24  Jim Meyering  <meyering@lucent.com>
131690         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
131691         (jm_PREREQ): Use it.
131693         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
131694         mach/mach.h fcntl.h.
131695         Check for this function: setlocale.
131697 2002-04-24  Jim Meyering  <meyering@lucent.com>
131699         * lib/gettext.h: New file, from Gettext.
131700         * lib/Makefile.am (INCLUDES): Remove -I../intl.
131701         (libfetish_a_SOURCES): Add gettext.h.
131703 2002-04-16  Jim Meyering  <meyering@lucent.com>
131705         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
131706         ut_pid, ut_id, ut_exit.
131708 2002-04-16  Jim Meyering  <meyering@lucent.com>
131710         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
131711         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
131712         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
131714 2002-04-12  Jim Meyering  <meyering@lucent.com>
131716         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
131717         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
131718         existence of the getmntinfo function.  Needed for Darwin 5.3.
131720         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
131721         This is necessary at least on Darwin 5.3.
131723         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
131724         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
131725         strnlen.o in the library, and that makes some versions of ranlib
131726         object.
131728 2002-04-12  Jim Meyering  <meyering@lucent.com>
131730         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
131732 2002-04-09  Jim Meyering  <meyering@lucent.com>
131734         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
131735         to be more precise.  Rather than saying we're checking whether the
131736         function `works', say what we're testing.
131737         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
131738         Reported by Bruno Haible.
131740 2002-03-10  Jim Meyering  <meyering@lucent.com>
131742         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
131743         Suggestion from Santiago Vila.
131745 2002-03-08  Jim Meyering  <meyering@lucent.com>
131747         * lib/rename.c: Mention that this wrapper is needed also on
131748         mips-dec-ultrix4.4 systems.
131750 2002-03-02  Jim Meyering  <meyering@lucent.com>
131752         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
131753         not HAVE_CLOCK_SETTIME.
131755 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131757         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
131758         Check for clock_settime.
131760 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131762         * lib/nanosleep.h: Rename to....
131763         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
131765         * lib/gettime.c: New file.
131766         * lib/settime.c: New file.
131767         * lib/stime.c: Remove.
131769         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
131770         timespec.h.  Remove nanosleep.h.
131772 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131774         * m4/acl.m4: New file.
131775         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
131776         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
131778 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131780         * lib/acl.c, lib/acl.h: New files.
131781         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
131783 2002-02-24  Jim Meyering  <meyering@lucent.com>
131785         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
131786         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
131787         cause trouble.  Reported by Nelson Beebe.
131789 2002-02-23  Paul Eggert  <eggert@twinsun.com>
131791         * lib/path-concat.c (xpath_concat): Reorder code to pacify
131792         compilers that don't know that xalloc_die never returns.
131794 2002-02-20  Jim Meyering  <meyering@lucent.com>
131796         * lib/getdate.c: Regenerate using bison-1.33.
131798 2002-02-17  Jim Meyering  <meyering@lucent.com>
131800         * config/config.guess (main): Don't use `head -1'; it's no longer
131801         portable. Use `sed 1q' instead.
131803 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
131805         * m4/codeset.m4: Upgrade to gettext-0.11.
131806         * m4/gettext.m4: Upgrade to gettext-0.11.
131807         * m4/glibc21.m4: Upgrade to gettext-0.11.
131808         * m4/iconv.m4: Upgrade to gettext-0.11.
131809         * m4/isc-posix.m4: Upgrade to gettext-0.11.
131810         * m4/lcmessage.m4: Upgrade to gettext-0.11.
131811         * m4/lib-ld.m4: New file, from gettext-0.11.
131812         * m4/lib-link.m4: New file, from gettext-0.11.
131813         * m4/lib-prefix.m4: New file, from gettext-0.11.
131814         * m4/progtest.m4: Upgrade to gettext-0.11.
131816 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131818         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
131819         (jm_PREREQ): Use it.
131821 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131823         * lib/posixver.c, lib/posixver.h: New files.
131824         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131826 2002-02-02  Paul Eggert  <eggert@twinsun.com>
131827             Bruno Haible  <bruno@clisp.org>
131829         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
131830         (fwrite_success_callback): New declaration.
131831         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
131832         print_unicode_char. Call failure callback instead of error.
131833         (fwrite_success_callback): New function.
131834         (exit_failure_callback): New function.
131835         (fallback_failure_callback): New function.
131836         (print_unicode_char): Call unicode_to_mb.
131838 2002-01-26  Jim Meyering  <meyering@lucent.com>
131840         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
131841         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
131843 2002-01-26  Jim Meyering  <meyering@lucent.com>
131845         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
131847 2002-01-22  Paul Eggert  <eggert@twinsun.com>
131849         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
131851 2002-01-22  Jim Meyering  <meyering@lucent.com>
131853         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
131854         Otherwise, some versions of automake would omit the rule that makes
131855         Makefile from Makefile.in.
131857 2002-01-21  Paul Eggert  <eggert@twinsun.com>
131859         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
131860         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131861         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
131862         (memcoll): Set errno to zero if there is no error.
131864         * lib/quotearg.c (quotearg_buffer_restyled):
131865         Fix bug with quoting buffers containing NUL when backslashing escapes.
131866         This bug was exposed by the other changes in this patch.
131867         (quotearg_n_options): New arg ARGSIZE.
131868         All callers changed.
131869         (quoting_options_from_style): New function.
131870         (quotearg_n_style): Use it.
131871         (quotearg_n_style_mem): New function.
131873         * lib/quotearg.h (quotearg_n_style_mem): New function.
131875 2002-01-19  Jim Meyering  <meyering@lucent.com>
131877         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
131878         Remove useless quotes: DF_PROG="df".
131879         * m4/strnlen.m4: New file.
131881 2002-01-16  Paul Eggert  <eggert@twinsun.com>
131883         * lib/backupfile.c (ISDIGIT): Comment fix.
131884         * lib/getdate.y (ISDIGIT): Likewise.
131885         * lib/posixtm.c (ISDIGIT, year): Likewise.
131886         * lib/strverscmp.c (ISDIGIT): Likewise.
131887         * lib/userspec.c (ISDIGIT): Likewise.
131889 2002-01-16  Jim Meyering  <meyering@lucent.com>
131891         * lib/getdate.y: Add three semicolons, each just before a closing
131892         brace. Bison (as of version 1.31) no longer papers over that mistake.
131894 2002-01-05  Jim Meyering  <meyering@lucent.com>
131896         * lib/version-etc.c (version_etc_copyright): Update copyright year.
131898 2001-12-19  Paul Eggert  <eggert@twinsun.com>
131900         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
131901         not silently exit merely because the output buffer happens to
131902         have nothing pending.
131904 2001-12-18  Paul Eggert  <eggert@twinsun.com>
131906         See the big note in ../ChangeLog.
131907         * lib/human.c (suffixes): Prefer K to k for 1024.
131908         (generate_suffix_backwards): New function.
131909         (human_readable_inexact): Use it.
131910         * lib/xstrtol.c (__xstrtol): If there is no number but there
131911         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
131912         Accept 'K' as well as 'k'.
131914 2001-12-15  Jim Meyering  <meyering@lucent.com>
131916         * lib/regex.h (__restrict_arr): Update from libc.
131918         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
131919         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
131920         (STREQ): Define.
131922 2001-12-14  Jim Meyering  <meyering@lucent.com>
131924         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
131925         Suggestion from Bruno Haible.
131927 2001-12-10  Jim Meyering  <meyering@lucent.com>
131929         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
131930         xrealloc, Instead, include "xalloc.h".
131931         (initbuffer): Don't cast xmalloc return value to char*.
131932         (readline): Reword comment.
131933         Don't cast xrealloc return value to char*
131934         Return NULL, not 0.
131936 2001-12-09  Jim Meyering  <meyering@lucent.com>
131938         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
131939         about `signed and unsigned type in conditional expression'.
131940         * lib/posixtm.c (posix_time_parse): Likewise.
131942         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
131944         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
131945         to avoid a pedantic warning.
131947         * lib/getstr.c: Don't include assert.h.
131948         (getstr): Remove warning-evoking assertions.
131949         Return -1 if offset parameter is out of bounds.
131950         Change the type of a local from int to size_t.
131952         * lib/strftime.c (my_strftime_localtime_r): Include this function
131953         definition in the `#if ! HAVE_TM_GMTOFF' block.
131955         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
131956         Include xalloc.h instead.
131958 2001-12-02  Jim Meyering  <meyering@lucent.com>
131960         * lib/tempname.c: Don't declare getenv, thus reverting the change of
131961         2001-11-18.  It's no longer necessary, now that stdlib.h is always
131962         included.
131964         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
131965         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
131967 2001-11-30  Akim Demaille  <akim@epita.fr>
131969         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
131970         before being defined.
131972 2001-11-27  Paul Eggert  <eggert@twinsun.com>
131974         * lib/quotearg.h (quotearg_n, quotearg_n_style):
131975         First arg is int, not unsigned.
131976         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
131977         (SIZE_MAX, UINT_MAX): New macros.
131978         (quotearg_n_options): Abort if N is negative.
131979         Avoid overflow check on hosts where size_t is 64 bits and int
131980         is 32 bits, as overflow is impossible there.
131981         Fix off-by-one typo that caused unnecessary reallocation.
131983 2001-11-27  Jim Meyering  <meyering@lucent.com>
131985         * lib/tempname.c: Merge with version from libc.
131986         * lib/regex.c: Likewise.
131988         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
131989         systems for which STDC_HEADERS is 0, it was not included, resulting in
131990         a warning about an integer-to-pointer conversion problem with getenv.
131991         Reported by Volker Borchert.
131993 2001-11-26  Jim Meyering  <meyering@lucent.com>
131995         * lib/gtod.h: Remove file.
131996         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
131997         * lib/gettimeofday.c: Don't include gtod.h.
131998         (GTOD_init): Remove function.
131999         (rpl_gettimeofday): Do its job here instead, rather than aborting.
132000         Suggestion from Volker Borchert.
132002 2001-11-23  Jim Meyering  <meyering@lucent.com>
132004         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
132005         it.
132006         * lib/hash.c (struct hash_table): Define it here instead.
132008 2001-11-22  Jim Meyering  <meyering@lucent.com>
132010         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
132012 2001-11-20  Jim Meyering  <meyering@lucent.com>
132014         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
132015         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
132017 2001-11-19  Jim Meyering  <meyering@lucent.com>
132019         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
132020         directory.  Use "conftestXXXXXX" as the template.
132021         Suggestion from Paul Eggert.
132023         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
132024         immediately, so the test doesn't mistakenly hit the max-open-files
132025         limit.
132027 2001-11-18  Paul Eggert  <eggert@twinsun.com>
132029         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
132030         (TEMPORARIES): New macro.
132031         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
132032         removes an artificial limitation (e.g. HP-UX 10.20, where
132033         TMP_MAX is 17576).
132035 2001-11-18  Jim Meyering  <meyering@lucent.com>
132037         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
132039 2001-11-18  Jim Meyering  <meyering@lucent.com>
132041         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
132042         on SunOS 4.
132044         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
132045         files will be created before anything else.
132047 2001-11-17  Paul Eggert  <eggert@twinsun.com>
132049         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
132050         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
132052 2001-11-17  Jim Meyering  <meyering@lucent.com>
132054         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
132055         Prompted by a report from Bob Proulx.
132057         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
132058         Instead, require UTILS_FUNC_MKSTEMP.
132060 2001-11-17  Jim Meyering  <meyering@lucent.com>
132062         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
132063         Now, that's done as part of AC_FUNC_STRTOD.
132065 2001-11-17  Jim Meyering  <meyering@lucent.com>
132067         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
132068         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
132069         rather than group writable.  Patch by Juan F. Codagnone.
132071         * lib/readtokens.c: Remove explicit declarations of xmalloc and
132072         xrealloc, Instead, include "xalloc.h".
132074         * lib/mountlist.c: Include unlocked-io.h after all system headers.
132075         Remove explicit declarations of xmalloc, xrealloc,
132076         and xstrdup.  Instead, include "xalloc.h".
132078         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
132079         unlocked-io.h.
132080         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
132081         Likewise.
132082         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
132084         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
132085         Reported by Padraig Brady.
132087         * lib/mkstemp.c: #undef mkstemp.
132088         Include config.h.
132089         (rpl_mkstemp): Rename from mkstemp.
132090         Protoize.
132092 2001-11-16  Jim Meyering  <meyering@lucent.com>
132094         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
132095         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
132096         determine the amount of total physical memory, use pstat_getstatic.
132097         HPUX-11 doesn't define _SC_PHYS_PAGES.
132098         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
132099         If sysconf couldn't be used to determine the amount of available
132100         physical memory, use both pstat_getstatic and pstat_getdynamic.
132101         Based on a patch from Bob Proulx.
132103 2001-11-10  Jim Meyering  <meyering@lucent.com>
132105         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
132106         (jm_PREREQ): Use it.
132108 2001-11-09  Jim Meyering  <meyering@lucent.com>
132110         * m4/jm-macros.m4: Require autoconf-2.52f.
132111         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
132112         Use these AC_-prefixed names, not the AM_-prefixed ones.
132114         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
132116 2001-11-05  Jim Meyering  <meyering@lucent.com>
132118         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
132120 2001-11-04  Jim Meyering  <meyering@lucent.com>
132122         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
132123         $DEFS.
132125 2001-11-03  Jim Meyering  <meyering@lucent.com>
132127         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
132128         of AC_DEFUN.
132130         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
132131         know the name of the variable in the macro definition.
132133 2001-11-03  Jim Meyering  <meyering@lucent.com>
132135         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
132136         in argmatch_to_argument call.
132138         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
132139         argument.
132141         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
132142         e.g., a fault due to an attempt to free a NULL pointer.
132144 2001-11-01  Jim Meyering  <meyering@lucent.com>
132146         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
132147         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
132149 2001-11-01  Jim Meyering  <meyering@lucent.com>
132151         * lib/dirfd.c, lib/dirfd.h: New files.
132152         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
132154         * lib/hash.c (hash_print) [TESTING]: Clean up.
132156 2001-10-22  Paul Eggert  <eggert@twinsun.com>
132158         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
132159         to avoid a warning if -Wall.
132161 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
132163         * README: New file
132164         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
132165         (per RMS's instructions, this is now the canonical source)
132166         * lgpl/, gpl/: New directories.
132168 2001-10-21  Paul Eggert  <eggert@twinsun.com>
132170         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
132172 2001-10-21  Jim Meyering  <meyering@lucent.com>
132174         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
132175         this code would end up calling gettext even in packages built
132176         with --disable-nls.
132177         * lib/getopt.c (_): Likewise.
132178         * lib/regex.c (_): Likewise.
132180 2001-10-20  Paul Eggert  <eggert@twinsun.com>
132182         * m4/error.m4 (jm_PREREQ_ERROR):
132183         Do not invoke AC_CHECK_FUNCS with strerror_r, as
132184         AC_FUNC_STRERROR_R does that.
132185         Check for strerror declaration.
132187         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
132188         are supposed to have them these days.
132189         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
132190         Merge changes from latest Autoconf CVS.
132191         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
132192         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
132193         POSIX decided to standardize on the int flavor of strerror_r.
132195 2001-10-20  Paul Eggert  <eggert@twinsun.com>
132197         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
132198         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
132199         Use strerror_r that is only a macro, even if it is not a function.
132200         (strerror): Check for HAVE_DECL_STRERROR before declaring.
132201         (private_strerror): Use prototypes, not old-style function definition.
132202         (print_errno_message): New function.
132203         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
132204         char*-flavored one.
132205         (error_tail, error, error_at_line): Use it.
132207 2001-10-11  Jim Meyering  <meyering@lucent.com>
132209         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
132210         and quote_n (1, ... to avoid clobbering a buffer.
132212 2001-10-05  Jim Meyering  <meyering@lucent.com>
132214         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
132215         hash-pjw.h.
132216         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
132217         * lib/hash-pjw.h: New file.
132219 2001-09-30  Jim Meyering  <meyering@lucent.com>
132221         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
132222         `struct fsstat' has the `f_fstypename' member.
132223         Use that to define FS_TYPE, which is now used to make
132224         the getfsstat link test tighter.
132226 2001-09-30  Jim Meyering  <meyering@lucent.com>
132228         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
132229         Include <sys/ucred.h>, for Apple Darwin.
132230         Include sys/mount.h and sys/fs_types.h only if available.
132231         (FS_TYPE): Define.
132232         (read_filesystem_list): Use FS_TYPE.
132234 2001-09-29  Paul Eggert  <eggert@twinsun.com>
132236         * lib/exclude.c (excluded_filename): 0 -> false, since it's
132237         a boolean context.
132239 2001-09-29  Jim Meyering  <meyering@lucent.com>
132241         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
132242         [one-argument getmntent function]): Include stdio.h before mntent.h.
132243         SunOS 4.1.x needs it for the declaration of `FILE'.
132244         Patch by Volker Borchert.
132246         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
132247         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
132248         sys/fs_types.h, and make the link-test for getfsstat guard #include
132249         directives with appropriate #if HAVE_*_H tests so that we can
132250         detect getfsstat on Apple Darwin1.3.7 systems.
132251         Reported by Nelson Beebe.
132252         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
132254 2001-09-28  Paul Eggert  <eggert@twinsun.com>
132256         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
132257         #defines strtoimax.  Also treat the other strto* functions
132258         like strtoimax.
132260         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132261         Check for strtoul and strtoumax,
132262         as those declarations are made even in the signed case.
132263         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
132264         Likewise, for strtol and strtoimax.
132266 2001-09-28  Paul Eggert  <eggert@twinsun.com>
132268         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
132269         #defines strtoimax.  Also treat the other strto* functions
132270         like strtoimax.
132272         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
132273         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
132274         (strtoimax, strtoumax): Do not declare if already defined as a macro.
132276 2001-09-26  Jim Meyering  <meyering@lucent.com>
132278         Most macros in unlocked-io.h had the wrong number of arguments.
132279         * lib/gen-uio: New script.
132280         (USE_UNLOCKED_IO): Define to 1 if not already defined.
132281         * lib/unlocked-io.hin: Remove file.
132282         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
132283         rather than trying to embed it here.
132284         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
132285         Reported by Padraig Brady.
132287 2001-09-25  Volker Borchert  <bt@teknon.de>
132289         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
132290         `result'.
132292 2001-09-24  Jim Meyering  <meyering@lucent.com>
132294         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
132296 2001-09-23  Jim Meyering  <meyering@lucent.com>
132298         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
132299         instead of the mere test for existence of mntent.h.  The latter
132300         would get a false-positive on AIX 3.4 systems.
132301         In the outer getmntent if-block, don't die if neither of the getmntent
132302         tests succeeds.  Instead, just fall through and continue with the
132303         remaining tests.
132305 2001-09-23  Jim Meyering  <meyering@lucent.com>
132307         * lib/mountlist.c: Remove useless parentheses in #if directives.
132308         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
132309         the deprecated MOUNTED symbol is no longer defined in mntent.h.
132311 2001-09-22  Jim Meyering  <meyering@lucent.com>
132313         * m4/gettext.m4: New file.  From gettext.
132314         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
132315         * m4/progtest.m4: Likewise
132316         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
132317         * m4/glibc21.m4: Likewise.
132319         * m4/libintl.m4: Remove.  No longer used.
132321 2001-09-22  Jim Meyering  <meyering@lucent.com>
132323         * lib/localcharset.c: Update from latest gettext.
132324         * lib/config.charset: Likewise.
132326 2001-09-20  Jim Meyering  <meyering@lucent.com>
132328         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
132329         strtoimax.
132330         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
132331         strtoumax.
132333 2001-09-20  Jim Meyering  <meyering@lucent.com>
132335         * lib/xstrtol.c (strtoimax): Guard declaration with
132336         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
132337         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
132338         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
132339         (strtoumax): Likewise, for completeness (it wasn't necessary).
132341 2001-09-17  Paul Eggert  <eggert@twinsun.com>
132343         * lib/strtoimax.c (HAVE_LONG_LONG):
132344         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
132345         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
132346         to work around bug in IBM C compiler.
132348 2001-09-17  Jim Meyering  <meyering@lucent.com>
132350         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
132351         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
132352         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
132353         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
132354         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
132355         whenever the right hand side need not be expanded by the shell.
132357 2001-09-16  Paul Eggert  <eggert@twinsun.com>
132359         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
132360         library.  It's not correct, as some older glibcs are buggy.
132361         fnmatch wasn't fixed until glibc 2.2.
132363         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
132364         special shell magic here.
132366 2001-09-16  Jim Meyering  <meyering@lucent.com>
132368         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
132369         * m4/jm-macros.m4: Require it.
132371 2001-09-16  Jim Meyering  <meyering@lucent.com>
132373         * lib/mkdir.c: New file.
132375 2001-09-15  Jim Meyering  <meyering@lucent.com>
132377         * m4/jm-macros.m4: Check for help2man.
132379 2001-09-11  Jim Meyering  <meyering@lucent.com>
132381         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
132382         The body, by Paul Eggert, was moved here from configure.in.
132383         * m4/jm-macros.m4: Require UTILS_HOST_OS.
132385 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132387         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
132388         (jm_PREREQ): Use it.
132390 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132392         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
132393         Use ssize_t, not int, to store result of readlink.
132394         Check for ssize_t overflow as well as size_t overflow,
132395         as POSIX says the result of readlink is implementation-defined
132396         when ssize_t overflows.
132397         Remove unnecessary cast to char*.
132398         Use free+malloc instead of realloc, as the storage doesn't need
132399         to be preserved and it's clearer and can be more efficient that way.
132400         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
132401         * lib/xreadlink.h (xreadlink): Update prototype.
132403 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132405         * lib/xgetcwd.c: Revert some of the previous change; intead,
132406         fix the HAVE_GETCWD_NULL code to behave more like the
132407         !HAVE_GETCWD_NULL code used to.
132409         Include "xalloc.h".
132410         (xgetcwd): Do not return NULL when memory is exhausted; instead,
132411         invoke xalloc_die.
132413 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132415         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
132416         sys/param.h, as pathmax.h includes them.
132418 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132420         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
132421         (jm_PREREQ_XGETCWD): New macro.
132423         * m4/getcwd.m4: New file.
132425 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132427         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
132428         like the HAVE_GETCWD_NULL code.
132429         Include pathmax.h if not HAVE_GETCWD.
132430         Do not include xalloc.h.
132431         (INITIAL_BUFFER_SIZE): New symbol.
132432         Do not use xmalloc / xrealloc, since the caller is responsible for
132433         handling errors.  Preserve errno around `free' during failure.
132434         Do not overrun buffer when using getwd.
132436 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132438         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
132439         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
132440         getcwd (NULL, 0).
132442 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132444         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
132445         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
132446         spotted by Jim Meyering.
132448 2001-09-03  Jim Meyering  <meyering@lucent.com>
132450         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
132451         failure.
132453 2001-09-02  Jim Meyering  <meyering@lucent.com>
132455         * lib/error.c: Update from GNU libc.
132457 2001-09-01  Jim Meyering  <meyering@lucent.com>
132459         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
132460         Used by df.
132462 2001-09-01  Jim Meyering  <meyering@lucent.com>
132464         * lib/xreadlink.c: New file.
132465         * lib/xreadlink.h: New file.
132466         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
132467         xreadlink.h.
132469         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
132470         doesn't conflict with sparc Solaris 7's definition in
132471         /usr/include/sys/int_types.h.
132473         * lib/exclude.c: Use `""', not `<>' to #include non-system header
132474         files.
132475         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
132476         and strncasecmp as r-values.  Unixware didn't have declarations.
132478 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132480         * lib/xstrtol.h: Add copyright notice.
132481         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
132482         LONGINT_INVALID_SUFFIX_CHAR.
132484 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132486         * lib/xstrtol.c (strtoimax): New decl.
132488 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132490         * lib/xgetcwd.c: Don't include pathmax.h.
132491         Include stdlib.h and unistd.h if available.
132492         Include xalloc.h.
132493         (xmalloc, xstrdup, free): Remove decls.
132494         (xgetcwd): Don't assume sizes fit in unsigned.
132495         Check for overflow when computing sizes.
132496         Simplify reallocation code.
132498 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132500         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
132501         a directory's st_size can have an arbitrary value, so the old
132502         usage could waste an arbitrary amount of memory.  All uses
132503         changed.
132504         * lib/savedir.h: Update prototype.
132506 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132508         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
132510         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
132511         old strtoimax.c.
132513         Also, make the following further changes to make this file's
132514         configuration more similar to that of strtol.c:
132515         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
132516         (strtoumax, uintmax_t, strtoull, strtol): Remove.
132517         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
132518         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
132519         changed to signed values.
132521         And make the following changes as well:
132522         Fix copyright notice, as 1999 was missing.
132523         (verify): New macro.
132524         (strtoimax): Check sizes at compile-time, not run-time.
132525         Prefer strtol to strtoll if both work.
132526         (main): Remove; it was not that useful and was a pain to maintain.
132528         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
132530 2001-08-31  Jim Meyering  <meyering@lucent.com>
132532         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
132533         Use an initial, malloc'd, buffer of length 128 rather than
132534         a statically allocated one of length 1024.
132536 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132538         Simplify code, partly by assuming autoconf 2.52 semantics.
132540         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
132542         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
132543         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
132544         All uses removed.
132545         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
132546         Move AC_REQUIRE to next-to-top level, to avoid confusion.
132547         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
132548         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
132549         jm_AC_HEADER_INTTYPES_H.
132550         * m4/jm-macros.m4 (jm_MACROS): Likewise.
132552         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
132554         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132555         Quote first arg of AC_DEFUN.
132556         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
132557         since they are needed to parse the include file even if we need
132558         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
132559         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
132560         but with opposite signedness.
132562 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132564         Merge 'exclude' changes from tar 1.13.22.
132565         This fixes one or two unlikely storage allocation overflow bugs,
132566         but doesn't change user-visible behavior otherwise.
132568 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132570         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
132571         (jm_PREREQ_EXCLUDE): New macro.
132573 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132575         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
132576         tm to be declared.
132578 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132580         * lib/hash.c: Remove '2001' from copyright notice.
132582 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132584         * lib/full-write.h: New file.
132585         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
132586         * lib/full-write.c: Correct credits, as cccp.c no longer
132587         exists and anyway it was so heavily changed from the old cccp
132588         code as to be unrecognizable.  Include full-write.h.
132589         (full_write): Return size_t, with short writes meaning failure.
132590         All callers changed.  This fixes a bug with large buffers
132591         on 64-bit hosts.
132592         * lib/utime.c: Include full-write.h.
132594 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132596         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
132597         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
132598         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
132599         Include if available.
132600         (<xalloc.h>): Include
132601         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
132602         (verify): New macro.  Use it to verify that EXCLUDE macros do not
132603         collide with FNM macros.
132604         (struct patopts): New struct.
132605         (struct exclude): Use it, as exclude patterns now come with options.
132606         (new_exclude): Support above changes.
132607         (new_exclude, add_exclude_file):
132608         Initial size must now be a power of two to simplify overflow checking.
132609         (free_exclude, fnmatch_no_wildcards): New function.
132610         (excluded_filename): No longer requires options arg, as the options
132611         are determined by add_exclude.  Now returns bool, not int.
132612         (excluded_filename, add_exclude):
132613         Add support for the fancy new exclusion options.
132614         (add_exclude, add_exclude_file): Now takes int options arg.
132615         Check for arithmetic overflow when computing sizes.
132616         (add_exclude_file): xrealloc might modify errno, so don't
132617         realloc until after errno might be used.
132619         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
132620         New macros.
132621         (free_exclude): New decl.
132622         (add_exclude, add_exclude_file): Now takes int options arg.
132623         (excluded_filename): No longer requires options arg, as the options
132624         are determined by add_exclude.  Now returns bool, not int.
132626 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132628         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
132630 2001-08-27  Jim Meyering  <meyering@lucent.com>
132632         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
132634         * lib/version-etc.c (N_): Remove definition.
132635         Revert most of last change.
132636         Instead, simply don't mark the `Copyright...' string for translation.
132637         Based on advice from Paul Eggert.
132639         * lib/strtoxmax.c: Tweak comment.
132641 2001-08-26  Jim Meyering  <meyering@lucent.com>
132643         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
132645         * m4/xstrtoimax.m4: New file.
132646         * m4/xstrtoumax.m4: Add comments explaining why we
132647         AC_REPLACE_FUNCS(strtol).
132649 2001-08-26  Jim Meyering  <meyering@lucent.com>
132651         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
132652         of copyright with `%s' so translators don't get an untranslated
132653         message in 2002.
132654         (COPYRIGHT_YEAR): Define.
132655         (version_etc): Use fprintf rather than fputs.
132656         Suggestion from Ulrich Drepper.
132658         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
132660         * lib/strtoll.c: New file, from GNU libc.
132661         * lib/xstrtoimax.c: New file.
132663         * lib/xstrtol.h: Add xstrtoimax.
132664         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
132665         * lib/strtoimax.c: New file.  Likewise, but first define
132666         STRTOUXMAX_SIGNED.
132668         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
132669         ...
132670         * lib/strtoxmax.c: ... then renamed to this.
132672 2001-08-18  Paul Eggert  <eggert@twinsun.com>
132674         * m4/inttypes.m4: Add AC_PREREQ(2.13).
132675         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
132676         (jm_AC_TYPE_INTMAX_T): New macro.
132677         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
132679         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
132681         * m4/longlong.m4: Renamed from ulonglong.m4.
132682         * m4/inttypes.m4: Renamed from inttypes_h.m4.
132683         * m4/uintmax_t.m4: Removed.
132685 2001-08-13  Paul Eggert  <eggert@twinsun.com>
132687         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
132688         Port to Solaris 8, where 'sed' requires a space after the 'r'
132689         command, and where sh dislikes "$/".  Clean up the spacing a bit.
132690         Redirect output to $tmp just once.
132692 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
132694         * lib/addext.c (<errno.h>): Include.
132695         (errno): Declare if not defined.
132696         (addext): Work correctly when pathconf returns -1 and leaves
132697         errno alone because there is no limit.  Also, work even if
132698         pathconf returns a value greater than SIZE_MAX.
132700 2001-08-12  Jim Meyering  <meyering@lucent.com>
132702         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
132703         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
132704         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
132705         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
132706         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
132707         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
132708         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
132709         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
132710         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
132711         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
132712         utime.m4, utimes.m4, xstrtoumax.m4:
132713         Quote the first argument in each use of AC_DEFUN.
132715 2001-08-12  Jim Meyering  <meyering@lucent.com>
132717         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
132718         Simply `return getcwd (NULL, 0);'.
132719         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
132720         Use 1300 as initial value for length, not PATH_MAX.
132722         * lib/pathmax.h: Clean up cpp syntax.
132724 2001-08-12  Jim Meyering  <meyering@lucent.com>
132726         * lib/gettimeofday.c: New file.
132727         * lib/gtod.h: New file.
132728         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
132730 2001-08-05  Jim Meyering  <meyering@lucent.com>
132732         * m4/jm-macros.m4: Require autoconf-2.52.
132734 2001-08-04  Jim Meyering  <meyering@lucent.com>
132736         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
132737         stmt, to get in sync with glibc.
132739 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132741         The following changes are from gettext 0.10.39 as maintained by
132742         Bruno Haible.
132744         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
132745         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
132746         with inverted sense.  All uses changed.
132748         * lib/mbswidth.c: Don't include <limits.h>.
132749         Include <stdlib.h> and <string.h> unconditionally.
132750         (iswcntrl, mbsinit, ISCNTRL): New macros.
132751         (mbsnwidth): Use K&R style function declarations.
132752         Don't bother checking for MB_LEN_MAX == 1, since the compiler
132753         can optimize it when MB_CUR_MAX == 1.
132754         The width of control characters is zero, not 1.
132756 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132758         The following changes are from gettext 0.10.39 as maintained by
132759         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
132761         * m4/codeset.m4: Upgrade to serial AM1.
132762         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
132763         all uses changed.  Quote first arg of AC_DEFUN.
132764         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
132766         * m4/iconv.m4: Upgrade to serial AM2.
132767         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
132768         Add --with-libconv-prefix.
132769         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
132770         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
132771         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
132772         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
132773         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
132775         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
132776         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
132777         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
132778         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
132779         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
132780         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
132781         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
132782         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
132783         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
132785         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
132786         string.h any more.
132788         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
132789         not the default value.
132791         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
132792         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
132793         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
132794         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
132795         Also check for iswcntrl, used for wcwidth fallback.
132796         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
132797         to Autoconf 2.13.
132799 2001-08-03  Jim Meyering  <meyering@lucent.com>
132801         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
132802         as it was in the original.  Reported by Paul Eggert.
132804 2001-07-16  Jim Meyering  <meyering@lucent.com>
132806         * m4/gettimeofday.m4: New file.
132807         Prompted by a report from Bernhard Baehr.
132809 2001-07-15  Jim Meyering  <meyering@lucent.com>
132811         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
132812         stuff. Now it's in ../Makefile.cfg.
132814 2001-07-15  Jim Meyering  <meyering@lucent.com>
132816         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
132817         (BUILT_SOURCES): Add unlocked-io.h.
132818         (io_functions): Define.
132819         (unlocked-io.h): New rule.
132820         (DISTCLEANFILES): Add unlocked-io.h.
132821         (all-local): Depend on unlocked-io.h, to ensure it is created.
132823         * lib/unlocked-io.hin: New file
132825         * lib/regex.c: Update from glibc.
132827 2001-07-05  Jim Meyering  <meyering@lucent.com>
132829         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
132830         recommendation.
132831         (libfetish_a_SOURCES): Put all .h files here instead.
132832         Remove a thus-exposed (better checks in automake) duplicate and
132833         two unnecessary .h files.
132835 2001-07-04  Jim Meyering  <meyering@lucent.com>
132837         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
132838         that generates jm-glibc-io.m4 so that it doesn't trigger any make
132839         distcheck failure.
132841 2001-07-02  Jim Meyering  <meyering@lucent.com>
132843         The following changes were prompted by suggestions from Bruno Haible.
132845         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
132846         is now generated.
132847         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
132848         definition of EXTRA_DIST.
132849         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
132850         ensure that the generated file is created/updated whenever the list
132851         of $(unlocked_functions) is changed.
132852         (jm-glibc-io.m4): New rule.
132853         (unlocked-io.h): New rule -- currently unused.
132855 2001-06-24  Jim Meyering  <meyering@lucent.com>
132857         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
132858         unmatched right bracket, rather than kludging it with an extra,
132859         falsely-matching quote in a comment.  Patch by Akim Demaille.
132861 2001-06-11  Jim Meyering  <meyering@lucent.com>
132863         * lib/regex.c: Update from GNU libc.
132865 2001-05-27  Jim Meyering  <meyering@lucent.com>
132867         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
132868         Check for ut_type in struct utmp.
132870 2001-05-27  Jim Meyering  <meyering@lucent.com>
132872         * lib/readutmp.h (UT_TYPE): Define.
132874 2001-05-24  Jim Meyering  <meyering@lucent.com>
132876         * lib/argmatch.c: Include "quote.h".
132877         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
132878         quote function.  Reported by Göran Uddeborg.
132880 2001-05-22  Jim Meyering  <meyering@lucent.com>
132882         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
132883         now that we use the package-supplied version unconditionally.
132884         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
132886 2001-05-21  Jim Meyering  <meyering@lucent.com>
132888         * m4/regex.m4: Change a couple backticks to single quotes to avoid
132889         shell syntax errors.
132891 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132893         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
132895 2001-05-20  Paul Eggert  <eggert@twinsun.com>
132897         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
132898         Don't bother to check library strftime, since
132899         we'll be using our own my_strftime function anyway.
132900         Define my_strftime instead of strftime.
132902 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
132904         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
132905         which is not yet declared.
132907 2001-05-15  Jim Meyering  <meyering@lucent.com>
132909         * m4/regex.m4: Use proper quoting so brackets appear in the test
132910         program.
132911         Reported by, and with help from, Bruno Haible.
132913 2001-05-13  Jim Meyering  <meyering@lucent.com>
132915         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
132916         undefined.
132918 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132920         dirname code cleanup.  base_name now behaves more compatibly
132921         with POSIX basename when given file names that have trailing
132922         slashes, and similarly for dir_name.  Add new primitives
132923         base_len and dir_len.  Put the directory-name-related decls
132924         into dirname.h.
132926         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
132927         * lib/backupfile.c (base_name): Likewise.
132928         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
132929         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
132930         * lib/makepath.c (strip_trailing_slashes): Likewise.
132931         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
132932         ISSLASH): Likewise.
132933         * lib/rename.c (strip_trailing_slashes): Likewise.
132934         * lib/same.c (base_name): Likewise.
132935         * lib/stripslash.c (ISSLASH): Likewise.
132937         * lib/addext.c: Include <dirname.h> after size_t is defined.
132938         * lib/backupfile.c: Likewise.
132940         * lib/addext.c (addext): Use base_len to trim redundant
132941         trailing slashes instead of doing it ourselves.
132942         But do not trim the last slash if it is not redundant.
132944         * lib/backupfile.c (find_backup_file_name,
132945         max_backup_version): Use base_len instead of rolling it ourselves.
132946         Handle the case of "" and (on DOS) "C:" correctly.
132948         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
132949         needed. Include <string.h>, <dirname.h>.
132950         (base_name): Allow file names ending in slashes, other than names
132951         that are all slashes.  In this case, return the basename followed
132952         by the slashes.  This is more general, and can be used in places
132953         where the original base_name purposely had an assertion failure.
132954         (base_len): New function.
132956         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
132957         Do not include <assert.h>; no longer needed.
132958         Include xalloc.h.
132959         (memrchr): Remove decl.
132960         (dir_name_r): Remove.
132961         (dir_len): Renamed from dirlen.  All callers changed.
132962         Rewrite in terms of base_name, for simplicity and consistency.
132963         (dir_name): Never return NULL.  All callers changed.
132964         Do not include <stdlib.h> in test program; no longer needed.
132965         return 0; is fine for test program.
132967         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
132968         New macros.
132969         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
132971         * lib/path-concat.c (path_concat): Use base_len to compute
132972         base length, not strlen; this means we cannot rely on memcpy
132973         to null-terminate.
132975         * lib/same.c (STREQ): Remove.
132976         (same_name): Handle the case where the basename ends in trailing '/'.
132978         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
132979         a slash was stripped.  Do not strip the last slash after a
132980         file system prefix.
132982 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132984         * lib/Makefile.am (libfetish_a_SOURCES):
132985         Add strftime.c, since we now compile it on all hosts.
132987         * lib/strftime.c (my_strftime):
132988         Define to nstrftime if emacs, but only if my_strftime is not defined.
132989         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
132990         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
132991         Add one more extra argument: a nanoseconds value.
132992         All uses changed.
132993         (ns): New macro.
132994         (my_strftime function): Add %N format.
132995         (emacs_strftimeu): Renamed from emacs_strftime,
132996         with extra ut argument.
132998 2001-05-09  Paul Eggert  <eggert@twinsun.com>
133000         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
133002 2001-04-21  Jim Meyering  <meyering@lucent.com>
133004         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
133005         doesn't interfere.
133007 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
133009         * m4/ftruncate.m4: Check for chsize.
133010         Link with ftruncate.o unconditionally if ftruncate is missing.
133011         This was required when cross-compiling to i586-mingw32msvc.
133013 2001-04-08  Jim Meyering  <meyering@lucent.com>
133015         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
133016         recomputed; that's necessary when the offset spans a DST transition.
133017         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
133019 2001-04-02  Jim Meyering  <meyering@lucent.com>
133021         * lib/regex.h, regex.c: Update from GNU libc.
133023 2001-03-24  Jim Meyering  <meyering@lucent.com>
133025         * m4/jm-macros.m4: Require autoconf-2.49d.
133027 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
133029         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
133031 2001-03-19  Paul Eggert  <eggert@twinsun.com>
133033         * lib/version-etc.c (version_etc_copyright): Update to 2001.
133035 2001-03-17  Jim Meyering  <meyering@lucent.com>
133037         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
133038         now that the version in autoconf is equivalent.
133039         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
133041         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
133042         Suggestion from Akim Demaille.
133044         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
133045         (jm_PREREQ_TEMPNAME): New function.
133047 2001-03-16  Paul Eggert  <eggert@twinsun.com>
133049         * lib/tempname.c (uint64_t): Define to uintmax_t if
133050         not defined, and if UINT64_MAX is not defined.
133051         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
133052         Reported by John David Anglin.
133054 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
133056         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
133057         resolve alias if codeset is empty.
133058         * lib/config.charset (BeOS): Use wildcard syntax.
133060 2001-03-13  Jim Meyering  <meyering@lucent.com>
133062         * lib/path-concat.c (path_concat)
133063         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
133064         concatenating e.g., `C:' and `foo'.
133065         From Bruno Haible.
133067 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
133069         * lib/localcharset.c (locale_charset): Don't use
133070         setlocale(LC_CTYPE,NULL). Don't return NULL.
133071         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
133073 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
133075         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
133076         support for DOS/DJGPP.
133078 2001-03-01  Paul Eggert  <eggert@twinsun.com>
133080         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
133081         lacks mkstemp.  Compile our own tempname.c if we compile our own
133082         mkstemp.c, as mkstemp relies on tempname.
133084 2001-03-01  Jim Meyering  <meyering@lucent.com>
133086         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
133087         AH_VERBATIM really does output its argument verbatim.
133089 2001-02-28  Paul Eggert  <eggert@twinsun.com>
133091         * lib/Makefile.am (libfetish_a_SOURCES):
133092         Add dup-safer.c, fopen-safer.c.
133093         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
133095         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
133096         * lib/unistd-safer.h: New files.
133098 2001-02-25  Paul Eggert  <eggert@twinsun.com>
133100         The mkstemp replacement is taken from glibc 2.2.2, with some
133101         portability fixes for use outside glibc, as follows:
133103         * lib/tempname.c (struct_stat64): New macro.
133104         (direxists, __gen_tempname): Use it.
133105         This avoids a portability problem with Solaris 8.
133107         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
133108         (<stddef.h>, <stdint.h>, <string.h>):
133109         Include only if STDC_HEADERS || _LIBC.
133110         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
133111         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
133112         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
133113         (__set_errno): Define this macro if <errno.h> doesn't.
133114         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
133115         Define these macros if <stdio.h> doesn't.
133116         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
133117         Define these macros if <sys/stat.h>
133118         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
133119         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
133120         __xstat64): Define if not _LIBC.
133121         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
133122         (__gen_tempname): Invoke gettimeofday only if
133123         HAVE_GETTIMEOFDAY || _LIBC;
133124         otherwise, fall back on plain "time".
133125         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
133127         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
133129         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
133131 2001-02-18  Paul Eggert  <eggert@twinsun.com>
133133         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
133135 2001-02-17  Paul Eggert  <eggert@twinsun.com>
133137         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
133138         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
133139         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
133140         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
133142 2001-02-17  Paul Eggert  <eggert@twinsun.com>
133144         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
133145         Remove workaround macros for hosts that have mbrtowc but not
133146         mbstate_t, as we now insist on proper declarations for both
133147         before using mbrtowc.
133149 2001-02-17  Jim Meyering  <meyering@lucent.com>
133151         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
133152         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
133153         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
133154         UnixWare 7.1.1.
133156         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
133157         rather than AC_CACHE_VAL.
133159 2001-02-17  Jim Meyering  <meyering@lucent.com>
133161         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
133162         around included file name.
133164         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
133166         * lib/strftime.c: Update from GNU libc (the only changes were to
133167         comments).
133169 2001-02-17  Jim Meyering  <meyering@lucent.com>
133171         * lib/regex.c: Update from libc.
133173 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
133175         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
133176         clash.
133178 2001-02-16  Paul Eggert  <eggert@twinsun.com>
133180         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
133181         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
133182         Reported by Mark Hounschell via Paul Eggert.
133184 2001-02-07  Jim Meyering  <meyering@lucent.com>
133186         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
133188 2001-02-05  Jim Meyering  <meyering@lucent.com>
133190         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
133191         it includes the patch required for `large file' support with at least
133192         HP-UX's 10.20 /bin/cc.
133194 2001-02-03  Jim Meyering  <meyering@lucent.com>
133196         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
133197         AS_IF, now that it works once again (mysteriously).
133198         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
133200 2001-01-30  Jim Meyering  <meyering@lucent.com>
133202         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
133203         * m4/chown.m4: Rename conftestchown to conftest.chown.
133204         * m4/rename.m4: s/conftestdir/conftest.d1/ and
133205         s/conftestdir2/conftest.d2/.
133206         * m4/utimes.m4: s/conftestdata/conftest.data/
133207         Inspired by Pavel Roskin's change in autoconf.
133209 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
133211         * lib/config.charset: Update for FreeBSD 4.2.
133213 2001-01-27  Jim Meyering  <meyering@lucent.com>
133215         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
133216         a use of AS_IF.
133217         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
133219 2001-01-26  Jim Meyering  <meyering@lucent.com>
133221         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
133222         quotearg.c includes it.
133224 2001-01-26  Jim Meyering  <meyering@lucent.com>
133226         * lib/quotearg.c: Include stddef.h.
133227         * lib/quote.c: Include stddef.h.
133228         Reported by Axel Kittenberger.
133230         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
133231         line in double quotes so that it evokes a better diagnostic.
133232         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
133233         Reported by Axel Kittenberger.
133235 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
133237         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
133238         as if it was a `charset'.
133240 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
133242         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
133243         has const.
133245 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
133247         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
133248         to avoid a warning.  Add back 'const' to inptr.
133250 2001-01-20  Jim Meyering  <meyering@lucent.com>
133252         Be sure that headers are checked before used in code compiled
133253         for the type checks.
133254         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
133255         In place of that, invoke jm_CHECK_ALL_TYPES.
133256         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
133257         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
133258         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
133259         The check for ssize_t was mistakenly run before the test for unistd.h.
133261         The configure-time check for stdbool.h was missing.
133262         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
133263         (jm_PREREQ_HASH): New function.
133265 2001-01-17  Jim Meyering  <meyering@lucent.com>
133267         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
133268         for autoconf-2.49c.
133269         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
133271 2001-01-16  Jim Meyering  <meyering@lucent.com>
133273         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
133274         From Bruno Haible.
133276 2001-01-14  Jim Meyering  <meyering@lucent.com>
133278         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
133279         foo and bar.  Create conftestdir/ in the script, not in the C code.
133280         Remove directories in the script, not in the C code.
133281         Remove conftestdir{,2} before trying to create the directory.
133282         Make the entire configure script fail if the mkdir fails.
133284 2001-01-14  Jim Meyering  <meyering@lucent.com>
133286         * lib/rename.c: New file.  From Volker Borchert.
133287         Include stdlib.h, string.h or strings.h, and xalloc.h.
133288         Use strip_trailing_slashes rather than open-coding it.
133290 2001-01-03  Paul Eggert  <eggert@twinsun.com>
133292         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
133294 2001-01-03  Jim Meyering  <meyering@lucent.com>
133296         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
133297         of local `inptr' to avoid warning with some system declarations of
133298         iconv.
133300 2001-01-02  Volker Borchert  <bt@teknon.de>
133302         * m4/rename.m4: New file.
133303         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
133305 2001-01-01  Jim Meyering  <meyering@lucent.com>
133307         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
133308         even on systems with utmpx.h.  It's necessary for the declaration of
133309         utmp's ut_user member.  Reported by Andreas Jaeger.
133311         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
133312         available. They are required for the declarations of getgrgid and
133313         getpwuid resp.
133314         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
133315         Reported by Andreas Jaeger.
133317 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
133319         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
133320         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
133321         so `make install' also works in VPATH builds.
133323 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
133325         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
133326         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
133327         can be used in subdirectories.
133329 2000-12-29  Paul Eggert  <eggert@twinsun.com>
133331         * lib/modechange.c: Do not assume that mode_t uses the
133332         traditional octal encoding.  E.g. "chmod 1 FOO" should set
133333         the other-execute bit of FOO even if S_IXOTH != 1.
133335         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
133336         WOTH, XOTH, ALLM): New macros.
133337         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
133338          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
133339         Use them.
133340         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
133341         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
133342         (mode_compile):
133343         No need to use uintmax_t; unsigned long is long enough.
133344         Don't bother to get suffix since we don't use it.
133346 2000-12-26  Jim Meyering  <meyering@lucent.com>
133348         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
133349         better with autoheader.
133351 2000-12-24  Jim Meyering  <meyering@lucent.com>
133353         * lib/hash.c (is_prime): Return explicit boolean values.
133354         (hash_get_first): Return NULL to appease Irix5.6's 89.
133355         Reported by Nelson Beebe.
133357 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
133359         * lib/localcharset.c (locale_charset): Add support for Win32.
133361 2000-12-18  Paul Eggert  <eggert@twinsun.com>
133363         * lib/physmem.h, lib/physmem.c: New files.
133365         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
133366         (noinst_HEADERS): Add physmem.h.
133368         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
133369         't' for compatibility with Solaris 8 sort.
133371 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
133373         * lib/config.charset: Add support for BeOS.
133375 2000-12-17  Jim Meyering  <meyering@lucent.com>
133377         * m4/dos.m4 (jm_AC_DOS): New file and macro.
133378         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
133380 2000-12-16  Jim Meyering  <meyering@lucent.com>
133382         This bug had a serious impact on chown: `chown N:M FILE' (for integer
133383         N and M) would have treated it like `chown N:N FILE'.
133385         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
133387 2000-12-16  Jim Meyering  <meyering@lucent.com>
133389         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
133390         SHELLS_FILE to a file name that's useful on djgpp systems.
133391         Include stdlib.h.
133392         (ADDITIONAL_DEFAULT_SHELLS): Define.
133393         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
133394         Based mostly on a patch from Prashant TR.
133396 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
133398         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
133399         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
133400         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
133402 2000-12-08  Andreas Schwab  <schwab@suse.de>
133404         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
133405         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
133407 2000-12-07  Jim Meyering  <meyering@lucent.com>
133409         * lib/stripslash.c (ISSLASH): Define.
133410         (strip_trailing_slashes): Use ISSLASH rather than comparing against
133411         `/'.
133412         From Prashant TR.
133414         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
133415         (dir_name_r): Declare this function as static.
133416         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
133417         manifest itself on a name containing a mix of slashes and
133418         backslashes.
133419         Make this function work with names starting with a DOS-style
133420         drive letter and colon prefix.
133421         (dir_name): Append `.' if necessary.
133422         Based mostly on patches from Prashant TR and Eli Zaretskii.
133424         * lib/dirname.h (dir_name_r): Remove prototype.
133426 2000-12-06  Paul Eggert  <eggert@twinsun.com>
133428         * m4/off_t-format.m4: Remove this file.
133429         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
133431 2000-12-06  Jim Meyering  <meyering@lucent.com>
133433         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
133434         replacement strtoull, we may well need the replacement strtoul, too.
133435         Check for declarations of strtoul and strtoull.
133436         Check for strtol.  Mainly as a cue to cause automake to include
133437         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
133438         Check for limits.h -- strtol.c needs it.
133440 2000-12-05  Jim Meyering  <meyering@lucent.com>
133442         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
133444 2000-12-04  Jim Meyering  <meyering@lucent.com>
133446         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
133447         Also include memory.h, stdlib.h, unistd.h if appropriate.
133448         Reported by Andreas Jaeger (conflicting declaration of malloc).
133450 2000-12-02  Jim Meyering  <meyering@lucent.com>
133452         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
133453         * m4/jm-macros.m4 (jm_MACROS): require it.
133455 2000-12-02  Jim Meyering  <meyering@lucent.com>
133457         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
133459 2000-12-01  Paul Eggert  <eggert@twinsun.com>
133461         * lib/memrchr.c: Include <config.h> before any system include file.
133463 2000-11-30  Jim Meyering  <meyering@lucent.com>
133465         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
133467 2000-11-30  Jim Meyering  <meyering@lucent.com>
133469         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
133471 2000-11-29  Paul Eggert  <eggert@twinsun.com>
133473         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
133475 2000-11-26  Jim Meyering  <meyering@lucent.com>
133477         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
133479 2000-11-22  Paul Eggert  <eggert@twinsun.com>
133481         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
133482         size of (size_t) -1; it's not portable.
133484 2000-11-17  Jim Meyering  <meyering@lucent.com>
133486         * lib/strstr.c: Update from GNU libc.
133488 2000-11-17  Akim Demaille  <akim@epita.fr>
133490         * lib/obstack.h: Formatting changes.
133491         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
133492         prevent type checking.
133493         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
133494         cast the value to (void *): assigning a `foo *' to a `void *'
133495         variable is valid.
133496         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
133498 2000-11-16  Jim Meyering  <meyering@lucent.com>
133500         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
133502 2000-11-11  Jim Meyering  <meyering@lucent.com>
133504         * lib/error.c: Add a couple #includes, merging from GNU libc version.
133506 2000-11-10  Jim Meyering  <meyering@lucent.com>
133508         * lib/obstack.h: Update from GNU libc.
133509         * lib/obstack.c: Likewise.
133511 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
133513         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
133515 2000-11-06  Paul Eggert  <eggert@twinsun.com>
133517         * lib/getusershell.c (setusershell): Use rewind rather than
133518         fseek/fseeko, to avoid configuration hassles with fseeko.
133519         Don't bother opening SHELLS_FILE if shellstream is NULL;
133520         it's not necessary.
133522 2000-11-05  Jim Meyering  <meyering@lucent.com>
133524         * lib/makepath.h (make_dir): Declare.
133525         * lib/makepath.c (make_dir): Remove `static' attribute.
133526         Tweak a comment.
133528 2000-11-04  Jim Meyering  <meyering@lucent.com>
133530         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
133532 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
133534         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
133535         last one in a bucket, advance to the next bucket.
133537 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
133539         * lib/fnmatch.c: Do not comment out all the code if we are using
133540         the GNU C library, because in some cases we are replacing buggy
133541         code in the GNU C library itself.
133543 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
133545         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
133546         (regex_compile): Catch bogus \(\1\).
133548 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133550         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
133551         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
133552         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
133554 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133556         * lib/error.h, getline.h, modechange.h:
133557         Remove "2000" from Copyright line, as the file hasn't been
133558         changed this year other than in the copyright notice.
133560         * lib/xalloc.h: Add "2000" to Copyright line, as this file
133561         was changed this year.
133563 2000-10-29  Jim Meyering  <meyering@lucent.com>
133565         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
133566         renaming.
133567         * m4/ls-mntd-fs.m4: Likewise
133569 2000-10-29  Jim Meyering  <meyering@lucent.com>
133571         * lib/xstat.in: Fix grammar in comment.
133573 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
133575         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
133576         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
133577         doesn't define __restrict_arr.
133579 2000-10-28  Jim Meyering  <meyering@lucent.com>
133581         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
133582         (jm_PREREQ_MEMCHR): New function.
133584 2000-10-28  Jim Meyering  <meyering@lucent.com>
133586         * lib/memchr.c: Update from libc.
133587         Adjust for portability:
133588         [HAVE_STDLIB_H]: Include stdlib.h.
133589         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
133590         Undef __memchr, too.
133591         [!weak_alias]: Define __memchr to memchr.
133593         * lib/regex.c: Update from libc.
133594         * lib/regex.h: Likewise.
133595         * lib/getopt1.c: Likewise.
133596         * lib/memcmp.c: Likewise.
133598         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
133599         Avoid using fseek, when possible -- it's broken by design.
133600         Patch by Ulrich Drepper.
133602 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
133604         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
133605         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
133606         Giving in to popular pressure to shut up the compiler with casts.
133608 2000-10-26  Jim Meyering  <meyering@lucent.com>
133610         * lib/strftime.c: Update from libc.
133612 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
133614         * regex.c: More `unsigned char' -> `re_char' changes.
133615         Also change several `int' into `re_wchar_t'.
133616         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
133617         (PUSH_FAILURE_POINTER): Don't cast any more.
133618         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
133619         We want GCC to complain, since this piece of code makes
133620         re_match non-reentrant, which *should* be fixed.
133621         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
133622         (EXTEND_BUFFER): Use RETALLOC.
133623         (SET_LIST_BIT): Don't cast.
133624         (re_wchar_t): New type.
133625         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
133626         that those two functions will always properly return.
133627         (IMMEDIATE_QUIT_CHECK): Cast to void.
133628         (analyse_first): Use recursion rather than an explicit stack.
133629         (re_compile_fastmap): Can't fail anymore.
133630         (re_search_2): Don't check re_compile_fastmap for failure.
133631         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
133632         Now also sets the new value (passed in a new argument).
133633         (re_match_2_internal): Use it.
133634         Also, use a new var `reg' of type size_t when looping through regs
133635         rather than reuse the inappropriate `mcnt'.
133637 2000-10-25  Jim Meyering  <meyering@lucent.com>
133639         * lib/obstack.c: Update from libc.
133641 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
133643         * regex.c (regex_compile): Change the way of handling a range from
133644         a char less than 256 to a char not less than 256.
133646 2000-10-24  Andrew Innes  <andrewi@gnu.org>
133648         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
133649         NT-Emacs only.
133650         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
133651         so that re_search functions only quit when callers expect them to.
133653 2000-10-23  Jim Meyering  <meyering@lucent.com>
133655         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
133656         wrong.  That set_locale call must not have any side effects.
133657         From Paul Eggert.
133659 2000-10-22  Jim Meyering  <meyering@lucent.com>
133661         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
133662         [CYCLIC]: Remove now-unused definition.
133664         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
133665         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
133666         Suggestion from Ulrich Drepper.
133668 2000-10-21  Jim Meyering  <meyering@lucent.com>
133670         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
133671         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
133672         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
133674 2000-10-21  Jim Meyering  <meyering@lucent.com>
133676         * lib/dirname.c (memrchr): Declare if necessary.
133677         (dir_name): Remove the restriction that there be no
133678         trailing slashes.  Now, this code skips past them, effectively
133679         ignoring them.
133680         [TEST_DIRNAME] (main): New unit tests.
133682         * lib/memrchr.c: New file from GNU libc.
133683         Undef __memrchr, too.
133684         [!weak_alias]: Define __memrchr to memrchr.
133685         Guard weak_alias use with `#ifdef weak_alias'.
133687 2000-10-21  Jim Meyering  <meyering@lucent.com>
133689         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
133690         (dir_name): Use dir_name_r.
133691         * lib/dirname.h (dir_name_r): Declare it.
133693 2000-10-17  Jim Meyering  <meyering@lucent.com>
133695         * lib/quote.h (PARAMS): Define and use.
133696         Reported by Akim Demaille.
133698         * lib/getopt.c: Update from libc.
133700 2000-10-16  Jim Meyering  <meyering@lucent.com>
133702         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
133703         setlocale.
133704         From Jan Fedak.
133706 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
133708         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
133710 2000-09-25  Jim Meyering  <meyering@lucent.com>
133712         * lib/md5.h (rol): Define (from GnuPG).
133714         * lib/sha.c: Give credit (GnuPG) where due.
133715         (M): Use rol rather than open-coding it.
133716         Add a FIXME comment.
133718 2000-09-21  Jim Meyering  <meyering@lucent.com>
133720         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
133721         Reported by Michael Stone.
133723 2000-09-20  Jim Meyering  <meyering@lucent.com>
133725         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
133726         (noinst_HEADERS): Add sha.h.
133727         Based on code from Scott G. Miller and from GnuPG.
133729 2000-09-18  Jim Meyering  <meyering@lucent.com>
133731         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
133732         LIBS. Otherwise, everyone ends up linking with -lelf for some
133733         configurations.
133734         Reported by Mike Stone.
133736 2000-09-15  Jim Meyering  <meyering@lucent.com>
133738         * lib/regex.c: Update from libc.
133740 2000-09-10  Jim Meyering  <meyering@lucent.com>
133742         * lib/getopt.c (_getopt_internal): Update from glibc.
133744 2000-09-09  Jim Meyering  <meyering@lucent.com>
133746         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
133747         think it should be used as a general replacement for isascii.
133748         * lib/fnmatch.c: Likewise.
133749         * lib/mbswidth.c: Likewise
133750         * lib/regex.c: Likewise.
133752         Don't use atoi.
133753         * lib/userspec.c: Include sys/param.h and limits.h.
133754         Include xstrtol.h.
133755         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
133756         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
133757         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
133758         UID, GID.  Check range.
133760 2000-09-06  Jim Meyering  <meyering@lucent.com>
133762         * lib/getopt.c (_getopt_internal): Update from glibc.
133764 2000-08-30  Jim Meyering  <meyering@lucent.com>
133766         * lib/strftime.c: Merge in changes from GNU libc.
133768 2000-08-26  Jim Meyering  <meyering@lucent.com>
133770         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
133771         * m4/fpending.m4: New file.
133773 2000-08-26  Jim Meyering  <meyering@lucent.com>
133775         * lib/closeout.c: Include "__fpending.h".
133776         (close_stdout_status): Return right away if there's nothing to flush.
133778         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
133779         * lib/__fpending.c: New file.
133780         * lib/__fpending.h: New file.
133782 2000-08-20  Jim Meyering  <meyering@lucent.com>
133784         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
133785         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
133786         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
133788 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
133790         Improve fileutils installation on systems where running
133791         programs (like install) can't be unlinked.
133792         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
133793         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
133795 2000-08-07  Paul Eggert  <eggert@twinsun.com>
133797         Standardize on "memory exhausted" instead of "Memory exhausted"
133798         or "virtual memory exhausted".
133799         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
133800         "virtual memory exhausted".
133801         * lib/same.c (same_name): Invoke xalloc_die instead of printing
133802         our own message.
133803         * lib/userspec.c (parse_user_spec): Likewise.
133804         * lib/bumpalloc.h: comment fix
133805         * lib/same.c, userspec.c: Include xalloc.h.
133807         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
133808         not char *const and pointing to a constant array.
133809         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
133810         (xrealloc): Comment fix.
133812         * lib/userspec.c (parse_user_spec):
133813         Don't translate a message until just before returning,
133814         to avoid unnecessary translation.
133816 2000-08-07  Jim Meyering  <meyering@lucent.com>
133818         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
133819         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
133820         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
133821         getgroups.c, gethostname.c, getopt.h, group-member.c,
133822         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
133823         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
133824         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
133825         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
133826         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
133827         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
133828         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
133829         yesno.c: Back out Copyright date changes for each file with no change
133830         this year.  This eases coordination with other programs using the same
133831         source code modules.  From Paul Eggert.
133833 2000-08-06  Paul Eggert  <eggert@twinsun.com>
133835         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
133836         not char, for compatibility with glibc 2.1.3 strftime.c.
133838 2000-08-03  Greg McGary  <greg@mcgary.org>
133840         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
133841         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
133842         (EXTEND_BUFFER): Use them.
133844 2000-08-01  Jim Meyering  <meyering@lucent.com>
133846         * lib/dirname.c (ISSLASH): Define.
133847         (BACKSLASH_IS_PATH_SEPARATOR): Define.
133848         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
133849         both `\' and `/' may be use as path separators.
133850         Based on a patch from Prashant TR.
133852 2000-07-31  Paul Eggert  <eggert@twinsun.com>
133854         * lib/quotearg.c (quotearg_n_options): Don't make the initial
133855         slot vector a constant, since it might get modified.
133857 2000-07-31  Jim Meyering  <meyering@lucent.com>
133859         * lib/xmalloc.c: Use `virtual memory exhausted', not
133860         `Memory exhausted'.
133861         * lib/obstack.c (print_and_abort): Likewise.
133863 2000-07-30  Paul Eggert  <eggert@twinsun.com>
133865         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
133866         buffer, so that the caller can always quote one small
133867         component of a "memory exhausted" message in slot 0.
133868         From a suggestion by Jim Meyering.
133870 2000-07-30  Jim Meyering  <meyering@lucent.com>
133872         * lib/makepath.c (make_path): Quote the other instance, too.
133874         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
133875         (STATIC_BUF_SIZE): Define.
133876         (quotearg_n_options): Use only statically allocated storage when
133877         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
133878         than STATIC_BUF_SIZE.
133880 2000-07-29  Jim Meyering  <meyering@lucent.com>
133882         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
133883         * lib/dirname.c (dir_name): Likewise.
133885         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
133886         `/'.
133888         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
133889         (dir_name): Assert that there are no trailing slashes.
133891 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
133893         * lib/mbswidth.h (mbswidth): Add a flags argument.
133894         (mbswidth): New declaration.
133895         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
133896         * lib/mbswidth.c (mbswidth): Add a flags argument.
133897         (mbsnwidth): New function.
133899 2000-07-24  Jim Meyering  <meyering@lucent.com>
133901         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
133903 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133905         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
133907 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133909         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
133910         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
133911         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
133912         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
133913         invoke multibyte primitives.
133915 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133917         * lib/quotearg.c:
133918         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
133919         so that mbstate_t is always defined.
133921         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
133922         be 1 in at least one GCC installation, and this configuration
133923         error is likely to be common.  Ignoring MB_LEN_MAX hurts
133924         performance on hosts that have mbrtowc but have only unibyte
133925         locales, but I assume these hosts are rare.
133927 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133929         * lib/mbswidth.c (_XOPEN_SOURCE):
133930         Don't define; this causes problems on Solaris 7.
133931         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
133933 2000-07-23  Jim Meyering  <meyering@lucent.com>
133935         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
133936         too: getgrgid, getpwuid, getuid.
133938 2000-07-23  Jim Meyering  <meyering@lucent.com>
133940         * lib/basename.c (base_name): Add an assertion.
133942 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
133944         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
133945         shadow its mbsinit function.
133947 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133949         * lib/mbswidth.h: New file.
133950         * lib/mbswidth.c: New file.
133951         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
133952         (noinst_HEADERS): Add mbswidth.h.
133954 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133956         * lib/config.charset: Add support for FreeBSD. Improve support for
133957         HP-UX and IRIX 6.
133959 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
133961         * m4/mbswidth.m4: New file.
133962         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
133964 2000-07-15  Jim Meyering  <meyering@lucent.com>
133966         * lib/makepath.c: Include quote.h.
133967         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
133968         corresponding argument in a `quote (...)' call.
133969         Give better diagnostics.
133971         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
133972         (noinst_HEADERS): Add quote.h.
133974         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
133975         from tar's src/misc.c.
133976         * lib/quote.h: New file.  Prototypes for same.
133978 2000-07-14  Paul Eggert  <eggert@twinsun.com>
133980         From a suggestion by Bruno Haible.
133981         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
133982         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
133983         to decide whether to define the BeOS workaround macro;
133984         this adjusts to the change to AC_MBSTATE_T.
133986 2000-07-14  Jim Meyering  <meyering@lucent.com>
133988         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
133989         jm_AC_TYPE_UINTMAX_T.
133991 2000-07-13  Paul Eggert  <eggert@twinsun.com>
133993         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
133995         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
133996         quotearg_buffer_restyled): Add support for
133997         clocale_quoting_style.  Undo previous change to
133998         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
133999         and "{RIGHT QUOTATION MARK}" msgids.
134001 2000-07-10  Paul Eggert  <eggert@twinsun.com>
134003         From a suggestion by Bruno Haible.
134004         * m4/mbstate_t.m4 (AC_MBSTATE_T):
134005         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
134006         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
134007         and mbstate_t, to a single-part test that simply defines mbstate_t.
134008         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
134009         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
134011 2000-07-10  Jim Meyering  <meyering@lucent.com>
134013         * m4/strerror_r.m4: Mirror the correction made in autoconf.
134015         * m4/gnu-source.m4: Output to confdefs.h directly.
134016         Suggestion from Akim Demaille.
134018 2000-07-09  Paul Eggert  <eggert@twinsun.com>
134020         The old behavior of quoting `like this' doesn't look good with
134021         newer, ISO-style fonts.  See:
134022         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
134024         Instead, quote "like this" by default.  Let the translator
134025         tailor the locale-specific quoting behavior by providing
134026         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
134028         * lib/quotearg.c (N_): New macro.
134029         (gettext_default): New function.
134030         (quotearg_buffer_restyled): Use
134031         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
134032         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
134034 2000-07-09  Jim Meyering  <meyering@lucent.com>
134036         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
134037         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
134039         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
134040         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
134042 2000-07-09  Jim Meyering  <meyering@lucent.com>
134044         * lib/Most files: Update copyright dates to include 2000.
134046 2000-07-08  Jim Meyering  <meyering@lucent.com>
134048         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
134049         if not defined.
134050         (xgethostname): Remove now-unnecessary #ifdef.
134051         Move declaration of `err' into loop where it's used.
134053 2000-07-05  Paul Eggert  <eggert@twinsun.com>
134054         and Bruno Haible  <haible@clisp.cons.org>
134056         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
134057         only if the test for an object-type mbstate_t fails.  This
134058         prevents us from mistakenly reporting that mbstate_t is a
134059         system object type after we "#define mbstate_t int" to work
134060         around its lack.
134062 2000-07-05  Paul Eggert  <eggert@twinsun.com>
134063         and Bruno Haible  <haible@clisp.cons.org>
134065         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
134067 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134069         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
134070         to strerror_r.
134071         Include <ctype.h> for use of isalpha.
134073 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134075         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
134076         by allocating a larger buffer. Test the gethostname return value for
134077         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
134078         returns an error and ENAMETOOLONG isn't defined.
134080 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134082         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
134083         dimension.
134085 2000-07-04  Jim Meyering  <meyering@lucent.com>
134087         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
134088         of the deprecated AC_CHECKING.
134090 2000-07-04  Jim Meyering  <meyering@lucent.com>
134092         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
134093         Reported by Bruno Haible.
134095 2000-07-04  Jim Meyering  <meyering@lucent.com>
134097         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
134098         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
134099         lacks mbrtowc.
134101 2000-07-03  Paul Eggert  <eggert@twinsun.com>
134103         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
134104         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
134106 2000-07-03  Paul Eggert  <eggert@twinsun.com>
134107         and Bruno Haible  <haible@clisp.cons.org>
134109         * lib/quotearg.c (mbrtowc):
134110         Assign to *pwc, and return 1 only if result is nonzero.
134111         (iswprint): Use ISPRINT when substituting our own mbrtowc.
134113 2000-07-03  Jim Meyering  <meyering@lucent.com>
134115         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
134117 2000-07-03  Jim Meyering  <meyering@lucent.com>
134119         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
134120         This is necessary to get a definition of e.g., UTMP_FILE on
134121         HP-UX 10.20.
134122         From Bob Proulx.
134124 2000-07-02  Jim Meyering  <meyering@lucent.com>
134126         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
134128         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
134129         AC_LIBOBJ(function_name).
134130         * m4/chown.m4: Likewise.
134131         * m4/fnmatch.m4: Likewise.
134132         * m4/ftruncate.m4: Likewise.
134133         * m4/getgroups.m4: Likewise.
134134         * m4/getline.m4: Likewise.
134135         * m4/group-member.m4: Likewise.
134136         * m4/jm-macros.m4: Likewise.
134137         * m4/lstat.m4: Likewise.
134138         * m4/malloc.m4: Likewise.
134139         * m4/memcmp.m4: Likewise.
134140         * m4/nanosleep.m4: Likewise.
134141         * m4/putenv.m4: Likewise.
134142         * m4/realloc.m4: Likewise.
134143         * m4/regex.m4: Likewise.
134144         * m4/stat.m4: Likewise.
134145         * m4/strftime.m4: Likewise.
134147 2000-07-02  Jim Meyering  <meyering@lucent.com>
134149         * lib/quotearg.c (mbstate_t): Don't define here.
134151 2000-07-02  Jim Meyering  <meyering@lucent.com>
134153         * lib/nanosleep.c (SIGCONT): Define if not already defined.
134155 2000-07-01  Jim Meyering  <meyering@lucent.com>
134157         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
134159 2000-07-01  Jim Meyering  <meyering@lucent.com>
134161         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
134162         problem.
134164 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
134166         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
134167         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
134169 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
134171         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
134172         per change in ../m4/ls-mntd-fs.m4.
134173         (read_filesystem_list): Ignore symbolic links.
134175 2000-06-29  Jim Meyering  <meyering@lucent.com>
134177         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
134178         for declaration of strcmp.
134180         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
134182         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
134183         Avoid warning by casting result to `char *' to remove `const'.
134185 2000-06-28  Jim Meyering  <meyering@lucent.com>
134187         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
134188         included by quotearg.c, for which we perform this test.  From
134189         Bruno Haible.
134191 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
134193         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
134194         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
134195         <utmpx.h> exists, put readutmp.o into LIBOBJS.
134197 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
134199         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
134201 2000-06-26  Paul Eggert  <eggert@twinsun.com>
134203         savedir now sets errno on failure and invokes xmalloc to get memory.
134204         Fix a couple of other minor bugs while we're at it.
134206         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
134207         (NAMLEN): Remove macro.
134208         (malloc, realloc): Remove decls.
134209         (stpcpy): Likewise.
134210         ("xalloc.h"): Include.
134211         (NAME_SIZE_DEFAULT): New macro.
134212         (savedir): Use xmalloc / xrealloc to allocate memory.
134213         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
134214         Skip "" directory entries.
134215         Use strlen to calculate directory entry length, since the old method
134216         is rarely used these days and isn't worth supporting.
134217         Don't use a pointer after freeing it.
134218         Check for integer overflow when calculating allocation size.
134219         Use memcpy to copy entries, instead of stpcpy.
134220         Set errno properly when returning NULL.
134221         Check for readdir error.
134223 2000-06-26  Jim Meyering  <meyering@lucent.com>
134225         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
134227 2000-06-25  Jim Meyering  <meyering@lucent.com>
134229         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
134230         Linux header bug when _XOPEN_SOURCE is defined to 500.
134232 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
134234         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
134235         deficiency.
134237 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
134239         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
134240         Include xalloc.h.
134241         Don't include <stdlib.h>.  Don't declare malloc, realloc.
134243 2000-06-24  Jim Meyering  <meyering@lucent.com>
134245         * m4/strerror_r.m4: Revive this file -- to try out an experimental
134246         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
134247         for which strerror does return char*, but which lacks a conveniently
134248         accessible declaration of the function.  If the compile-test says
134249         strerror_r doesn't work, then resort to a `run'-test that works on
134250         BeOS and segfaults on DEC Unix.
134252 2000-06-24  Jim Meyering  <meyering@lucent.com>
134254         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
134256 2000-06-23  Paul Eggert  <eggert@twinsun.com>
134258         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
134259         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
134261 2000-06-23  Paul Eggert  <eggert@twinsun.com>
134263         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
134264         (mbrtowc, mbstate_t): Define substitutes if
134265         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
134266         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
134267         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
134269 2000-06-23  Jim Meyering  <meyering@lucent.com>
134271         * m4/afs.m4: Add missing AC_MSG_RESULT.
134272         Reported by Bruno Haible.
134274         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
134275         Suggestion from Bruno Haible.
134277 2000-06-23  Jim Meyering  <meyering@lucent.com>
134279         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
134281 2000-06-21  Jim Meyering  <meyering@lucent.com>
134283         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
134285 2000-06-21  Jim Meyering  <meyering@lucent.com>
134287         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
134288         (noinst_HEADERS): Add getstr.h.
134290         * lib/getline.c (getstr): Move into a separate file.
134291         * lib/getstr.c (getstr): New file, extracted from getline.c, with
134292         the following changes: new parameter, delim2; both delim[12]
134293         parameters have type `int', not `char'.  The latter would lose
134294         with 8-bit delimiters.
134295         * lib/getstr.h: New file.
134297 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134299         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
134300         than 1024, return a memory chunk of least possible size, instead
134301         of size PATH_MAX + 2. In the loop, increment the size proportionally.
134302         Use free/xmalloc instead of xrealloc to avoid copying for very long
134303         paths.
134305 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134307         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
134308         the empty string.
134310 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134312         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
134313         address, not strdup.  Include <stdlib.h> and don't declare free().
134315 2000-06-19  Jim Meyering  <meyering@lucent.com>
134317         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
134319 2000-06-18  Jim Meyering  <meyering@lucent.com>
134321         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
134323         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
134324         `checking whether...' message to be consistent with that of the
134325         lstat test.
134327 2000-06-18  Jim Meyering  <meyering@lucent.com>
134329         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
134330         Besides, these days every porting target provides a mkdir function.
134332         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
134333         needed. (this snippet comes from src/system.h).
134335 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
134337         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
134339 2000-06-15  Paul Eggert  <eggert@twinsun.com>
134341         * lib/human.c (adjust_value): New function.
134342         (human_readable_inexact): Apply rounding style even when
134343         printing approximate values.
134345 2000-06-14  Paul Eggert  <eggert@twinsun.com>
134347         * lib/human.c (human_readable_inexact): Allow an input block
134348         size that is not a multiple of the output block size, and vice versa.
134349         Reported by Piergiorgio Sartor.
134351 2000-06-14  Paul Eggert  <eggert@twinsun.com>
134353         * lib/getdate.y (get_date): Apply relative times after time
134354         zone indicator, not before.  Reported by Todd A. Jacobs.
134356 2000-06-13  Jim Meyering  <meyering@lucent.com>
134358         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
134360         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
134362 2000-06-12  Paul Eggert  <eggert@twinsun.com>
134364         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
134366 2000-06-12  Jim Meyering  <meyering@lucent.com>
134368         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
134369         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
134370         optional argument.
134371         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
134372         the optional argument, `lib'.
134374 2000-06-08  Jim Meyering  <meyering@lucent.com>
134376         * m4/largefile.m4: Remove file (now that it's part of autoconf).
134378 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134380         Rewrite largefile configuration so that we don't need to run
134381         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
134382         AC_CANONICAL_HOST in configure.in -- jmm]
134384         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
134385         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
134386         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
134387         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
134388         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
134389         All uses changed.
134390         Instead of inspecting the output of getconf, try to compile the
134391         test program without and with the macro definition.
134392         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
134393         for getconf.  Instead, check for the needed flags by compiling
134394         test programs.
134396 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134398         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
134400 2000-06-04  Jim Meyering  <meyering@lucent.com>
134402         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
134403         SunOS 4.1.4 for which gid_t is an unsigned type.
134405 2000-06-03  Jim Meyering  <meyering@lucent.com>
134407         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
134408         now that autoconf requires that.
134410         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
134411         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
134412         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
134414 2000-06-03  Jim Meyering  <meyering@lucent.com>
134416         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
134418 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134420         * m4/glibc21.m4: New file.
134421         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
134423 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134425         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
134426         newer, don't install charset.alias.
134427         * lib/config.charset: Change the Linux/glibc rules so they become empty
134428         on glibc-2.1 or newer.
134430 2000-06-02  Jim Meyering  <meyering@lucent.com>
134432         * lib/mountlist.c: Back out last change.  Instead, do this...
134433         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
134434         me_dummy member using the same `ignore'-testing code.
134435         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
134436         fs_type strings.
134437         From Mark D. Roth.
134439 2000-05-29  Jim Meyering  <meyering@lucent.com>
134441         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
134442         mounts with the `ignore' attribute.  Based on a patch from
134443         Mark D. Roth.
134445 2000-05-28  Jim Meyering  <meyering@lucent.com>
134447         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
134448         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134449         * m4/stat.m4: Likewise.
134450         * m4/lstat.m4: Likewise.
134451         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
134453         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
134454         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
134456 2000-05-26  Jim Meyering  <meyering@lucent.com>
134458         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
134460 2000-05-24  Jim Meyering  <meyering@lucent.com>
134462         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
134463         autoconf requires that.
134464         * m4/lib-check.m4: Likewise.
134465         * m4/jm-macros.m4: Likewise.
134466         * m4/strftime.m4: Likewise.
134468         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
134469         AC_CHECK_DECLS, now that autoconf requires that.
134471 2000-05-22  Jim Meyering  <meyering@lucent.com>
134473         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134474         * m4/lstat.m4: Likewise.
134476 2000-05-22  Jim Meyering  <meyering@lucent.com>
134478         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
134480 2000-05-20  Jim Meyering  <meyering@lucent.com>
134482         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
134483         (jm_PREREQ): Use it.
134485 2000-05-18  Jim Meyering  <meyering@lucent.com>
134487         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
134488         back, too, since it may have been modified by allocate_entry.
134489         (hash_delete): Rewrite to use neither the assignment operator
134490         nor the comma operator in an if-expression.
134492 2000-05-15  Paul Eggert  <eggert@twinsun.com>
134494         * lib/closeout.c:
134495         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
134496         Remove; no longer needed.
134497         "quotearg.h": Add include.
134498         (file_name): Do not bother to explicitly initialize to NULL; it's less
134499         efficient on some hosts.
134500         (close_stdout_status): Remove test as to whether stdout was already
134501         closed; it breaks for the case "echo x | sort >&-".
134502         Quote file name colons.
134503         Do not assume that _("write error") lacks format strings.
134505 2000-05-15  Jim Meyering  <meyering@lucent.com>
134507         * lib/version-etc.c (version_etc_copyright): Update the copyright
134508         string used in all --version output.
134510 2000-05-14  Jim Meyering  <meyering@lucent.com>
134512         * lib/closeout.c (close_stdout_set_file_name): New function.
134513         (close_stdout_status): Use new file-scoped global.
134514         Return right away if fstat says the stdout file descriptor is invalid.
134515         * lib/closeout.h (close_stdout_set_file_name): Declare.
134517 2000-05-10  Jim Meyering  <meyering@lucent.com>
134519         * lib/closeout.c [default_exit_status]: New file-scoped variable.
134520         (close_stdout_set_status): New function.
134521         * lib/closeout.h (close_stdout_set_status): Declare.
134523 2000-05-09  Jim Meyering  <meyering@lucent.com>
134525         * m4/gettext.m4: Rename this...
134526         * m4/libintl.m4: ...to this.
134528 2000-05-08  Jim Meyering  <meyering@lucent.com>
134530         * lib/long-options.c: Don't include closeout.h.
134531         (parse_long_options): Don't call close_stdout for --version.
134533 2000-05-06  Paul Eggert  <eggert@twinsun.com>
134535         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
134536         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
134537         2.1.3 bug.  This avoids a clash when files like regex.c define
134538         _GNU_SOURCE.
134540 2000-05-06  Jim Meyering  <meyering@lucent.com>
134542         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
134543         (AC_REPLACE_FUNCS): Add strnlen.
134545         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
134546         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
134548         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
134549         AC_SEARCH_LIBS call for nanosleep.
134550         (LIB_NANOSLEEP): Set and AC_SUBST.
134552 2000-05-06  Jim Meyering  <meyering@lucent.com>
134554         * lib/strnlen.c: Undefine __strnlen and strnlen.
134555         [!weak_alias]: Define __strnlen to strnlen.
134557         * lib/atexit.c: New file, from libiberty.
134559 2000-05-06  Jim Meyering  <meyering@lucent.com>
134561         * lib/closeout.c (close_stdout_status): Also check for errors on the
134562         stderr stream.
134564 2000-05-05  Jim Meyering  <meyering@lucent.com>
134566         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
134567         AC_SEARCH_LIBS call for clock_gettime.
134568         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
134570         * m4/search-libs.m4: Update from autoconf.
134572         su doesn't work on Solaris 2.6.
134573         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
134574         <shadow.h>.  Reported by Dragos Harabor.
134576 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
134578         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
134579         memcpy instead of xmalloc, xrealloc, path_concat.
134580         (locale_charset): Treat empty environment variables as absent.
134581         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
134583 2000-05-04  Jim Meyering  <meyering@lucent.com>
134585         * lib/getopt.c: Update from glibc.
134586         * lib/obstack.c: Likewise.
134587         * lib/obstack.h: Likewise.
134588         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
134589         file
134591         * lib/regex.h: Likewise.
134592         * lib/strndup.c: Likewise.
134593         * lib/strnlen.c: New file, from glibc.
134595 2000-05-03  Jim Meyering  <meyering@lucent.com>
134597         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
134599 2000-05-02  Paul Eggert  <eggert@twinsun.com>
134601         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
134602         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
134603         compile-time test, rather than inspecting host and OS, to
134604         decide whether to define _LARGEFILE_SOURCE.
134606 2000-05-01  Jim Meyering  <meyering@lucent.com>
134608         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
134610         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
134611         Based on a patch from Bruno Haible.
134613 2000-05-01  Jim Meyering  <meyering@lucent.com>
134615         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
134617 2000-04-29  Jim Meyering  <meyering@lucent.com>
134619         * lib/path-concat.c: Declare strdup only if it's not defined.
134620         * lib/canon-host.c: Likewise.
134622 2000-04-28  Jim Meyering  <meyering@lucent.com>
134624         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
134625         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
134626         is included first, then limits.h is included by locale.h by libintl.h.
134627         From John David Anglin.
134629 2000-04-25  Jim Meyering  <meyering@lucent.com>
134631         * lib/makepath.c (S_IRWXUGO): Define.
134632         (make_path): Always perform explicit chmod if MODE specifies any
134633         of the `special' permission bits.  Prompted by a bug report against
134634         install from Mate Wierdl and Joost van Baal.
134636 2000-04-18  Jim Meyering  <meyering@lucent.com>
134638         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
134639         (jm_PREREQ): Use it.
134641 2000-04-18  Jim Meyering  <meyering@lucent.com>
134643         * lib/README: New file.
134645         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
134646         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
134648 2000-04-17  Jim Meyering  <meyering@lucent.com>
134650         Get it right :-)
134651         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
134652         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
134653         Suggestion from Akim Demaille.
134655 2000-04-17  Jim Meyering  <meyering@lucent.com>
134657         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
134658         the definition of it to rpl_strftime also defined-away the system's
134659         declaration.
134661 2000-04-15  Jim Meyering  <meyering@lucent.com>
134663         Use `C' to denote so-called `contiguous' files, the same way
134664         that tar does.
134665         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
134666         (ftypelet): Use S_ISCTG.
134667         From Michael Deutschmann.
134669 2000-04-14  Jim Meyering  <meyering@lucent.com>
134671         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
134672         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
134673         clobbered.
134675 2000-04-14  Jim Meyering  <meyering@lucent.com>
134677         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
134679 2000-04-13  Jim Meyering  <meyering@lucent.com>
134681         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
134682         AH_VERBATIM to insert required #ifndef into config.h.in.
134683         Suggestion from Akim Demaille.
134685 2000-04-12  Jim Meyering  <meyering@lucent.com>
134687         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
134688         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
134689         Christian Krackowizer.
134691         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
134692         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
134693         (AC_SYS_LARGEFILE): Require.
134694         (AM_C_PROTOTYPES): Require.
134696 2000-04-08  Jim Meyering  <meyering@lucent.com>
134698         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
134699         names don't conflict.  Reported by Eli Zaretskii.
134701 2000-04-07  Jim Meyering  <meyering@lucent.com>
134703         * lib/putenv.c: Move inclusion of errno.h so it follows that of
134704         sys/types.h, to work around system header problems on AIX 3.2.5.
134705         From Bruno Haible.
134707 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
134709         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
134710         bug.  Deal with the different error behavior of Irix iconv.
134712 2000-04-05  Paul Eggert  <eggert@twinsun.com>
134714         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
134715         IRIX if the installer said otherwise.
134717 2000-04-05  Jim Meyering  <meyering@lucent.com>
134719         Portability tweaks required for ultrix4.3.
134720         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
134721         (jm_CHECK_DECLS): Add getutent to the list of functions.
134722         (_jm_DECL_HEADERS): Add utmpx.h.
134723         From John David Anglin.
134725         * m4/strftime.m4: Back out the 2000-04-02 change.
134726         Instead of that change, simply undefine putenv in the test program.
134728 2000-04-05  Jim Meyering  <meyering@lucent.com>
134730         Portability tweaks required for ultrix4.3.
134731         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
134732         getutent.
134733         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
134734         * lib/canon-host.c: Declare strdup.
134735         * lib/path-concat.c: Likewise.
134736         From John David Anglin.
134738 2000-04-04  Jim Meyering  <meyering@lucent.com>
134740         Be more DOS 8.3-friendly.
134741         * lib/ref-add.sin: Renamed from ref-add.sed.in.
134742         * lib/ref-del.sin: Renamed from ref-del.sed.in.
134743         * lib/Makefile.am: Reflect renaming.
134744         Reported by Eli Zaretskii.
134746         Use a temporary file name that won't clash with `charset.alias'
134747         in the DOS 8.3 name space.
134748         * lib/Makefile.am (charset_tmp): Define.
134749         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
134750         (uninstall-local): Likewise.
134751         Reported by Eli Zaretskii.
134753 2000-04-03  Jim Meyering  <meyering@lucent.com>
134755         * m4/gettext.m4: Fix typo in comment.
134757         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
134758         textutils/configure.in).  Suggestion from Paul Eggert.
134759         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
134761 2000-04-02  Paul Eggert  <eggert@twinsun.com>
134763         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
134764         variable in the shell rather than using putenv, which isn't
134765         portable.  This avoids the configure-time inter-test dependency
134766         on the potentially-renamed putenv function.
134768 2000-03-30  Paul Eggert  <eggert@twinsun.com>
134770         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
134771         before checking struct stat.st_blksize, so that
134772         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
134774 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134776         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
134777         since strftime.c uses HAVE_STRFTIME to decide whether to use
134778         the underlying strftime.
134780 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134782         * lib/time/strftime.c (my_strftime): Make sure we call the system
134783         strftime, not ourselves, when invoking the underlying strftime.
134785 2000-03-24  Jim Meyering  <meyering@lucent.com>
134787         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
134788         (charset_alias): Define.
134789         (install-exec-local): Factor out common code.
134790         (uninstall-local): Split lines longer than 80.
134791         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
134792         (SUFFIXES): Define.
134793         (.sed.in.sed): New rule.  Don't redirect directly to $@.
134794         (CLEANFILES): Add ref-add.sed and ref-del.sed.
134796 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
134798         * lib/config.charset: Output a line containing "Packages using this
134799         file".
134800         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
134801         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
134802         ref-del.sed): New rules.
134804 2000-03-17  Jim Meyering  <meyering@lucent.com>
134806         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
134807         Otherwise, include <strings.h>
134809 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
134811         * lib/unicodeio.c (utf8_wctomb): New function.
134812         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
134813         format instead of in UCS-4 with platform dependent endianness.
134815 2000-03-10  Jim Meyering  <meyering@lucent.com>
134817         * m4/lib-check.m4: Look for getspnam in -lgen, too.
134818         From Marco Franzen.
134820 2000-03-07  Paul Eggert  <eggert@twinsun.com>
134822         * lib/savedir.c (savedir): Work even if directory size is
134823         negative; this can happen with some screwy NFS configurations.
134825 2000-03-06  Jim Meyering  <meyering@lucent.com>
134827         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
134828         if it's NULL (because we ran out of memory).  From Bruno Haible.
134830 2000-03-05  Jim Meyering  <meyering@lucent.com>
134832         * lib/localcharset.c ("path-concat.h"): Include.
134833         (get_charset_aliases): Use path_concat instead of ANSI string
134834         concatenation.
134836         * lib/unicodeio.h (PARAMS): Define.
134837         Use it to guard prototype.
134839 2000-03-04  Jim Meyering  <meyering@lucent.com>
134841         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
134842         for lib/localcharset.c.
134844 2000-03-04  Jim Meyering  <meyering@lucent.com>
134846         * lib/Makefile.am (install-exec-local): Create $(libdir) before
134847         installing into it.
134848         (uninstall-local): Uncomment this rule so `make distcheck' works
134849         once again.
134851         * lib/unicodeio.c (<errno.h>): Include it.
134852         (errno): Declare if not defined.
134854         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
134856         * lib/config.charset: New version, incorporating remarks from a linux
134857         i18n mailing list.  From Bruno Haible.
134859 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
134861         * m4/codeset.m4: New file.
134862         * m4/iconv.m4: New file.
134863         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
134865 2000-03-03  Jim Meyering  <meyering@lucent.com>
134867         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
134869 2000-03-02  Jim Meyering  <meyering@lucent.com>
134871         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
134872         the messages come out on separate lines.
134874         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
134875         rather than jm_CHECK_DECLARATIONS.
134876         * m4/decl.m4: Remove now-unused file.
134878         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
134879         geteuid.
134881 2000-03-02  Jim Meyering  <meyering@lucent.com>
134883         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
134885 2000-03-01  Jim Meyering  <meyering@lucent.com>
134887         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
134888         * lib/unicodeio.c: Likewise.
134890 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
134892         * lib/config.charset: New file.
134893         * lib/localcharset.c: New file.
134894         * lib/unicodeio.h, lib/unicodeio.c: New files.
134895         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
134896         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
134897         (noinst_HEADERS): Add unicodeio.h.
134898         (all-local, install-exec-local, charset.alias): New targets.
134900 2000-02-28  Paul Eggert  <eggert@twinsun.com>
134902         * lib/quotearg.c (ALERT_CHAR): New macro.
134903         (quotearg_buffer_restyled): Use it.
134905 2000-02-27  Jim Meyering  <meyering@lucent.com>
134907         * m4/check-decl.m4: Add getenv to the list.
134909 2000-02-27  Jim Meyering  <meyering@lucent.com>
134911         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
134912         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
134914         * lib/backupfile.c: Guard inclusion of stdlib.h with
134915         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
134916         Declare malloc if needed.
134918         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
134919         `#ifndef HAVE_DECL..'
134920         now that autoconf always defines the HAVE_DECL_ symbols.
134921         * lib/human.c: Likewise.
134922         * lib/same.c: Likewise.
134923         * lib/strtoumax.c: Likewise.
134925         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
134926         declaration check was not run.
134927         * lib/hash.c: Likewise.
134928         * lib/human.c: Likewise.
134929         * lib/same.c: Likewise.
134930         * lib/strtoumax.c: Likewise.
134932         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
134933         `.', then first look up the entire `.'-containing string as a login
134934         name.
134936 2000-02-23  Jim Meyering  <meyering@lucent.com>
134938         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
134939         in place of my hack.
134941 2000-02-18  Paul Eggert  <eggert@twinsun.com>
134943         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
134944         (textint): New typedef.
134945         (parser_control): Member year changed from int to textint.
134946         All uses changed.
134947         (YYSTYPE): Removed; replaced by %union with int and textint members.
134948         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
134949         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
134950         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
134951         (tSNUMBER, tUNUMBER): Now of type <textintval>.
134952         (date, number, to_year): Use width of number in digits, not its value,
134953         to determine whether it's a 2-digit year, or a 2-digit time.
134954         (yylex): Store number of digits of numeric tokens.
134955         Reported by John Kendall.
134957         (parser_control): Changed from struct parser_control to typedef (for
134958         consistency).  All uses changed.
134960         (tID): Removed; not used.
134961         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
134963 2000-02-14  Paul Eggert  <eggert@twinsun.com>
134965         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
134966         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
134968 2000-02-12  Jim Meyering  <meyering@lucent.com>
134970         * lib/userspec.c (ISDIGIT): Define it.
134971         (isdigit): Remove definition.
134972         (is_number): Use ISDIGIT, not isdigit.
134973         <libintl.h>: Include.
134974         (_ and N_): Define.
134975         (parse_user_spec): Mark translatable strings.
134977 2000-02-10  Jim Meyering  <meyering@lucent.com>
134979         With these changes, nanosleep.[ch] are finally enough like the other
134980         lib/* replacement files to compile on a few more losing systems.
134982         * lib/nanosleep.h: Don't include config.h.
134983         Remove prototype from declaration of nanosleep.
134984         (PARAMS): Remove now-unneeded definition.
134985         * lib/nanosleep.c: #undef nanosleep.
134986         (rpl_nanosleep): Rename from nanosleep.
134988 2000-02-10  Jim Meyering  <meyering@lucent.com>
134990         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
134991         gnu_nanosleep to rpl_nanosleep.
134993 2000-02-09  Jim Meyering  <meyering@lucent.com>
134995         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
134996         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
134998 2000-02-08  Akim Demaille  <akim@epita.fr>
135000         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
135001         `[' and `]' and remove uses of `changequote'.
135002         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
135003         (AC_SYS_LARGEFILE): Likewise.
135004         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
135005         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
135006         of changequote.
135007         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
135008         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
135009         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
135010         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
135012 2000-02-05  Jim Meyering  <meyering@lucent.com>
135014         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
135015         Remove explicit use of AC_HEADER_TIME.  It is required by
135016         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
135017         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
135018         in autoconf whereby the expansion of the latter ended up preceding
135019         the expansion of its prerequisite, AC_HEADER_TIME.
135020         Reported by Volker Borchert.
135022 2000-02-03  Jim Meyering  <meyering@lucent.com>
135024         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
135026 2000-02-03  Jim Meyering  <meyering@lucent.com>
135028         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
135029         rather than with `#if HAVE_UTMPNAME'.
135031 2000-02-02  Jim Meyering  <meyering@lucent.com>
135033         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
135034         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
135035         Reported by Eli Zaretskii.
135037 2000-02-01  Jim Meyering  <meyering@lucent.com>
135039         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
135041 2000-01-31  Jim Meyering  <meyering@lucent.com>
135043         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
135044         functions.  Add the time.h and sys/time.h headers along with the
135045         AC_REQUIRE'ment of AC_HEADER_TIME.
135047 2000-01-31  Jim Meyering  <meyering@lucent.com>
135049         * lib/nanosleep.h (nanosleep): Guard declaration with
135050         `#if ! HAVE_DECL_NANOSLEEP'.
135051         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
135052         the declaration in that vendor's sys/timers.h.
135053         Reported by Christian Krackowizer.
135055         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
135056         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
135057         (ISPRINT): Likewise.
135058         Reported by Tom Tromey.
135060 2000-01-30  Jim Meyering  <meyering@lucent.com>
135062         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
135064         * m4/prereq.m4 (utmp_includes): Define.
135065         Check for ut_user and ut_name members in both struct utmpx
135066         and struct utmp.
135068 2000-01-30  Jim Meyering  <meyering@lucent.com>
135070         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
135071         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
135072         header files where only utmpx.ut_user is declared.
135074         * lib/readutmp.h (UT_USER): Define.
135076 2000-01-29  Jim Meyering  <meyering@lucent.com>
135078         * m4/lib-check.m4: New file containing library-related checks from
135079         fileutils and sh-utils (textutils had none).
135081 2000-01-28  Jim Meyering  <meyering@lucent.com>
135083         * m4/perl.m4: Change format of warning message to look more like that
135084         from the missing script.  Suggestion from François Pinard.
135086 2000-01-25  Jim Meyering  <meyering@lucent.com>
135088         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
135089         well as time.h in the compile check.
135090         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
135091         Fix typo in cross-compiling case: s/yes/no/.
135093 2000-01-23  Jim Meyering  <meyering@lucent.com>
135095         * m4/jm-macros.m4: Move df-related tests here from
135096         fileutils/configure.in
135098         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
135099         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
135101         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
135102         s/space/ac_fsusage_space/.
135103         (jm_FILE_SYSTEM_USAGE): Take two parameters.
135105         * m4/ftruncate.m4: New file (derived from part of
135106         fileutils/configure.in).
135107         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
135108         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
135110         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
135111         AC_SUBST these here, rather than just in sh-util/configure.in, so
135112         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
135113         all the same.
135114         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
135115         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
135116         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
135117         (AC_SUBST(POW_LIBM)): Likewise.
135118         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
135120 2000-01-23  Jim Meyering  <meyering@lucent.com>
135122         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
135123         obstack.c.
135125 2000-01-22  Jim Meyering  <meyering@lucent.com>
135127         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
135129         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
135131         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
135132         configure.in
135133         (AC_CHECK_HEADERS): Likewise for sh-utils.
135134         (AC_CHECK_HEADERS): Likewise for textutils.
135135         Merge the three lists of headers.
135137         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
135138         from fileutils' configure.in.
135140         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
135141         code. Moved tests into their own function (_jm_DECL_HEADERS) in
135142         check-decl.m4.
135144         * m4/check-decl.m4: Use #if rather than #ifdef.
135145         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
135146         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
135147         (_jm_DECL_HEADERS): Define new function.
135148         (jm_CHECK_DECLARATIONS): Require it.
135150 2000-01-22  Jim Meyering  <meyering@lucent.com>
135152         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
135153         [! HAVE_DECL_STRTOULL]: Declare strtoull.
135154         Required for some AIX systems.  Reported by Christian Krackowizer.
135155         [TESTING] (main): New function.
135157         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
135158         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
135159         letters.
135161         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
135162         iswprint.
135164         * lib/strverscmp.c (ISDIGIT): Define.
135165         (strverscmp): Use ISDIGIT, not isdigit.
135167 2000-01-19  Jim Meyering  <meyering@lucent.com>
135169         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
135170         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
135171         defines `struct timespec' in <sys/time.h>
135173         * m4/c-bs-a.m4: Remove uses of changequote altogether.
135174         Thanks to Akim for explaining.
135176 2000-01-17  Paul Eggert  <eggert@twinsun.com>
135178         * lib/nanosleep.c (nanosleep):
135179         Don't use SA_INTERRUPT to decide whether to call sigaction, as
135180         POSIX.1 doesn't require SA_INTERRUPT and some systems
135181         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
135182         it's been part of POSIX.1 since day 1 (in 1988).
135184 2000-01-17  Jim Meyering  <meyering@lucent.com>
135186         * lib/interlock: Remove unused file.  Reported by François Pinard.
135188 2000-01-16  Paul Eggert  <eggert@twinsun.com>
135190         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
135191         alert, backslash, formfeed, and vertical tab unnecessarily in
135192         shell quoting style.
135194 2000-01-16  Jim Meyering  <meyering@lucent.com>
135196         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
135197         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
135198         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
135199         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
135201 2000-01-16  Jim Meyering  <meyering@lucent.com>
135203         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
135204         because the latter didn't work.
135206 2000-01-15  Jim Meyering  <meyering@lucent.com>
135208         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
135209         (AC_REPLACE_FUNCS): Add memcpy and memset.
135210         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
135211         Add strpbrk.
135212         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
135214 2000-01-12  Jim Meyering  <meyering@lucent.com>
135216         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
135217         (jm_PREREQ): Use it.
135218         (jm_PREREQ_READUTMP): New macro.
135219         (jm_PREREQ): Use it.
135221 2000-01-11  Paul Eggert  <eggert@twinsun.com>
135223         Quote multibyte characters correctly.
135224         * m4/c-bs-a.m4: New file.
135225         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
135226         (jm_PREREQ): Use it.
135228 2000-01-11  Paul Eggert  <eggert@twinsun.com>
135230         * m4/uintmax_t.m4: Port to autoconf 2.13.
135232 2000-01-08  Jim Meyering  <meyering@ascend.com>
135234         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
135235         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
135237 2000-01-04  Jim Meyering  <meyering@ascend.com>
135239         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
135240         jm_STRUCT_DIRENT_D_TYPE.
135241         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
135242         jm_STRUCT_DIRENT_D_INO.
135243         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
135244         jm_STRUCT_UTIMBUF.
135245         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
135246         renamings.
135247         * m4/utime.m4: Likewise.
135249         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
135250         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
135252 2000-01-03  Paul Eggert  <eggert@twinsun.com>
135254         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
135255         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
135257 2000-01-02  Jim Meyering  <meyering@ascend.com>
135259         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
135260         remember if this is necessary.
135262 1999-12-26  Jim Meyering  <meyering@ascend.com>
135264         * m4/jm-macros.m4: Use it here.
135265         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
135267 1999-12-23  Jim Meyering  <meyering@ascend.com>
135269         * m4/jm-macros.m4: Check for clock_gettime (moved from
135270         fileutils/configure.in)
135271         Check for gettimeofday.
135273 1999-12-20  Jim Meyering  <meyering@ascend.com>
135275         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
135276         autoconf-2.14a-1999-12-20.
135278 1999-12-19  Jim Meyering  <meyering@ascend.com>
135280         * m4/lstat-slash.m4: New file.
135281         * m4/jm-macros.m4: Use the new macro:
135282         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
135284 1999-12-07  Jim Meyering  <meyering@ascend.com>
135286         * m4/perl.m4: Require that File::Compare be available, too.
135287         Too many systems seem to lack it.
135289         * m4/strftime.m4: Add checks for most of the cpp macros tested in
135290         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
135292 1999-11-18  Paul Eggert  <eggert@twinsun.com>
135294         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
135295         problem with the QNX 4.25 shell, which doesn't propagate exit
135296         status of failed commands inside shell assignments.
135298 1999-11-17  Jim Meyering  <meyering@ascend.com>
135300         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
135302 1999-11-07  Jim Meyering  <meyering@ascend.com>
135304         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
135306 1999-11-06  Jim Meyering  <meyering@ascend.com>
135308         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
135309         * m4/jm-macros.m4 (jm_MACROS): Use it here.
135311 1999-11-05  Jim Meyering  <meyering@ascend.com>
135313         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
135314         configure.in of textutils, fileutils, and sh-utils into this one
135315         (shared between those packages) file.
135316         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
135317         AC_STRUCT_ST_BLKSIZE.
135319 1999-11-03  Jim Meyering  <meyering@ascend.com>
135321         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
135322         of AC_CHECK_TYPE checks includes unistd.h.
135323         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
135324         Suggestion from Akim Demaille.
135326 1999-10-30  Jim Meyering  <meyering@ascend.com>
135328         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
135329         m4-quoted string.
135330         * m4/ls-mntd-fs.m4: Likewise.
135331         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
135332         * m4/jm-winsz1.m4: Likewise.
135334         * m4/const.m4: Remove file, since the fix made it into the experimental
135335         version of autoconf.
135336         * m4/mktime.m4: Likewise.
135338         * m4/check-type.m4: Remove file, now that the latest version of
135339         AC_CHECK_TYPE takes a third arg to specify additional #includes.
135341         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
135342         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
135343         AC_CHECK_TYPE.
135345 1999-10-04  Jim Meyering  <meyering@ascend.com>
135347         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
135349 1999-09-22  Paul Eggert  <eggert@twinsun.com>
135351         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
135352         2.95.1 bug with HP-UX 10.20.
135354 1999-09-17  Jim Meyering  <meyering@ascend.com>
135356         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
135357         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
135358         due to missing strdup (against sh-utils-2.0).
135360 1999-08-29  Jim Meyering  <meyering@ascend.com>
135362         * m4/jm-macros.m4: Require jm_BISON.
135363         * m4/bison.m4: New file.
135365 1999-08-17  Paul Eggert  <eggert@twinsun.com>
135367         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
135368         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
135370 1999-08-05  Jim Meyering  <meyering@ascend.com>
135372         * m4/getline.m4: Rename test file from conftestdata to conftest.data
135373         to avoid conflicts with `conftest' on 8+3 filesystems.
135374         Suggestion from Eli Zaretskii.
135376 1999-08-04  Jim Meyering  <meyering@ascend.com>
135378         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
135379         fileutils and sh-utils (textutils's getline test was inadequate).
135380         (AM_FUNC_GETLINE): Run this test.
135381         (AC_CHECK_FUNCS): Check for getdelim.
135382         Reported by Bob Proulx.
135384 1999-08-02  Jim Meyering  <meyering@ascend.com>
135386         * m4/jm-macros.m4: Add a comment.
135388 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135390         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
135391         <inttypes.h> defines strtoumax as a macro (and not as a
135392         function).
135394 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135396         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
135397         that we can shift, multiply and divide unsigned long long
135398         values; Ultrix cc can't do it.
135400 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135402         * m4/mktime.m4: New file, which is a preview of what should appear
135403         in the next public autoconf release.
135405 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135407         * m4/lfs.m4: Remove this file.
135408         * m4/largefile.m4: New file.  It contains the old contents of
135409         lfs.m4, except that all names with prefix AC_LFS have been
135410         changed to use the prefix AC_SYS_LARGEFILE instead, to be
135411         compatible with future autoconf versions.  Also, some minor m4
135412         quoting problems have been fixed.
135414 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135416         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
135417         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
135418         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
135419         and simplify the shell code.
135421 1999-08-01  Jim Meyering  <meyering@ascend.com>
135423         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
135424         m4.
135426 1999-07-20  Jim Meyering  <meyering@ascend.com>
135428         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
135430 1999-07-15  Jim Meyering  <meyering@ascend.com>
135432         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
135434 1999-05-22  Jim Meyering  <meyering@ascend.com>
135436         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
135438 1999-05-20  Jim Meyering  <meyering@ascend.com>
135440         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
135441         Add a colon after each `then' in case $4 is empty.
135443 1999-05-16  Jim Meyering  <meyering@ascend.com>
135445         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
135447 1999-05-10  Jim Meyering  <meyering@ascend.com>
135449         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
135451         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
135452         AC_FUNC_MKTIME.
135454 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
135456         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
135458 1999-05-04  Paul Eggert  <eggert@twinsun.com>
135460         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
135461         not CPPFLAGS, so that linking works correctly in IRIX.
135463 1999-04-30  Paul Eggert  <eggert@twinsun.com>
135465         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
135467 1999-04-20  Paul Eggert  <eggert@twinsun.com>
135469         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
135470         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
135471         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
135472         jm_AC_TYPE_UNSIGNED_LONG_LONG.
135473         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
135475         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
135477 1999-04-20  Jim Meyering  <meyering@ascend.com>
135479         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
135480         AC_REPLACE xstroull if necessary.  From Paul Eggert.
135481         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
135483 1999-04-18  Jim Meyering  <meyering@ascend.com>
135485         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
135486         * m4/jm-macros.m4: Use it.
135488 1999-04-06  Jim Meyering  <meyering@ascend.com>
135490         * m4/strftime.m4: Remove test for %f.
135492 1999-03-29  Jim Meyering  <meyering@ascend.com>
135494         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
135495         superset of the AC_TYPE_* checks in the textutils, fileutils,
135496         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
135497         AC_TYPE_PID_T.
135499 1999-03-28  Jim Meyering  <meyering@ascend.com>
135501         * m4/jm-macros.m4: Define GNU_PACKAGE here.
135502         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
135503         replaced e.g., in the *.sh files of the sh-utils.
135505 1999-03-20  Jim Meyering  <meyering@ascend.com>
135507         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
135508         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
135509         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
135511 1999-03-19  Jim Meyering  <meyering@ascend.com>
135513         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
135515 1999-03-12  Jim Meyering  <meyering@ascend.com>
135517         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
135519 1999-03-07  Jim Meyering  <meyering@ascend.com>
135521         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
135522         declared.
135524 1999-02-17  Jim Meyering  <meyering@ascend.com>
135526         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
135527         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
135529 1999-02-07  Jim Meyering  <meyering@ascend.com>
135531         * m4/group-member.m4: New file -- extracted from sh-utils'
135532         configure.in.
135534         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
135535         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
135537 1999-02-06  Jim Meyering  <meyering@ascend.com>
135539         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
135540         * m4/fnmatch.m4: Likewise.
135541         * m4/getgroups.m4: Likewise.
135542         * m4/lstat.m4: Likewise.
135543         * m4/malloc.m4: Likewise.
135544         * m4/putenv.m4: Likewise.
135545         * m4/realloc.m4: Likewise.
135546         * m4/regex.m4: Likewise.
135547         * m4/stat.m4: Likewise.
135548         * m4/strftime.m4: Likewise.
135549         Suggestion from Alain Magloire.
135551         * m4/chown.m4: Use `.$ac_objext', not `.o'.
135552         * m4/fnmatch.m4: Likewise.
135553         * m4/getgroups.m4: Likewise.
135554         * m4/getline.m4: Likewise.
135555         * m4/lstat.m4: Likewise.
135556         * m4/malloc.m4: Likewise.
135557         * m4/memcmp.m4: Likewise.
135558         * m4/putenv.m4: Likewise.
135559         * m4/realloc.m4: Likewise.
135560         * m4/regex.m4: Likewise.
135561         * m4/stat.m4: Likewise.
135562         * m4/strftime.m4: Likewise.
135563         Suggestion from Alain Magloire.
135565         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
135566         an argument.
135568         * m4/regex.m4: Add a run-time Test for proper operation of
135569         re_compile_pattern.
135571 1999-01-31  Jim Meyering  <meyering@ascend.com>
135573         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
135575 1999-01-30  Jim Meyering  <meyering@ascend.com>
135577         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
135579         * m4/jm-mktime.m4: Make this a wrapper around the official
135580         AM_FUNC_MKTIME rather than my private copy, now that the official one
135581         is up to date.
135582         * m4/mktime.m4: Remove file.
135584         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
135585         * m4/uptime.m4: Likewise.
135586         * m4/uintmax_t.m4: Likewise.
135588 1999-01-28  Jim Meyering  <meyering@ascend.com>
135590         * m4/jm-macros.m4: Use jm_AFS.
135591         * m4/afs.m4: New file (from fileutils' configure.in).
135593         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
135594         * m4/chown.m4: Likewise.
135595         * m4/d-ino.m4: Likewise.
135596         * m4/d-type.m4: Likewise.
135597         * m4/fnmatch.m4: Likewise.
135598         * m4/getgroups.m4: Likewise.
135599         * m4/gettext.m4: Likewise.
135600         * m4/jm-mktime.m4: Likewise.
135601         * m4/jm-winsz2.m4: Likewise.
135602         * m4/lcmessage.m4: Likewise.
135603         * m4/ls-mntd-fs.m4: Likewise.
135604         * m4/malloc.m4: Likewise.
135605         * m4/memcmp.m4: Likewise.
135606         * m4/putenv.m4: Likewise.
135607         * m4/realloc.m4: Likewise.
135608         * m4/st_mtim.m4: Likewise.
135609         * m4/strftime.m4: Likewise.
135611 1999-01-16  Jim Meyering  <meyering@ascend.com>
135613         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
135614         (ARGMATCH_DIE_DECL): Define.
135616 1999-01-12  Jim Meyering  <meyering@ascend.com>
135618         * m4/Makefile.am.in: Rewrite to avoid using fmt.
135619         Reported by Lars Hecking.
135621 1999-01-10  Jim Meyering  <meyering@ascend.com>
135623         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
135624         gross kludge.
135625         * m4/inttypes_h.m4: Likewise.
135626         * m4/lstat.m4: Likewise.
135627         * m4/malloc.m4: Likewise.
135628         * m4/readdir.m4: Likewise.
135629         * m4/realloc.m4: Likewise.
135630         * m4/st_dm_mode.m4: Likewise.
135631         * m4/stat.m4: Likewise.
135632         * m4/utimbuf.m4: Likewise.
135633         * m4/utimes.m4: Likewise.
135635         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
135636         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
135637         comments in config.h.in are meaningful.
135639         * m4/jm-macros.m4: Require autoconf-2.13 here.
135641         * m4/regex.m4: By default, don't use the included regex.c on systems
135642         with glibc 2.  Suggestion from Uli Drepper.
135644 1999-01-02  Jim Meyering  <meyering@ascend.com>
135646         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
135648 1998-12-18  Jim Meyering  <meyering@ascend.com>
135650         * m4/Makefile.am.in (Makefile.am): Simplify rule.
135651         Based on a suggestion from Lars Hecking.
135653 1998-11-16  Paul Eggert  <eggert@twinsun.com>
135655         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
135657 1998-11-16  Jim Meyering  <meyering@ascend.com>
135659         * m4/lfs.m4: Double-quote the `uname...` expression.
135661 1998-11-14  Jim Meyering  <meyering@ascend.com>
135663         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
135664         * m4/stat.m4: Likewise.
135666 1998-11-03  Jim Meyering  <meyering@ascend.com>
135668         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
135669         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
135671 1998-10-18  Jim Meyering  <meyering@ascend.com>
135673         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
135675 1998-10-17  Jim Meyering  <meyering@ascend.com>
135677         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
135678         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
135679         calls for those previously hard-coded headers.  Instead, take a new
135680         parameter.
135681         (jm_CHECK_DECLARATIONS): Reflect interface change.
135682         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
135683         (jm_CHECK_DECL_LOCALTIME_R): New macro.
135685         * m4/mktime.m4: Test for spring-forward gap before long-running test.
135687 1998-10-14  Jim Meyering  <meyering@ascend.com>
135689         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
135690         instead of "TZ=America/Vancouver".  From Paul Eggert.
135692 1998-10-11  Jim Meyering  <meyering@ascend.com>
135694         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
135695         This adds a test for a recently added compatibility fix for mktime.c.
135696         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
135698 1998-09-27  Jim Meyering  <meyering@ascend.com>
135700         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
135702         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
135703         ../configure.in, including a change from Gordon Matzigkeit to allow
135704         cross-compiling for the Hurd.
135706         * m4/glibc.m4: New file/macro to test for the GNU C Library
135707         versions 1 and 2.  From Gordon Matzigkeit.
135708         Indent.
135710 1998-09-21  Jim Meyering  <meyering@ascend.com>
135712         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
135714 1998-08-18  Paul Eggert  <eggert@twinsun.com>
135716         Port nanosecond-resolution times to UnixWare 2.1.2 and
135717         pedantic Solaris 2.6.
135719         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
135720         AC_STRUCT_ST_MTIM.
135721         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
135722         Generate name of ns member, instead of just 1 or undef.
135723         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
135725 1998-08-15  Jim Meyering  <meyering@ascend.com>
135727         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
135728         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
135729         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
135730         instead of jm_TYPE_SSIZE_T.
135732 1998-08-12  Jim Meyering  <meyering@ascend.com>
135734         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
135736 1998-08-02  Jim Meyering  <meyering@ascend.com>
135738         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
135739         in acconfig.h manually.
135741 1998-07-31  Paul Eggert  <eggert@twinsun.com>
135743         * m4/st_mtim.m4: New file.
135745 1998-07-28  Jim Meyering  <meyering@ascend.com>
135747         * m4/utimes.m4: Undef stat.
135749 1998-07-25  Jim Meyering  <meyering@ascend.com>
135751         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
135752         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
135754 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
135756         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
135757         uid and gid actually remain unchanged.
135759 1998-07-07  Jim Meyering  <meyering@ascend.com>
135761         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
135763 1998-07-04  Jim Meyering  <meyering@ascend.com>
135765         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
135766         to prove that this macro can be used in packages without regex.c.
135768 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
135770         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
135771         is to be used.
135773 1998-07-03  Jim Meyering  <meyering@ascend.com>
135775         * m4/gettext.m4: Add -lintl if it's found to be necessary.
135777         * m4/gettext.m4: New file -- from gettext-0.10.35.
135778         * m4/lcmessage.m4: Likewise.
135779         * m4/progtest.m4: Likewise.
135781         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
135782         * m4/jm-macros.m4: Require the new macro.
135784 1998-06-29  Jim Meyering  <meyering@ascend.com>
135786         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
135787         for the definition of NGROUPS (used in a system header included
135788         by sys/mount.h).
135790 1998-06-28  Jim Meyering  <meyering@ascend.com>
135792         * m4/ls-mntd-fs.m4: New file.
135793         * m4/fstypename.m4: New file.
135795         * m4/jm-macros.m4: Require the new macro.
135796         * m4/jm-glibc-io.m4: New file.
135798 1998-05-19  Jim Meyering  <meyering@ascend.com>
135800         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
135801         * m4/lchown.m4: New file.
135803         * m4/Makefile.am.in: New file.
135804         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
135806 1998-05-14  Jim Meyering  <meyering@ascend.com>
135808         * m4/Makefile.am (EXTRA_DIST): Add them.
135809         * m4/jm-macros.m4: New file.
135810         * m4/utimbuf.m4: New file.
135812 1998-05-12  Jim Meyering  <meyering@ascend.com>
135814         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
135816 1998-05-11  Jim Meyering  <meyering@ascend.com>
135818         * m4/isc-posix.m4: New file.
135820 1998-05-10  Jim Meyering  <meyering@ascend.com>
135822         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
135824 1998-05-09  Jim Meyering  <meyering@ascend.com>
135826         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
135827         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
135828         with automake.
135830         * m4/ssize_t.m4: New file.
135831         * m4/mktime.m4: Remove file -- the new automake has this now.
135833 1998-04-26  Jim Meyering  <meyering@ascend.com>
135835         * m4/assert.m4: New file.
135836         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
135838 1998-04-05  Jim Meyering  <meyering@ascend.com>
135840         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
135841         (jm_PREREQ): Use it here.
135843 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
135845         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
135846         in acconfig.h.
135848 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
135850         * m4/prereq.m4: New file.
135851         * m4/error.m4: New file.
135852         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
135854 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
135856         * m4/getline.m4: Don't set am_cv_func_working_getline before the
135857         cache-check for the same variable -- that defeated the purpose of
135858         the test; the test program was never run.  This was a problem only
135859         on systems with losing getline functions -- HP-UX 10.20 is one.
135860         Reported by Bjorn Helgaas.
135862 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
135864         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
135866 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
135868         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
135870         * m4/const.m4: New file.  Use an initializer in this declaration
135871         typedef int charset[2]; const charset x;
135872         Reported by Bob Glickstein.
135874 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
135876         * m4/chown.m4: Fix reversed types on -1 args to chown.
135877         From Kaveh Ghazi.
135879 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
135881         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
135882         Add lseek and memchr.
135884         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
135885         T.E.Dickey <dickey@clark.net> said that some older preprocessors
135886         have a 20-character limit on names.
135888 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
135890         * m4/inttypes_h.m4: New file.
135891         * m4/uintmax_t.m4: New file.
135892         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
135895         -----
135897         Local Variables:
135898         coding: utf-8
135899         End:
135901         Copyright (C) 1997-2021 Free Software Foundation, Inc.
135903         Copying and distribution of this file, with or without
135904         modification, are permitted provided the copyright notice
135905         and this notice are preserved.